From 6d04fdc1eb3917eeea15437c897224cb64d53795 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 10 Oct 2017 13:57:37 +0200 Subject: [PATCH] Added constructor on each Java object implementation --- wrappers/java/genwrapper.py | 6 +++--- wrappers/java/java_class.mustache | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/wrappers/java/genwrapper.py b/wrappers/java/genwrapper.py index bbed80662..27d86f585 100644 --- a/wrappers/java/genwrapper.py +++ b/wrappers/java/genwrapper.py @@ -214,13 +214,13 @@ class JavaTranslator(object): return methodDict - def translate_jni_method(self, _method): + def translate_jni_method(self, _method, static=False): methodDict = {} methodDict['return'] = self.translate_type(_method.returnType, jni=True) methodDict['name'] = 'Java_' + self.jni_package + _method.parent.name.to_camel_case() + 'Impl_' + _method.name.to_camel_case(lower=True) - methodDict['params'] = 'JNIEnv *env, jobject thiz' + methodDict['params'] = 'JNIEnv *env' if static else 'JNIEnv *env, jobject thiz' for arg in _method.args: if arg is not _method.args[0]: methodDict['params'] += ', ' @@ -257,7 +257,7 @@ class JavaTranslator(object): for method in _class.classMethods: try: methodDict = self.translate_method(method) - jniMethodDict = self.translate_jni_method(method) + jniMethodDict = self.translate_jni_method(method, True) classDict['staticMethods'].append(methodDict) classDict['jniMethods'].append(jniMethodDict) except AbsApi.Error as e: diff --git a/wrappers/java/java_class.mustache b/wrappers/java/java_class.mustache index 3454ad9d9..8e5f006c2 100644 --- a/wrappers/java/java_class.mustache +++ b/wrappers/java/java_class.mustache @@ -102,6 +102,10 @@ class {{classImplName}} implements {{className}} { protected long nativePtr = 0; + protected {{classImplName}}(long ptr) { + nativePtr = ptr; + } + {{#isLinphoneFactory}} private static boolean loadOptionalLibrary(String s) { try {