lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Loading...
Searching...
No Matches
native_method.hpp File Reference

Go to the source code of this file.

Classes

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< 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, R(L::*)(JNIEnv &, P &, Args...) const >
class  jni::NativePeerFunctionPointerMethod< R(JNIEnv &, P &, Args...), method >
class  jni::NativePeerMemberFunctionMethod< R(P::*)(JNIEnv &, Args...), method >
struct  jni::NativePeerHelper< Peer, TagType, std::unique_ptr< Peer >(JNIEnv &, Args...) >

Namespaces

namespace  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.
template<class M, M method>
auto jni::MakeNativeMethod (const char *name, const char *sig)
 Low-level, function pointer.
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)