diff options
Diffstat (limited to 'java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h')
-rw-r--r-- | java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h b/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h index 70267ff..2e31bff 100644 --- a/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h +++ b/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h @@ -55,6 +55,20 @@ namespace AndroidOlmSdk static const int ACCOUNT_CREATION_RANDOM_MODULO = 256; } + +// function pointer templates +template<typename T> using olmPickleLengthFuncPtr = size_t (*)(T); +template<typename T> using olmPickleFuncPtr = size_t (*)(T, void const *, size_t, void *, size_t); +template<typename T> using olmLastErrorFuncPtr = const char* (*)(T); + +template <typename T> +jstring serializeDataWithKey(JNIEnv *env, jobject thiz, + jstring aKey, + jobject aErrorMsg, + olmPickleLengthFuncPtr<T> aGetLengthFunc, + olmPickleFuncPtr<T> aGetPickleFunc, + olmLastErrorFuncPtr<T> aGetLastErrorFunc); + #ifdef __cplusplus extern "C" { #endif |