From faaaa22fba68d6b0cc5d3c9a42f0215c5dec5180 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 16 Mar 2010 12:43:11 +0100 Subject: [PATCH 1/2] add user data in proxy config --- coreapi/linphonecore.h | 8 ++++++++ coreapi/linphonecore_jni.cc | 14 +++++++++++++- coreapi/private.h | 1 + coreapi/proxy.c | 8 ++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index c9f072f6e..07a108540 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -238,6 +238,14 @@ SipSetup *linphone_proxy_config_get_sip_setup(LinphoneProxyConfig *cfg); * normalize a human readable phone number into a basic string. 888-444-222 becomes 888444222 */ int linphone_proxy_config_normalize_number(LinphoneProxyConfig *proxy, const char *username, char *result, size_t result_len); +/* + * attached a user data to a proxy config + */ +void linphone_proxy_config_set_user_data(LinphoneProxyConfig *cr, void * ud); +/* + * get user data to a proxy config. return null if any + */ +void * linphone_proxy_config_get_user_data(LinphoneProxyConfig *cr); /** * @} diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index a133e2116..7acf1cede 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -193,6 +193,10 @@ extern "C" int Java_org_linphone_core_LinphoneCoreImpl_addProxyConfig( JNIEnv* ,jobject thiz ,jlong lc ,jlong pc) { + LinphoneProxyConfig* proxy = (LinphoneProxyConfig*)pc; + linphone_proxy_config_set_user_data(proxy + ,env->NewGlobalRef((jobject)linphone_proxy_config_get_user_data(proxy))); + return linphone_core_add_proxy_config((LinphoneCore*)lc,(LinphoneProxyConfig*)pc); } @@ -281,10 +285,18 @@ extern "C" float Java_org_linphone_core_LinphoneCoreImpl_getSoftPlayLevel( JNIEn return linphone_core_get_soft_play_level((LinphoneCore*)lc); } +extern "C" void Java_org_linphone_core_LinphoneCoreImpl_muteMic( JNIEnv* env + ,jobject thiz + ,jlong lc + ,jboolean isMuted) { + linphone_core_mute_mic((LinphoneCore*)lc,isMuted); +} //ProxyConfig extern "C" jlong Java_org_linphone_core_LinphoneProxyConfigImpl_newLinphoneProxyConfig(JNIEnv* env,jobject thiz) { - return (jlong) linphone_proxy_config_new(); + LinphoneProxyConfig* proxy = linphone_proxy_config_new(); + linphone_proxy_config_set_user_data(proxy,thiz); + return (jlong) proxy; } extern "C" void Java_org_linphone_core_LinphoneProxyConfigImpl_delete(JNIEnv* env,jobject thiz,jlong ptr) { diff --git a/coreapi/private.h b/coreapi/private.h index d2b206b6e..6fc176116 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -203,6 +203,7 @@ struct _LinphoneProxyConfig bool_t registered; bool_t publish; bool_t dial_escape_plus; + void* user_data; }; struct _LinphoneAuthInfo diff --git a/coreapi/proxy.c b/coreapi/proxy.c index ad59c06f8..d31046b80 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -737,5 +737,13 @@ void linphone_account_creator_destroy(LinphoneAccountCreator *obj){ } } +void linphone_proxy_config_set_user_data(LinphoneProxyConfig *cr, void * ud) { + cr->user_data=ud; +} + +void * linphone_proxy_config_get_user_data(LinphoneProxyConfig *cr) { + return cr->user_data; +} + From 881f6024b41ae955c7b60dc18764a2b8b8a781aa Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 16 Mar 2010 17:46:08 +0100 Subject: [PATCH 2/2] add invite from address --- coreapi/linphonecore_jni.cc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 7acf1cede..41b514546 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -223,6 +223,12 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_invite( JNIEnv* env linphone_core_invite((LinphoneCore*)lc,uri); env->ReleaseStringUTFChars(juri, uri); } +extern "C" void Java_org_linphone_core_LinphoneCoreImpl_inviteAddress( JNIEnv* env + ,jobject thiz + ,jlong lc + ,jlong to) { + linphone_core_invite_address((LinphoneCore*)lc,(LinphoneAddress*)to); +} extern "C" void Java_org_linphone_core_LinphoneCoreImpl_terminateCall( JNIEnv* env ,jobject thiz @@ -291,6 +297,17 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_muteMic( JNIEnv* env ,jboolean isMuted) { linphone_core_mute_mic((LinphoneCore*)lc,isMuted); } + +extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_interpretUrl( JNIEnv* env + ,jobject thiz + ,jlong lc + ,jstring jurl) { + const char* url = env->GetStringUTFChars(jurl, NULL); + jlong result = (jlong)linphone_core_interpret_url((LinphoneCore*)lc,url); + env->ReleaseStringUTFChars(jurl, url); + return result; +} + //ProxyConfig extern "C" jlong Java_org_linphone_core_LinphoneProxyConfigImpl_newLinphoneProxyConfig(JNIEnv* env,jobject thiz) { @@ -449,6 +466,15 @@ extern "C" jstring Java_org_linphone_core_LinphoneAddressImpl_toUri(JNIEnv* env ms_free(uri); return juri; } +extern "C" void Java_org_linphone_core_LinphoneAddressImpl_setDisplayName(JNIEnv* env + ,jobject thiz + ,jlong address + ,jstring jdisplayName) { + const char* displayName = env->GetStringUTFChars(jdisplayName, NULL); + linphone_address_set_display_name((LinphoneAddress*)address,displayName); + env->ReleaseStringUTFChars(jdisplayName, displayName); +} + //CallLog extern "C" jlong Java_org_linphone_core_LinphoneCallLogImpl_getFrom(JNIEnv* env