summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-09-16 01:09:39 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-09-16 01:10:09 +0300
commitcb6cf5e257c25d6d80a30ad8cb34181738524cc8 (patch)
tree34164836657ceb9b214f6d1640303f82b744f66a
parent661d9d1901d3afcc9fdee7e4ab7cfd17688cb7d0 (diff)
unix/modjni: Add env() module function.
Useful to load native method libraries not loaded by VM (as happens on Android).
-rw-r--r--unix/modjni.c6
-rw-r--r--unix/qstrdefsport.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/unix/modjni.c b/unix/modjni.c
index ddf7fb0ff..5fc4dca35 100644
--- a/unix/modjni.c
+++ b/unix/modjni.c
@@ -409,9 +409,15 @@ STATIC mp_obj_t mod_jni_cls(mp_obj_t cls_name_in) {
}
MP_DEFINE_CONST_FUN_OBJ_1(mod_jni_cls_obj, mod_jni_cls);
+STATIC mp_obj_t mod_jni_env() {
+ return mp_obj_new_int((mp_int_t)env);
+}
+MP_DEFINE_CONST_FUN_OBJ_0(mod_jni_env_obj, mod_jni_env);
+
STATIC const mp_map_elem_t mp_module_jni_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_jni) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_cls), (mp_obj_t)&mod_jni_cls_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_env), (mp_obj_t)&mod_jni_env_obj },
};
STATIC MP_DEFINE_CONST_DICT(mp_module_jni_globals, mp_module_jni_globals_table);
diff --git a/unix/qstrdefsport.h b/unix/qstrdefsport.h
index 0ae8f8007..a04f4b9ed 100644
--- a/unix/qstrdefsport.h
+++ b/unix/qstrdefsport.h
@@ -106,6 +106,7 @@ Q(B115200)
#if MICROPY_PY_JNI
Q(jni)
Q(cls)
+Q(env)
Q(jclass)
Q(jobject)
Q(jmethod)