summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/android/jni/lo-bootstrap.c5
-rw-r--r--sal/osl/android/jni/lo-bootstrap.h13
2 files changed, 17 insertions, 1 deletions
diff --git a/sal/osl/android/jni/lo-bootstrap.c b/sal/osl/android/jni/lo-bootstrap.c
index 2e1715509d3e..bd8441147e0c 100644
--- a/sal/osl/android/jni/lo-bootstrap.c
+++ b/sal/osl/android/jni/lo-bootstrap.c
@@ -983,6 +983,11 @@ patch(const char *symbol,
((((int) replacement_code - ((int) code + 8)) / 4) & 0x00FFFFFF));
}
+JavaVM *
+lo_get_javavm(void)
+{
+ return app->activity->vm;
+}
void
android_main(struct android_app* state)
diff --git a/sal/osl/android/jni/lo-bootstrap.h b/sal/osl/android/jni/lo-bootstrap.h
index c01ae3c40523..258d9d28850c 100644
--- a/sal/osl/android/jni/lo-bootstrap.h
+++ b/sal/osl/android/jni/lo-bootstrap.h
@@ -29,13 +29,17 @@
#if defined(ANDROID)
+#include <jni.h>
#include <dlfcn.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
char **lo_dlneeds(const char *library);
void *lo_dlopen(const char *library);
-
void *lo_dlsym(void *handle,
const char *symbol);
@@ -48,6 +52,13 @@ void *lo_apkentry(const char *filename,
int lo_dlcall_argc_argv(void *function,
int argc,
const char **argv);
+
+JavaVM *lo_get_javavm(void);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */