summaryrefslogtreecommitdiff
path: root/Lib/java/director.swg
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/java/director.swg')
-rw-r--r--Lib/java/director.swg14
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 */