diff options
Diffstat (limited to 'Lib/java/director.swg')
-rw-r--r-- | Lib/java/director.swg | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/java/director.swg b/Lib/java/director.swg index d3bd162ec..e911a3da7 100644 --- a/Lib/java/director.swg +++ b/Lib/java/director.swg @@ -215,6 +215,15 @@ namespace Swig { } }; + struct SwigDirectorMethod { + const char *name; + const char *desc; + jmethodID methid; + SwigDirectorMethod(JNIEnv *jenv, jclass baseclass, const char *name, const char *desc) : name(name), desc(desc) { + methid = jenv->GetMethodID(baseclass, name, desc); + } + }; + /* Java object wrapper */ JObjectWrapper swig_self_; @@ -238,6 +247,11 @@ namespace Swig { } } + jclass swig_new_global_ref(JNIEnv *jenv, const char *classname) { + jclass clz = jenv->FindClass(classname); + return clz ? (jclass)jenv->NewGlobalRef(clz) : 0; + } + public: Director(JNIEnv *jenv) : swig_jvm_((JavaVM *) NULL), swig_self_() { /* Acquire the Java VM pointer */ |