mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-23 06:08:07 +00:00
Merge branch 'master' into dev_multicall
This commit is contained in:
commit
c501e09773
19 changed files with 190 additions and 27 deletions
35
Makefile.am
35
Makefile.am
|
|
@ -16,11 +16,7 @@ SUBDIRS = m4 pixmaps po $(ORTP_DIR) mediastreamer2\
|
|||
|
||||
ACLOCAL_FLAGS=-I$(top_srcdir)/m4
|
||||
|
||||
|
||||
INSTALLDIR=$(shell cd $(top_builddir) && pwd)/linphone-install
|
||||
INSTALLDIR_WITH_PREFIX=$(INSTALLDIR)/$(prefix)
|
||||
ZIPFILE=$(shell cd $(top_builddir) && pwd)/$(PACKAGE)-win32-$(VERSION).zip
|
||||
ZIP_EXCLUDED=include lib \
|
||||
OPTIONAL_SOUNDS=\
|
||||
share/sounds/linphone/rings/synth.wav \
|
||||
share/sounds/linphone/rings/tapping.wav \
|
||||
share/sounds/linphone/rings/orig.wav \
|
||||
|
|
@ -28,6 +24,23 @@ ZIP_EXCLUDED=include lib \
|
|||
share/sounds/linphone/rings/rock.wav
|
||||
|
||||
|
||||
INSTALLDIR=$(shell cd $(top_builddir) && pwd)/linphone-install
|
||||
INSTALLDIR_WITH_PREFIX=$(INSTALLDIR)/$(prefix)
|
||||
ZIPFILE=$(shell cd $(top_builddir) && pwd)/$(PACKAGE)-win32-$(VERSION).zip
|
||||
ZIP_EXCLUDED=include lib \
|
||||
$(OPTIONAL_SOUNDS)
|
||||
|
||||
SDK_ZIPFILE=$(shell cd $(top_builddir) && pwd)/lib$(PACKAGE)-win32-$(VERSION).zip
|
||||
SDK_EXCLUDED= \
|
||||
bin/linphone-3.exe \
|
||||
lib/*.la \
|
||||
share/linphone \
|
||||
share/pixmaps \
|
||||
share/locale \
|
||||
share/gnome \
|
||||
$(OPTIONAL_SOUNDS)
|
||||
|
||||
|
||||
GTK_PREFIX=/usr
|
||||
GTK_FILELIST=gtk+-2.18.5.filelist
|
||||
GTK_FILELIST_PATH=$(shell cd $(top_srcdir) && pwd)/$(GTK_FILELIST)
|
||||
|
|
@ -117,6 +130,18 @@ zip:
|
|||
cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
|
||||
cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(ZIPFILE) *
|
||||
|
||||
sdk:
|
||||
rm -f $(SDK_ZIPFILE)
|
||||
rm -rf $(INSTALLDIR)
|
||||
mkdir -p $(INSTALLDIR)
|
||||
make install DESTDIR=$(INSTALLDIR)
|
||||
# remove unwanted stuff (gtk interface)
|
||||
cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(SDK_EXCLUDED)
|
||||
make other-cherrypick
|
||||
cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
|
||||
cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
|
||||
cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(SDK_ZIPFILE) *
|
||||
|
||||
filelist: zip
|
||||
cd $(INSTALLDIR_WITH_PREFIX) && \
|
||||
rm -f $(PACKAGE_WIN32_FILELIST) && \
|
||||
|
|
|
|||
2
NEWS
2
NEWS
|
|
@ -1,4 +1,4 @@
|
|||
linphone-3.3.0 -- May 10, 2010
|
||||
linphone-3.3.0 -- May 19, 2010
|
||||
* liblinphone is ported to iphoneOS and Google Android
|
||||
* Internal refactoring of liblinphone (code factorisation, encapsulation
|
||||
of signaling)
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ LOCAL_STATIC_LIBRARIES := \
|
|||
libeXosip2 \
|
||||
libosip2 \
|
||||
libgsm
|
||||
|
||||
# libmsilbc \
|
||||
LOCAL_MODULE_CLASS = SHARED_LIBRARIES
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
|||
|
|
@ -57,6 +57,14 @@ const char *linphone_address_get_display_name(const LinphoneAddress* u){
|
|||
return sal_address_get_display_name(u);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the display name without quotes.
|
||||
* @note WARNING: the returned string must be freed by user.
|
||||
**/
|
||||
char *linphone_address_get_display_name_unquoted(const LinphoneAddress *addr){
|
||||
return sal_address_get_display_name_unquoted(addr);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the username.
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -223,6 +223,23 @@ char * linphone_call_log_to_str(LinphoneCallLog *cl){
|
|||
return tmp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns RTP statistics computed locally regarding the call.
|
||||
*
|
||||
**/
|
||||
const rtp_stats_t *linphone_call_log_get_local_stats(const LinphoneCallLog *cl){
|
||||
return &cl->local_stats;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns RTP statistics computed by remote end and sent back via RTCP.
|
||||
*
|
||||
* @note Not implemented yet.
|
||||
**/
|
||||
const rtp_stats_t *linphone_call_log_get_remote_stats(const LinphoneCallLog *cl){
|
||||
return &cl->remote_stats;
|
||||
}
|
||||
|
||||
void linphone_call_log_set_user_pointer(LinphoneCallLog *cl, void *up){
|
||||
cl->user_pointer=up;
|
||||
}
|
||||
|
|
@ -536,6 +553,8 @@ static void sip_config_read(LinphoneCore *lc)
|
|||
lp_config_get_int(lc->config,"sip","register_only_when_network_is_up",1);
|
||||
lc->sip_conf.ping_with_options=lp_config_get_int(lc->config,"sip","ping_with_options",1);
|
||||
lc->sip_conf.auto_net_state_mon=lp_config_get_int(lc->config,"sip","auto_net_state_mon",1);
|
||||
lc->sip_conf.keepalive_period=lp_config_get_int(lc->config,"sip","keepalive_period",10000);
|
||||
sal_set_keepalive_period(lc->sal,lc->sip_conf.keepalive_period);
|
||||
}
|
||||
|
||||
static void rtp_config_read(LinphoneCore *lc)
|
||||
|
|
@ -2201,11 +2220,16 @@ void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
|||
call->state=LinphoneCallAVRunning;
|
||||
}
|
||||
|
||||
static void linphone_call_log_fill_stats(LinphoneCallLog *log, AudioStream *st){
|
||||
audio_stream_get_local_rtp_stats (st,&log->local_stats);
|
||||
}
|
||||
|
||||
void linphone_core_stop_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
||||
#ifdef PRINTF_DEBUG
|
||||
printf("%s(%d)\n",__FUNCTION__,__LINE__);
|
||||
#endif
|
||||
if (lc->audiostream!=NULL) {
|
||||
linphone_call_log_fill_stats (call->log,lc->audiostream);
|
||||
audio_stream_stop(lc->audiostream);
|
||||
lc->audiostream=NULL;
|
||||
}
|
||||
|
|
@ -3437,6 +3461,28 @@ void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp, Rtp
|
|||
lc->a_rtcp=rtcp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve RTP statistics regarding current call.
|
||||
* @param local RTP statistics computed locally.
|
||||
* @param remote RTP statistics computed by far end (obtained via RTCP feedback).
|
||||
*
|
||||
* @note Remote RTP statistics is not implemented yet.
|
||||
*
|
||||
* @returns 0 or -1 if no call is running.
|
||||
**/
|
||||
|
||||
int linphone_core_get_current_call_stats(LinphoneCore *lc, rtp_stats_t *local, rtp_stats_t *remote){
|
||||
LinphoneCall *call=linphone_core_get_current_call (lc);
|
||||
if (call!=NULL){
|
||||
if (lc->audiostream!=NULL){
|
||||
memset(remote,0,sizeof(*remote));
|
||||
audio_stream_get_local_rtp_stats (lc->audiostream,local);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void net_config_uninit(LinphoneCore *lc)
|
||||
{
|
||||
net_config_t *config=&lc->net_conf;
|
||||
|
|
@ -3470,6 +3516,7 @@ void sip_config_uninit(LinphoneCore *lc)
|
|||
lp_config_set_int(lc->config,"sip","use_ipv6",config->ipv6_enabled);
|
||||
lp_config_set_int(lc->config,"sip","register_only_when_network_is_up",config->register_only_when_network_is_up);
|
||||
|
||||
|
||||
lp_config_set_int(lc->config,"sip","default_proxy",linphone_core_get_default_proxy(lc,NULL));
|
||||
|
||||
for(elem=config->proxies,i=0;elem!=NULL;elem=ms_list_next(elem),i++){
|
||||
|
|
@ -3565,6 +3612,9 @@ void codecs_config_uninit(LinphoneCore *lc)
|
|||
lp_config_set_int(lc->config,key,"enabled",linphone_core_payload_type_enabled(lc,pt));
|
||||
index++;
|
||||
}
|
||||
sprintf(key,"audio_codec_%i",index);
|
||||
lp_config_clean_section (lc->config,key);
|
||||
|
||||
index=0;
|
||||
for(node=config->video_codecs;node!=NULL;node=ms_list_next(node)){
|
||||
pt=(PayloadType*)(node->data);
|
||||
|
|
@ -3575,6 +3625,9 @@ void codecs_config_uninit(LinphoneCore *lc)
|
|||
lp_config_set_string(lc->config,key,"recv_fmtp",pt->recv_fmtp);
|
||||
index++;
|
||||
}
|
||||
sprintf(key,"video_codec_%i",index);
|
||||
lp_config_clean_section (lc->config,key);
|
||||
|
||||
ms_list_free(lc->codecs_conf.audio_codecs);
|
||||
ms_list_free(lc->codecs_conf.video_codecs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
linphone
|
||||
Copyright (C) 2000 Simon MORLAT (simon.morlat@linphone.org)
|
||||
Copyright (C) 2000 - 2010 Simon MORLAT (simon.morlat@linphone.org)
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
|
@ -64,6 +64,7 @@ LinphoneAddress * linphone_address_new(const char *uri);
|
|||
LinphoneAddress * linphone_address_clone(const LinphoneAddress *uri);
|
||||
const char *linphone_address_get_scheme(const LinphoneAddress *u);
|
||||
const char *linphone_address_get_display_name(const LinphoneAddress* u);
|
||||
char *linphone_address_get_display_name_unquoted(const LinphoneAddress *u);
|
||||
const char *linphone_address_get_username(const LinphoneAddress *u);
|
||||
const char *linphone_address_get_domain(const LinphoneAddress *u);
|
||||
void linphone_address_set_display_name(LinphoneAddress *u, const char *display_name);
|
||||
|
|
@ -144,6 +145,8 @@ typedef struct _LinphoneCallLog{
|
|||
int duration; /**<Duration of the call in seconds*/
|
||||
char *refkey;
|
||||
void *user_pointer;
|
||||
rtp_stats_t local_stats;
|
||||
rtp_stats_t remote_stats;
|
||||
struct _LinphoneCore *lc;
|
||||
} LinphoneCallLog;
|
||||
|
||||
|
|
@ -154,6 +157,8 @@ void linphone_call_log_set_user_pointer(LinphoneCallLog *cl, void *up);
|
|||
void *linphone_call_log_get_user_pointer(const LinphoneCallLog *cl);
|
||||
void linphone_call_log_set_ref_key(LinphoneCallLog *cl, const char *refkey);
|
||||
const char *linphone_call_log_get_ref_key(const LinphoneCallLog *cl);
|
||||
const rtp_stats_t *linphone_call_log_get_local_stats(const LinphoneCallLog *cl);
|
||||
const rtp_stats_t *linphone_call_log_get_remote_stats(const LinphoneCallLog *cl);
|
||||
char * linphone_call_log_to_str(LinphoneCallLog *cl);
|
||||
|
||||
typedef enum{
|
||||
|
|
@ -831,6 +836,8 @@ void linphone_core_destroy(LinphoneCore *lc);
|
|||
/*for advanced users:*/
|
||||
void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp, RtpTransport *rtcp);
|
||||
|
||||
int linphone_core_get_current_call_stats(LinphoneCore *lc, rtp_stats_t *local, rtp_stats_t *remote);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "linphonecore.h"
|
||||
#ifdef ANDROID
|
||||
#include <android/log.h>
|
||||
extern "C" void libmsilbc_init();
|
||||
#endif /*ANDROID*/
|
||||
|
||||
extern "C" void ms_andsnd_register_card(JavaVM *jvm) ;
|
||||
|
|
@ -160,7 +161,9 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv*
|
|||
LinphoneCoreData* ldata = new LinphoneCoreData(env,thiz,jlistener,juserdata);
|
||||
#ifdef ANDROID
|
||||
ms_andsnd_register_card(jvm);
|
||||
// requires an fpu libmsilbc_init();
|
||||
#endif /*ANDROID*/
|
||||
|
||||
jlong nativePtr = (jlong)linphone_core_new( &ldata->vTable
|
||||
,userConfig
|
||||
,factoryConfig
|
||||
|
|
|
|||
|
|
@ -256,6 +256,7 @@ typedef struct sip_config
|
|||
bool_t register_only_when_network_is_up;
|
||||
bool_t ping_with_options;
|
||||
bool_t auto_net_state_mon;
|
||||
unsigned int keepalive_period; /* interval in ms between keep alive messages sent to the proxy server*/
|
||||
} sip_config_t;
|
||||
|
||||
typedef struct rtp_config
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ SalAddress * sal_address_new(const char *uri);
|
|||
SalAddress * sal_address_clone(const SalAddress *addr);
|
||||
const char *sal_address_get_scheme(const SalAddress *addr);
|
||||
const char *sal_address_get_display_name(const SalAddress* addr);
|
||||
char *sal_address_get_display_name_unquoted(const SalAddress *addr);
|
||||
const char *sal_address_get_username(const SalAddress *addr);
|
||||
const char *sal_address_get_domain(const SalAddress *addr);
|
||||
void sal_address_set_display_name(SalAddress *addr, const char *display_name);
|
||||
|
|
@ -228,6 +229,8 @@ void sal_set_callbacks(Sal *ctx, const SalCallbacks *cbs);
|
|||
int sal_listen_port(Sal *ctx, const char *addr, int port, SalTransport tr, int is_secure);
|
||||
ortp_socket_t sal_get_socket(Sal *ctx);
|
||||
void sal_set_user_agent(Sal *ctx, const char *user_agent);
|
||||
/*keepalive period in ms*/
|
||||
void sal_set_keepalive_period(Sal *ctx,unsigned int value);
|
||||
void sal_use_session_timers(Sal *ctx, int expires);
|
||||
int sal_iterate(Sal *sal);
|
||||
MSList * sal_get_pending_auths(Sal *sal);
|
||||
|
|
|
|||
|
|
@ -1591,7 +1591,17 @@ int sal_unregister(SalOp *h){
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void sal_address_quote_displayname(SalAddress *addr){
|
||||
osip_from_t *u=(osip_from_t*)addr;
|
||||
if (u->displayname!=NULL && u->displayname[0]!='\0'
|
||||
&& u->displayname[0]!='"'){
|
||||
int len=strlen(u->displayname)+1+2;
|
||||
char *quoted=osip_malloc(len);
|
||||
snprintf(quoted,len,"\"%s\"",u->displayname);
|
||||
osip_free(u->displayname);
|
||||
u->displayname=quoted;
|
||||
}
|
||||
}
|
||||
|
||||
SalAddress * sal_address_new(const char *uri){
|
||||
osip_from_t *from;
|
||||
|
|
@ -1600,6 +1610,7 @@ SalAddress * sal_address_new(const char *uri){
|
|||
osip_from_free(from);
|
||||
return NULL;
|
||||
}
|
||||
sal_address_quote_displayname ((SalAddress*)from);
|
||||
return (SalAddress*)from;
|
||||
}
|
||||
|
||||
|
|
@ -1621,6 +1632,18 @@ const char *sal_address_get_display_name(const SalAddress* addr){
|
|||
return null_if_empty(u->displayname);
|
||||
}
|
||||
|
||||
char *sal_address_get_display_name_unquoted(const SalAddress *addr){
|
||||
const osip_from_t *u=(const osip_from_t*)addr;
|
||||
const char *dn=null_if_empty(u->displayname);
|
||||
char *ret=NULL;
|
||||
if (dn!=NULL) {
|
||||
char *tmp=osip_strdup_without_quote(dn);
|
||||
ret=ms_strdup(tmp);
|
||||
osip_free(tmp);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char *sal_address_get_username(const SalAddress *addr){
|
||||
const osip_from_t *u=(const osip_from_t*)addr;
|
||||
return null_if_empty(u->url->username);
|
||||
|
|
@ -1637,8 +1660,10 @@ void sal_address_set_display_name(SalAddress *addr, const char *display_name){
|
|||
osip_free(u->displayname);
|
||||
u->displayname=NULL;
|
||||
}
|
||||
if (display_name!=NULL)
|
||||
if (display_name!=NULL && display_name[0]!='\0'){
|
||||
u->displayname=osip_strdup(display_name);
|
||||
sal_address_quote_displayname(addr);
|
||||
}
|
||||
}
|
||||
|
||||
void sal_address_set_username(SalAddress *addr, const char *username){
|
||||
|
|
@ -1706,6 +1731,9 @@ char *sal_address_as_string_uri_only(const SalAddress *u){
|
|||
void sal_address_destroy(SalAddress *u){
|
||||
osip_from_free((osip_from_t*)u);
|
||||
}
|
||||
void sal_set_keepalive_period(Sal *ctx,unsigned int value) {
|
||||
eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE, &value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a re-Invite used to hold the current call
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ void linphone_gtk_show_friends(void){
|
|||
LinphoneFriend *lf=(LinphoneFriend*)itf->data;
|
||||
const LinphoneAddress *f_uri=linphone_friend_get_address(lf);
|
||||
char *uri=linphone_address_as_string(f_uri);
|
||||
const char *name=linphone_address_get_display_name(f_uri);
|
||||
char *name=linphone_address_get_display_name_unquoted (f_uri);
|
||||
const char *display=name;
|
||||
char *escaped=NULL;
|
||||
if (lookup){
|
||||
|
|
@ -341,6 +341,7 @@ void linphone_gtk_show_friends(void){
|
|||
}
|
||||
}
|
||||
ms_free(uri);
|
||||
if (name!=NULL) ms_free(name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -372,16 +373,17 @@ void linphone_gtk_remove_contact(GtkWidget *button){
|
|||
void linphone_gtk_show_contact(LinphoneFriend *lf){
|
||||
GtkWidget *w=linphone_gtk_create_window("contact");
|
||||
char *uri;
|
||||
const char *name;
|
||||
char *name;
|
||||
const LinphoneAddress *f_uri=linphone_friend_get_address(lf);
|
||||
uri=linphone_address_as_string_uri_only(f_uri);
|
||||
name=linphone_address_get_display_name(f_uri);
|
||||
name=linphone_address_get_display_name_unquoted (f_uri);
|
||||
if (uri) {
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(w,"sip_address")),uri);
|
||||
ms_free(uri);
|
||||
}
|
||||
if (name){
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(w,"name")),name);
|
||||
ms_free(name);
|
||||
}
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(w,"show_presence")),
|
||||
linphone_friend_get_send_subscribe(lf));
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ void linphone_gtk_show_idle_view(void){
|
|||
|
||||
void display_peer_name_in_label(GtkWidget *label, const char *uri){
|
||||
LinphoneAddress *from;
|
||||
const char *displayname=NULL;
|
||||
char *displayname=NULL;
|
||||
char *id=NULL;
|
||||
char *uri_label;
|
||||
|
||||
|
|
@ -83,18 +83,15 @@ void display_peer_name_in_label(GtkWidget *label, const char *uri){
|
|||
|
||||
from=linphone_address_new(uri);
|
||||
if (from!=NULL){
|
||||
|
||||
if (linphone_address_get_display_name(from))
|
||||
displayname=linphone_address_get_display_name(from);
|
||||
|
||||
displayname=linphone_address_get_display_name_unquoted (from);
|
||||
id=linphone_address_as_string_uri_only(from);
|
||||
|
||||
}else id=ms_strdup(uri);
|
||||
|
||||
if (displayname!=NULL)
|
||||
if (displayname!=NULL){
|
||||
uri_label=g_markup_printf_escaped("<span size=\"large\">%s</span>\n<i>%s</i>",
|
||||
displayname,id);
|
||||
else
|
||||
ms_free(displayname);
|
||||
}else
|
||||
uri_label=g_markup_printf_escaped("<span size=\"large\"><i>%s</i></span>\n",id);
|
||||
gtk_label_set_markup(GTK_LABEL(label),uri_label);
|
||||
ms_free(id);
|
||||
|
|
|
|||
|
|
@ -395,7 +395,7 @@ static void set_video_window_decorations(GdkWindow *w){
|
|||
|
||||
linphone_address_clean(uri);
|
||||
if (linphone_address_get_display_name(uri)!=NULL){
|
||||
display_name=ms_strdup(linphone_address_get_display_name(uri));
|
||||
display_name=linphone_address_get_display_name_unquoted (uri);
|
||||
}else{
|
||||
display_name=linphone_address_as_string(uri);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -802,8 +802,11 @@ void linphone_gtk_show_parameters(void){
|
|||
/* SIP CONFIG */
|
||||
contact=linphone_core_get_primary_contact_parsed(lc);
|
||||
if (contact){
|
||||
if (linphone_address_get_display_name(contact))
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(pb,"displayname")),linphone_address_get_display_name(contact));
|
||||
if (linphone_address_get_display_name(contact)) {
|
||||
char *dn=linphone_address_get_display_name_unquoted (contact);
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(pb,"displayname")),dn);
|
||||
ms_free(dn);
|
||||
}
|
||||
if (linphone_address_get_username(contact))
|
||||
gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(pb,"username")),linphone_address_get_username(contact));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,8 +130,9 @@ public interface LinphoneCore {
|
|||
* {@link LinphoneCoreListener#inviteReceived(LinphoneCore, String)} listener.
|
||||
* The application can later respond positively to the call using
|
||||
* this method.
|
||||
* @throws LinphoneCoreException
|
||||
*/
|
||||
public void acceptCall();
|
||||
public void acceptCall() throws LinphoneCoreException;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -60,5 +60,6 @@ abstract public class LinphoneCoreFactory {
|
|||
* @param enable
|
||||
*/
|
||||
abstract public void setDebugMode(boolean enable);
|
||||
|
||||
|
||||
abstract public void setLogHandler(LinphoneLogHandler handler);
|
||||
}
|
||||
|
|
|
|||
29
java/common/org/linphone/core/LinphoneLogHandler.java
Normal file
29
java/common/org/linphone/core/LinphoneLogHandler.java
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
LinphoneLogHandler.java
|
||||
Copyright (C) 2010 Belledonne Communications, Grenoble, France
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
package org.linphone.core;
|
||||
|
||||
public interface LinphoneLogHandler {
|
||||
public static final int Fatal=1<<4;
|
||||
public static final int Error=1<<3|Fatal;
|
||||
public static final int Warn=1<<2|Error;
|
||||
public static final int Info=1<<1|Warn;
|
||||
public static final int Debug=1|Info;
|
||||
|
||||
public void log(String loggerName, int level, String levelString, String msg, Throwable e);
|
||||
}
|
||||
|
|
@ -30,6 +30,7 @@ public class LinphoneCoreException extends Exception {
|
|||
|
||||
}
|
||||
public LinphoneCoreException(Throwable e) {
|
||||
this(e.getClass().getName()+" "+ e.getMessage());
|
||||
mE = e;
|
||||
}
|
||||
|
||||
|
|
@ -40,7 +41,7 @@ public class LinphoneCoreException extends Exception {
|
|||
|
||||
public void printStackTrace() {
|
||||
super.printStackTrace();
|
||||
mE.printStackTrace();
|
||||
if (mE!=null) mE.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -67,5 +67,6 @@ mediastreamer2/src/ice.c
|
|||
mediastreamer2/src/void.c
|
||||
mediastreamer2/src/equalizer.c
|
||||
mediastreamer2/src/msdscap-mingw.cc
|
||||
mediastreamer2/src/drawdib-display.c
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue