aboutsummaryrefslogtreecommitdiff
path: root/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni.h
diff options
context:
space:
mode:
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.h14
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