Ditto 4.1.0
AndroidSupport.hpp
1#ifdef __ANDROID__
2
3#include <jni.h>
4
5struct ditto_android_jni_session {
6 JNIEnv *env;
7 bool attached;
8};
9
10void ditto_android_init(JNIEnv *env, jobject context);
11bool ditto_android_is_inited();
12void ditto_android_shutdown();
13
14jobject ditto_android_get_context();
15
16struct ditto_android_jni_session ditto_android_get_session();
17void ditto_android_end_session(struct ditto_android_jni_session session);
18
19template <typename F>
20auto with_ditto_android_session(F &&f)
21 -> decltype(f(ditto_android_get_session())) {
22 auto session = ditto_android_get_session();
23 auto ret = f(session);
24 ditto_android_end_session(session);
25 return ret;
26}
27
28#endif /* __ANDROID__ */