summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@suse.com>2011-11-25 01:39:20 +0200
committerTor Lillqvist <tlillqvist@suse.com>2011-11-25 01:39:20 +0200
commit15f6fec4d4224857a9dc15ff1e121a93ab4b9541 (patch)
tree14b785ab6f101b3d21d8ccb508bcb96874afddd5 /sal
parentb1b915c809b86df6cde84ecff091036901f6de14 (diff)
Add lo_get_javavm() to get the JavaVM we are runnning in
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: */