mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-06 21:33:08 +00:00
Always use objects in Java wrapper, JNI will take care of handling pointers
This commit is contained in:
parent
fac07d9429
commit
036cd8a5d8
2 changed files with 15 additions and 3 deletions
|
|
@ -191,9 +191,7 @@ class JavaTranslator(object):
|
|||
methodDict['params'] += self.translate_argument(arg)
|
||||
methodDict['native_params'] += self.translate_argument(arg, True)
|
||||
methodDict['static_native_params'] += self.translate_argument(arg, True)
|
||||
if type(arg.type) is AbsApi.ClassType:
|
||||
methodDict['native_params_impl'] += '((' + self.translate_type(arg.type) + 'Impl)' + self.translate_argument_name(arg.name) + ').nativePtr'
|
||||
elif type(arg.type) is AbsApi.ListType:
|
||||
if type(arg.type) is AbsApi.ListType:
|
||||
if type(arg.type.containedTypeDesc) is AbsApi.ClassType:
|
||||
methodDict['convertInputClassArrayToLongArray'] = True
|
||||
methodDict['native_params_impl_list_param_name'] = self.translate_argument_name(arg.name)
|
||||
|
|
|
|||
|
|
@ -35,4 +35,18 @@ static const char* GetStringUTFChars(JNIEnv* env, jstring string) {
|
|||
|
||||
static void ReleaseStringUTFChars(JNIEnv* env, jstring string, const char *cstring) {
|
||||
if (string) env->ReleaseStringUTFChars(string, cstring);
|
||||
}
|
||||
|
||||
static jlong GetObjectNativePtr(JNIEnv *env, jobject object) {
|
||||
jclass objClass = env->GetObjectClass(object);
|
||||
jfieldID nativePtrId = env->GetFieldID(objClass, "nativePtr", "J");
|
||||
jlong nativePtr = env->GetLongField(object, nativePtrId);
|
||||
return nativePtr;
|
||||
}
|
||||
|
||||
static jlong SetObjectNativePtr(JNIEnv *env, jobject object, jlong ptr) {
|
||||
jclass objClass = env->GetObjectClass(object);
|
||||
jfieldID nativePtrId = env->GetFieldID(objClass, "nativePtr", "J");
|
||||
env->SetLongField(object, nativePtrId, ptr);
|
||||
return ptr;
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue