lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Classes | Namespaces | Functions
native_method.hpp File Reference

Go to the source code of this file.

Classes

struct  jni::NativeMethodTraits< M, Enable >
 
struct  jni::NativeMethodTraits< R(Args...) >
 
struct  jni::NativeMethodTraits< R(*)(Args...) >
 
struct  jni::NativeMethodTraits< R(T::*)(Args...) const >
 
struct  jni::NativeMethodTraits< R(T::*)(Args...) >
 
struct  jni::NativeMethodTraits< M, std::enable_if_t< std::is_class< M >::value > >
 
struct  jni::NativeMethodMaker< T,... >
 High-level, lambda. More...
 
struct  jni::NativeMethodMaker< R(T::*)(JNIEnv &, Subject, Args...) const >
 
struct  jni::NativeMethodMaker< void(T::*)(JNIEnv &, Subject, Args...) const >
 
struct  jni::NativeMethodMaker< R(JNIEnv &, Subject, Args...), method >
 High-level, function pointer. More...
 
struct  jni::NativeMethodMaker< void(JNIEnv &, Subject, Args...), method >
 
class  jni::NativePeerLambdaMethod< L, class >
 High-level peer, lambda. More...
 
class  jni::NativePeerLambdaMethod< L, R(L::*)(JNIEnv &, P &, Args...) const >
 
class  jni::NativePeerFunctionPointerMethod< M, >
 High-level peer, function pointer. More...
 
class  jni::NativePeerFunctionPointerMethod< R(JNIEnv &, P &, Args...), method >
 
class  jni::NativePeerMemberFunctionMethod< M, M >
 High-level peer, member function pointer. More...
 
class  jni::NativePeerMemberFunctionMethod< R(P::*)(JNIEnv &, Args...), method >
 
struct  jni::NativePeerHelper< Peer, TagType, class >
 
struct  jni::NativePeerHelper< Peer, TagType, std::unique_ptr< Peer >(JNIEnv &, Args...) >
 

Namespaces

 jni
 

Functions

template<class M >
auto jni::MakeNativeMethod (const char *name, const char *sig, const M &m, std::enable_if_t< std::is_class< M >::value > *=nullptr)
 Low-level, lambda. More...
 
template<class M , M method>
auto jni::MakeNativeMethod (const char *name, const char *sig)
 Low-level, function pointer. More...
 
template<class M >
auto jni::MakeNativeMethod (const char *name, const M &m)
 
template<class M , M method>
auto jni::MakeNativeMethod (const char *name)
 
template<class L >
auto jni::MakeNativePeerMethod (const char *name, const L &lambda, std::enable_if_t< std::is_class< L >::value > *=nullptr)
 
template<class M , M method>
auto jni::MakeNativePeerMethod (const char *name, std::enable_if_t< !std::is_member_function_pointer< M >::value > *=nullptr)
 
template<class M , M method>
auto jni::MakeNativePeerMethod (const char *name, std::enable_if_t< std::is_member_function_pointer< M >::value > *=nullptr)
 
template<class Peer , class TagType , class... Methods>
void jni::RegisterNativePeer (JNIEnv &env, const Class< TagType > &clazz, const char *fieldName, Methods &&... methods)
 
template<class Peer , class TagType , class Initializer , class... Methods>
void jni::RegisterNativePeer (JNIEnv &env, const Class< TagType > &clazz, const char *fieldName, Initializer initialize, const char *initializeMethodName, const char *finalizeMethodName, Methods &&... methods)
 
template<class Peer , class... Args>
std::unique_ptr< Peer > jni::MakePeer (jni::JNIEnv &env, Args... args)