unix/modjni: Add env() module function.

Useful to load native method libraries not loaded by VM (as happens on
Android).
pull/1468/head
Paul Sokolovsky 2015-09-16 01:09:39 +03:00
rodzic 661d9d1901
commit cb6cf5e257
2 zmienionych plików z 7 dodań i 0 usunięć

Wyświetl plik

@ -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);

Wyświetl plik

@ -106,6 +106,7 @@ Q(B115200)
#if MICROPY_PY_JNI
Q(jni)
Q(cls)
Q(env)
Q(jclass)
Q(jobject)
Q(jmethod)