} #define SAL_ADDRESS_GET(addr,param) \ belle_sip_header_address_t* header_addr = BELLE_SIP_HEADER_ADDRESS(addr);\ belle_sip_uri_t* uri = belle_sip_header_address_get_uri(header_addr);\ if (uri) {\ return belle_sip_uri_get_##param(uri);\ } else\ return NULL; #define SAL_ADDRESS_SET(addr,param,value) \ belle_sip_header_address_t* header_addr = BELLE_SIP_HEADER_ADDRESS(addr);\ belle_sip_uri_t* uri = belle_sip_header_address_get_uri(header_addr);\ belle_sip_uri_set_##param(uri,value); const char *sal_address_get_username(const SalAddress *addr){ SAL_ADDRESS_GET(addr,user) } const char *sal_address_get_domain(const SalAddress *addr){ SAL_ADDRESS_GET(addr,host) } const char * sal_address_get_port(const SalAddress *addr){ ms_fatal("sal_address_get_port not implemented yet"); return NULL; } int sal_address_get_port_int(const SalAddress *addr){ belle_sip_header_address_t* header_addr = BELLE_SIP_HEADER_ADDRESS(addr); belle_sip_uri_t* uri = belle_sip_header_address_get_uri(header_addr); if (uri) { return belle_sip_uri_get_port(uri); } else return -1;
const char* sal_address_get_password(const SalAddress *addr){ SAL_ADDRESS_GET(addr,user_password); }