]> sjero.net Git - linphone/commitdiff
JNI glue for linphone_core_set_primary_contact
authorSylvain Berfini <sylvain.berfini@belledonne-communications.com>
Fri, 16 Nov 2012 13:20:59 +0000 (14:20 +0100)
committerSylvain Berfini <sylvain.berfini@belledonne-communications.com>
Fri, 16 Nov 2012 13:20:59 +0000 (14:20 +0100)
coreapi/linphonecore_jni.cc
java/common/org/linphone/core/LinphoneCore.java
java/impl/org/linphone/core/LinphoneCoreImpl.java

index c3893e4962663eb82e5d1ff585bf896c1b143ce3..55041b17a88d3093b88be05e3c70bb62944c65d0 100644 (file)
@@ -542,6 +542,22 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_delete(JNIEnv*  env
        delete lcData;
 }
 
+extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setPrimaryContact(JNIEnv* env, jobject  thiz, jlong lc, jstring jdisplayname, jstring jusername) {
+       const char* displayname = env->GetStringUTFChars(jdisplayname, NULL);
+       const char* username = env->GetStringUTFChars(jusername, NULL);
+
+       LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed((LinphoneCore*)lc);
+    if (parsed != NULL) {
+        linphone_address_set_display_name(parsed, displayname);
+        linphone_address_set_username(parsed, username);
+        char *contact = linphone_address_as_string(parsed);
+               linphone_core_set_primary_contact((LinphoneCore*)lc, contact);
+       }
+
+       env->ReleaseStringUTFChars(jdisplayname, displayname);
+       env->ReleaseStringUTFChars(jusername, username);
+}
+
 extern "C" void Java_org_linphone_core_LinphoneCoreImpl_clearProxyConfigs(JNIEnv* env, jobject thiz,jlong lc) {
        linphone_core_clear_proxy_config((LinphoneCore*)lc);
 }
index fb49d3cb16f74b8b2c43cf0b4eb968aec50f41b2..450091843fab58caed488d062f290f4ad1e2e47f 100644 (file)
@@ -851,4 +851,9 @@ public interface LinphoneCore {
        void setInCallTimeout(int timeout);
        
        void setMicrophoneGain(float gain);
+       
+       /**
+        * Set username and display name to use if no LinphoneProxyConfig configured
+        */
+       void setPrimaryContact(String displayName, String username);
 }
index 320939da05fc85ef9d095f95bae1970be1b0a1db..5e6864559f08eb18950746d8c7059cf538a89dac 100644 (file)
@@ -116,6 +116,7 @@ class LinphoneCoreImpl implements LinphoneCore {
        private native void setVideoPortRange(long nativePtr, int minPort, int maxPort);
        private native void setIncomingTimeout(long nativePtr, int timeout);
        private native void setInCallTimeout(long nativePtr, int timeout);
+       private native void setPrimaryContact(long nativePtr, String displayName, String username);
        
        LinphoneCoreImpl(LinphoneCoreListener listener, File userConfig,File factoryConfig,Object  userdata) throws IOException {
                mListener=listener;
@@ -793,4 +794,8 @@ class LinphoneCoreImpl implements LinphoneCore {
        public void setMicrophoneGain(float gain) {
                setMicrophoneGain(nativePtr, gain);
        }
+       
+       public void setPrimaryContact(String displayName, String username) {
+               setPrimaryContact(nativePtr, displayName, username);
+       }
 }