From 9f2f6163d0cdf8125af94c3719a8f49647d533b1 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 29 Oct 2015 16:05:31 +0100 Subject: [PATCH] fix tunnelconfig problems --- coreapi/linphonecore_jni.cc | 11 ++++++++--- java/impl/org/linphone/core/LinphoneCoreImpl.java | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 45f796816..ee4744faa 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -4259,10 +4259,15 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_tunnelAddServerAndMirror env->ReleaseStringUTFChars(jHost, cHost); } -extern "C" void Java_org_linphone_core_LinphoneCoreImpl_tunnelAddServer(JNIEnv *env, jobject thiz, jlong pCore, jobject config) { +extern "C" void Java_org_linphone_core_LinphoneCoreImpl_tunnelAddServer(JNIEnv *env, jobject thiz, jlong pCore, jlong tunnelconfigptr) { LinphoneTunnel *tunnel = linphone_core_get_tunnel((LinphoneCore *)pCore); if(tunnel != NULL) { - + LinphoneTunnelConfig *cfg = (LinphoneTunnelConfig*) tunnelconfigptr; + if (cfg) { + linphone_tunnel_add_server(tunnel, cfg); + }else{ + ms_error("Java TunnelConfig object has no associated C object"); + } } else { ms_error("LinphoneCore.tunnelAddServer(): tunnel feature is not enabled"); } @@ -6322,7 +6327,7 @@ static jobject getTunnelConfig(JNIEnv *env, LinphoneTunnelConfig *cfg){ if (cfg != NULL){ jclass tunnelConfigClass = env->FindClass("org/linphone/core/TunnelConfigImpl"); - jmethodID ctor = env->GetMethodID(tunnelConfigClass,"", "(j)V"); + jmethodID ctor = env->GetMethodID(tunnelConfigClass,"", "(J)V"); void *up=linphone_tunnel_config_get_user_data(cfg); diff --git a/java/impl/org/linphone/core/LinphoneCoreImpl.java b/java/impl/org/linphone/core/LinphoneCoreImpl.java index 1bc381f9c..2c159134a 100644 --- a/java/impl/org/linphone/core/LinphoneCoreImpl.java +++ b/java/impl/org/linphone/core/LinphoneCoreImpl.java @@ -820,10 +820,10 @@ class LinphoneCoreImpl implements LinphoneCore { tunnelAddServerAndMirror(nativePtr, host, port, mirror, ms); } - private native void tunnelAddServer(long nativePtr, TunnelConfig config); + private native void tunnelAddServer(long nativePtr, long configPtr); @Override public synchronized void tunnelAddServer(TunnelConfig config) { - tunnelAddServer(nativePtr, config); + tunnelAddServer(nativePtr, ((TunnelConfigImpl)config).mNativePtr); } private native final TunnelConfig[] tunnelGetServers(long nativePtr);