From 2ed9ed7ce34ff1c72dd5b93a7add6d2ae04c2523 Mon Sep 17 00:00:00 2001
From: Sylvain Berfini <Sylvain.Berfini@belledonne-communications.com>
Date: Thu, 2 Feb 2012 11:29:01 +0100
Subject: [PATCH] getProxyConfigList added to JNI exports

---
 coreapi/linphonecore_jni.cc                     | 16 ++++++++++++++++
 java/common/org/linphone/core/LinphoneCore.java |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc
index ca2c03d405..7fccd4cdf1 100644
--- a/coreapi/linphonecore_jni.cc
+++ b/coreapi/linphonecore_jni.cc
@@ -455,6 +455,22 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_getDefaultProxyConfig(
 	return (jlong)config;
 }
 
+extern "C" jlongArray Java_org_linphone_core_LinphoneCoreImpl_getProxyConfigList(JNIEnv* env, jobject thiz, jlong lc) {
+	const MSList* proxies = linphone_core_get_proxy_config_list((LinphoneCore*)lc);
+	int proxyCount = ms_list_size(proxies);
+	jlongArray jProxies = env->NewLongArray(proxyCount);
+	jlong *jInternalArray = env->GetLongArrayElements(jProxies, NULL);
+
+	for (int i = 0; i < proxyCount; i++ ) {
+		jInternalArray[i] = (unsigned long) (proxies->data);
+		proxies = proxies->next;
+	}
+
+	env->ReleaseLongArrayElements(jProxies, jInternalArray, 0);
+
+	return jProxies;
+}
+
 extern "C" int Java_org_linphone_core_LinphoneCoreImpl_addProxyConfig(	JNIEnv*  env
 		,jobject  thiz
 		,jobject jproxyCfg
diff --git a/java/common/org/linphone/core/LinphoneCore.java b/java/common/org/linphone/core/LinphoneCore.java
index a9629cce1d..2905d67373 100644
--- a/java/common/org/linphone/core/LinphoneCore.java
+++ b/java/common/org/linphone/core/LinphoneCore.java
@@ -720,4 +720,6 @@ public interface LinphoneCore {
 	void tunnelAddServerAndMirror(String host, int port, int udpMirrorPort, int roundTripDelay);
 
 	boolean isTunnelAvailable();
+	
+	LinphoneProxyConfig[] getProxyConfigList();
 }
-- 
GitLab