From dd6f88691dfdb57e762611f6e66441a9febdd559 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Tue, 26 Jul 2016 13:49:01 +0200 Subject: [PATCH] Extend address API to handle parameters. --- coreapi/address.c | 20 ++++++++++++++++++++ coreapi/bellesip_sal/sal_address_impl.c | 5 +++++ coreapi/linphonecore.h | 5 +++++ include/sal/sal.h | 1 + 4 files changed, 31 insertions(+) diff --git a/coreapi/address.c b/coreapi/address.c index 3ceef1b4e..de1e91d47 100644 --- a/coreapi/address.c +++ b/coreapi/address.c @@ -299,6 +299,26 @@ void linphone_address_set_header(LinphoneAddress *addr, const char *header_name, sal_address_set_header(addr,header_name,header_value); } +void linphone_address_set_param(LinphoneAddress *addr, const char *name, const char *value) { + sal_address_set_param(addr, name, value); +} + +void linphone_address_set_params(LinphoneAddress *addr, const char *params) { + sal_address_set_params(addr, params); +} + +void linphone_address_set_uri_param(LinphoneAddress *addr, const char *name, const char *value) { + sal_address_set_uri_param(addr, name, value); +} + +void linphone_address_set_uri_params(LinphoneAddress *addr, const char *params) { + sal_address_set_uri_params(addr, params); +} + +bool_t linphone_address_has_uri_param(LinphoneAddress *addr, const char *name) { + return sal_address_has_uri_param(addr, name); +} + LinphoneAddress * linphone_core_create_address(LinphoneCore *lc, const char *address) { return linphone_address_new(address); } diff --git a/coreapi/bellesip_sal/sal_address_impl.c b/coreapi/bellesip_sal/sal_address_impl.c index 917ab4eea..7261c05dc 100644 --- a/coreapi/bellesip_sal/sal_address_impl.c +++ b/coreapi/bellesip_sal/sal_address_impl.c @@ -203,6 +203,11 @@ void sal_address_set_params(SalAddress *addr, const char *params){ belle_sip_parameters_set(parameters,params); } +void sal_address_set_uri_param(SalAddress *addr, const char *name, const char *value) { + belle_sip_parameters_t* parameters = BELLE_SIP_PARAMETERS(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(addr))); + belle_sip_parameters_set_parameter(parameters, name, value); +} + void sal_address_set_uri_params(SalAddress *addr, const char *params){ belle_sip_parameters_t* parameters = BELLE_SIP_PARAMETERS(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(addr))); belle_sip_parameters_set(parameters,params); diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 504d31917..4ae83d2c2 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -451,6 +451,11 @@ LINPHONE_PUBLIC bool_t linphone_address_equal(const LinphoneAddress *a1, const L LINPHONE_PUBLIC void linphone_address_set_password(LinphoneAddress *addr, const char *passwd); LINPHONE_PUBLIC const char *linphone_address_get_password(const LinphoneAddress *addr); LINPHONE_PUBLIC void linphone_address_set_header(LinphoneAddress *addr, const char *header_name, const char *header_value); +LINPHONE_PUBLIC void linphone_address_set_param(LinphoneAddress *addr, const char *name, const char *value); +LINPHONE_PUBLIC void linphone_address_set_params(LinphoneAddress *addr, const char *params); +LINPHONE_PUBLIC void linphone_address_set_uri_param(LinphoneAddress *addr, const char *name, const char *value); +LINPHONE_PUBLIC void linphone_address_set_uri_params(LinphoneAddress *addr, const char *params); +LINPHONE_PUBLIC bool_t linphone_address_has_uri_param(LinphoneAddress *addr, const char *name); LINPHONE_PUBLIC void linphone_address_destroy(LinphoneAddress *u); /** diff --git a/include/sal/sal.h b/include/sal/sal.h index 672646b34..17c83d4b2 100644 --- a/include/sal/sal.h +++ b/include/sal/sal.h @@ -125,6 +125,7 @@ void sal_address_set_transport(SalAddress* addr,SalTransport transport); void sal_address_set_transport_name(SalAddress* addr,const char* transport); void sal_address_set_method_param(SalAddress *addr, const char *method); void sal_address_set_params(SalAddress *addr, const char *params); +void sal_address_set_uri_param(SalAddress *addr, const char *name, const char *value); void sal_address_set_uri_params(SalAddress *addr, const char *params); bool_t sal_address_has_uri_param(SalAddress *addr, const char *name); bool_t sal_address_is_ipv6(const SalAddress *addr);