From baa4eebbe17a8ad8c79bb2d6fe48852ee84b7364 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Mon, 7 May 2018 15:35:33 +0200 Subject: [PATCH] Use correct naming convention in sal API. --- coreapi/TunnelManager.cc | 2 +- coreapi/authentication.c | 6 +- coreapi/callbacks.c | 128 +-- coreapi/carddav.c | 2 +- coreapi/chat.c | 6 +- coreapi/error_info.c | 4 +- coreapi/event.c | 30 +- coreapi/friend.c | 6 +- coreapi/friendlist.c | 2 +- coreapi/linphonecore.c | 178 ++-- coreapi/misc.c | 2 +- coreapi/presence.c | 6 +- coreapi/proxy.c | 20 +- coreapi/quality_reporting.c | 8 +- coreapi/vcard.cc | 2 +- src/c-wrapper/api/c-call.cpp | 6 +- src/chat/chat-message/chat-message.cpp | 12 +- src/chat/chat-room/chat-room.cpp | 6 +- src/chat/chat-room/client-group-chat-room.cpp | 10 +- .../chat-room/server-group-chat-room-stub.cpp | 4 +- src/chat/notification/imdn.cpp | 4 +- src/chat/notification/is-composing.cpp | 12 +- .../remote-conference-event-handler.cpp | 2 +- src/conference/session/call-session.cpp | 135 +-- src/conference/session/media-session.cpp | 136 +-- src/core/core-call.cpp | 10 +- src/nat/ice-agent.cpp | 4 +- src/sal/call-op.cpp | 890 +++++++++--------- src/sal/call-op.h | 154 ++- src/sal/event-op.cpp | 264 +++--- src/sal/event-op.h | 54 +- src/sal/message-op-interface.h | 2 +- src/sal/message-op.cpp | 52 +- src/sal/message-op.h | 18 +- src/sal/op.cpp | 695 +++++++------- src/sal/op.h | 327 ++++--- src/sal/presence-op.cpp | 250 ++--- src/sal/presence-op.h | 42 +- src/sal/refer-op.cpp | 60 +- src/sal/refer-op.h | 22 +- src/sal/register-op.cpp | 58 +- src/sal/register-op.h | 19 +- src/sal/sal.cpp | 608 ++++++------ src/sal/sal.h | 448 ++++----- src/utils/background-task.cpp | 4 +- 45 files changed, 2373 insertions(+), 2337 deletions(-) diff --git a/coreapi/TunnelManager.cc b/coreapi/TunnelManager.cc index d7348c093..c9a14f865 100644 --- a/coreapi/TunnelManager.cc +++ b/coreapi/TunnelManager.cc @@ -281,7 +281,7 @@ TunnelManager::~TunnelManager(){ mTunnelClient->stop(); delete mTunnelClient; } - mCore->sal->set_tunnel(NULL); + mCore->sal->setTunnel(NULL); linphone_core_remove_listener(mCore, mVTable); linphone_core_v_table_destroy(mVTable); } diff --git a/coreapi/authentication.c b/coreapi/authentication.c index 9d310da3c..63eb4d8c1 100644 --- a/coreapi/authentication.c +++ b/coreapi/authentication.c @@ -472,10 +472,10 @@ void linphone_core_add_auth_info(LinphoneCore *lc, const LinphoneAuthInfo *info) lc->auth_info=bctbx_list_append(lc->auth_info,linphone_auth_info_clone(info)); /* retry pending authentication operations */ - for(l=elem=lc->sal->get_pending_auths();elem!=NULL;elem=elem->next){ + for(l=elem=lc->sal->getPendingAuths();elem!=NULL;elem=elem->next){ LinphonePrivate::SalOp *op= static_cast(elem->data); LinphoneAuthInfo *ai; - const SalAuthInfo *req_sai=op->get_auth_requested(); + const SalAuthInfo *req_sai=op->getAuthRequested(); ai=(LinphoneAuthInfo*)_linphone_core_find_auth_info(lc,req_sai->realm,req_sai->username,req_sai->domain, FALSE); if (ai){ SalAuthInfo sai; @@ -495,7 +495,7 @@ void linphone_core_add_auth_info(LinphoneCore *lc, const LinphoneAuthInfo *info) } /*proxy case*/ for (proxy=(bctbx_list_t*)linphone_core_get_proxy_config_list(lc);proxy!=NULL;proxy=proxy->next) { - if (proxy->data == op->get_user_pointer()) { + if (proxy->data == op->getUserPointer()) { linphone_proxy_config_set_state((LinphoneProxyConfig*)(proxy->data),LinphoneRegistrationProgress,"Authentication..."); break; } diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index 5c66826bb..f13c24e87 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -58,7 +58,7 @@ using namespace LinphonePrivate; static void register_failure(SalOp *op); static void call_received(SalCallOp *h) { - LinphoneCore *lc = reinterpret_cast(h->get_sal()->get_user_pointer()); + LinphoneCore *lc = reinterpret_cast(h->getSal()->getUserPointer()); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { h->decline(SalReasonServiceUnavailable, nullptr); @@ -71,13 +71,13 @@ static void call_received(SalCallOp *h) { return; LinphoneAddress *fromAddr = nullptr; - const char *pAssertedId = sal_custom_header_find(h->get_recv_custom_header(), "P-Asserted-Identity"); + const char *pAssertedId = sal_custom_header_find(h->getRecvCustomHeaders(), "P-Asserted-Identity"); /* In some situation, better to trust the network rather than the UAC */ if (lp_config_get_int(linphone_core_get_config(lc), "sip", "call_logs_use_asserted_id_instead_of_from", 0)) { if (pAssertedId) { LinphoneAddress *pAssertedIdAddr = linphone_address_new(pAssertedId); if (pAssertedIdAddr) { - ms_message("Using P-Asserted-Identity [%s] instead of from [%s] for op [%p]", pAssertedId, h->get_from(), h); + ms_message("Using P-Asserted-Identity [%s] instead of from [%s] for op [%p]", pAssertedId, h->getFrom(), h); fromAddr = pAssertedIdAddr; } else ms_warning("Unsupported P-Asserted-Identity header for op [%p] ", h); @@ -86,20 +86,20 @@ static void call_received(SalCallOp *h) { } if (!fromAddr) - fromAddr = linphone_address_new(h->get_from()); - LinphoneAddress *toAddr = linphone_address_new(h->get_to()); + fromAddr = linphone_address_new(h->getFrom()); + LinphoneAddress *toAddr = linphone_address_new(h->getTo()); if (_linphone_core_is_conference_creation(lc, toAddr)) { linphone_address_unref(toAddr); linphone_address_unref(fromAddr); - if (sal_address_has_param(h->get_remote_contact_address(), "text")) { + if (sal_address_has_param(h->getRemoteContactAddress(), "text")) { bool oneToOneChatRoom = false; - const char *oneToOneChatRoomStr = sal_custom_header_find(h->get_recv_custom_header(), "One-To-One-Chat-Room"); + const char *oneToOneChatRoomStr = sal_custom_header_find(h->getRecvCustomHeaders(), "One-To-One-Chat-Room"); if (oneToOneChatRoomStr && (strcmp(oneToOneChatRoomStr, "true") == 0)) oneToOneChatRoom = true; if (oneToOneChatRoom) { - IdentityAddress from(h->get_from()); - list identAddresses = ServerGroupChatRoom::parseResourceLists(h->get_remote_body()); + IdentityAddress from(h->getFrom()); + list identAddresses = ServerGroupChatRoom::parseResourceLists(h->getRemoteBody()); if (identAddresses.size() != 1) { h->decline(SalReasonNotAcceptable, nullptr); h->release(); @@ -116,12 +116,12 @@ static void call_received(SalCallOp *h) { } // TODO: handle media conference creation if the "text" feature tag is not present return; - } else if (sal_address_has_param(h->get_remote_contact_address(), "text")) { + } else if (sal_address_has_param(h->getRemoteContactAddress(), "text")) { linphone_address_unref(toAddr); linphone_address_unref(fromAddr); if (linphone_core_conference_server_enabled(lc)) { shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( - ChatRoomId(IdentityAddress(h->get_to()), IdentityAddress(h->get_to())) + ChatRoomId(IdentityAddress(h->getTo()), IdentityAddress(h->getTo())) ); if (chatRoom) { L_GET_PRIVATE(static_pointer_cast(chatRoom))->confirmJoining(h); @@ -132,11 +132,11 @@ static void call_received(SalCallOp *h) { } } else { shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( - ChatRoomId(IdentityAddress(h->get_from()), IdentityAddress(h->get_to())) + ChatRoomId(IdentityAddress(h->getFrom()), IdentityAddress(h->getTo())) ); if (!chatRoom) { chatRoom = L_GET_PRIVATE_FROM_C_OBJECT(lc)->createClientGroupChatRoom( - L_C_TO_STRING(h->get_subject()), h->get_remote_contact(), h->get_remote_body(), false + L_C_TO_STRING(h->getSubject()), h->getRemoteContact(), h->getRemoteBody(), false ); } L_GET_PRIVATE(static_pointer_cast(chatRoom))->confirmJoining(h); @@ -159,7 +159,7 @@ static void call_received(SalCallOp *h) { memset(&sei, 0, sizeof(sei)); sal_error_info_set(&sei, SalReasonRedirect, "SIP", 0, nullptr, nullptr); SalAddress *altAddr = sal_address_new(altContact); - h->decline_with_error_info(&sei, altAddr); + h->declineWithErrorInfo(&sei, altAddr); ms_free(altContact); sal_address_unref(altAddr); LinphoneErrorInfo *ei = linphone_error_info_new(); @@ -187,7 +187,7 @@ static void call_received(SalCallOp *h) { /* Check if I'm the caller */ LinphoneAddress *fromAddressToSearchIfMe = nullptr; - if (h->get_privacy() == SalPrivacyNone) + if (h->getPrivacy() == SalPrivacyNone) fromAddressToSearchIfMe = linphone_address_clone(fromAddr); else if (pAssertedId) fromAddressToSearchIfMe = linphone_address_new(pAssertedId); @@ -215,14 +215,14 @@ static void call_received(SalCallOp *h) { } static void call_rejected(SalCallOp *h){ - LinphoneCore *lc=(LinphoneCore *)h->get_sal()->get_user_pointer(); + LinphoneCore *lc = reinterpret_cast(h->getSal()->getUserPointer()); LinphoneErrorInfo *ei = linphone_error_info_new(); linphone_error_info_from_sal_op(ei, h); - linphone_core_report_early_failed_call(lc, LinphoneCallIncoming, linphone_address_new(h->get_from()), linphone_address_new(h->get_to()), ei); + linphone_core_report_early_failed_call(lc, LinphoneCallIncoming, linphone_address_new(h->getFrom()), linphone_address_new(h->getTo()), ei); } static void call_ringing(SalOp *h) { - LinphonePrivate::CallSession *session = reinterpret_cast(h->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(h->getUserPointer()); if (!session) return; auto sessionRef = session->getSharedFromThis(); L_GET_PRIVATE(sessionRef)->remoteRinging(); @@ -234,7 +234,7 @@ static void call_ringing(SalOp *h) { * - when a request is accepted (pause, resume) */ static void call_accepted(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("call_accepted: CallSession no longer exists"); return; @@ -245,7 +245,7 @@ static void call_accepted(SalOp *op) { /* this callback is called when an incoming re-INVITE/ SIP UPDATE modifies the session*/ static void call_updating(SalOp *op, bool_t is_update) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("call_updating: CallSession no longer exists"); return; @@ -256,7 +256,7 @@ static void call_updating(SalOp *op, bool_t is_update) { static void call_ack_received(SalOp *op, SalCustomHeader *ack) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("call_ack_received(): no CallSession for which an ack is expected"); return; @@ -267,7 +267,7 @@ static void call_ack_received(SalOp *op, SalCustomHeader *ack) { static void call_ack_being_sent(SalOp *op, SalCustomHeader *ack) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("call_ack_being_sent(): no CallSession for which an ack is supposed to be sent"); return; @@ -277,7 +277,7 @@ static void call_ack_being_sent(SalOp *op, SalCustomHeader *ack) { } static void call_terminated(SalOp *op, const char *from) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) return; auto sessionRef = session->getSharedFromThis(); @@ -285,7 +285,7 @@ static void call_terminated(SalOp *op, const char *from) { } static void call_failure(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("Failure reported on already terminated CallSession"); return; @@ -295,7 +295,7 @@ static void call_failure(SalOp *op) { } static void call_released(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { /* We can get here when the core manages call at Sal level without creating a Call object. Typicially, * when declining an incoming call with busy because maximum number of calls is reached. */ @@ -306,7 +306,7 @@ static void call_released(SalOp *op) { } static void call_cancel_done(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("Cancel done reported on already terminated CallSession"); return; @@ -316,7 +316,7 @@ static void call_cancel_done(SalOp *op) { } static void auth_failure(SalOp *op, SalAuthInfo* info) { - LinphoneCore *lc = reinterpret_cast(op->get_sal()->get_user_pointer()); + LinphoneCore *lc = reinterpret_cast(op->getSal()->getUserPointer()); LinphoneAuthInfo *ai = NULL; if (info != NULL) { @@ -335,7 +335,7 @@ static void auth_failure(SalOp *op, SalAuthInfo* info) { } static void register_success(SalOp *op, bool_t registered){ - LinphoneProxyConfig *cfg=(LinphoneProxyConfig *)op->get_user_pointer(); + LinphoneProxyConfig *cfg=(LinphoneProxyConfig *)op->getUserPointer(); if (!cfg){ ms_message("Registration success for deleted proxy config, ignored"); return; @@ -345,8 +345,8 @@ static void register_success(SalOp *op, bool_t registered){ } static void register_failure(SalOp *op){ - LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)op->get_user_pointer(); - const SalErrorInfo *ei=op->get_error_info(); + LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)op->getUserPointer(); + const SalErrorInfo *ei=op->getErrorInfo(); const char *details=ei->full_string; if (cfg==NULL){ @@ -371,7 +371,7 @@ static void register_failure(SalOp *op){ } static void vfu_request(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) return; auto sessionRef = session->getSharedFromThis(); @@ -384,7 +384,7 @@ static void vfu_request(SalOp *op) { } static void dtmf_received(SalOp *op, char dtmf) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) return; auto sessionRef = session->getSharedFromThis(); @@ -397,7 +397,7 @@ static void dtmf_received(SalOp *op, char dtmf) { } static void call_refer_received(SalOp *op, const SalAddress *referTo) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); char *addrStr = sal_address_as_string_uri_only(referTo); Address referToAddr(addrStr); string method; @@ -407,21 +407,21 @@ static void call_refer_received(SalOp *op, const SalAddress *referTo) { auto sessionRef = session->getSharedFromThis(); L_GET_PRIVATE(sessionRef)->referred(referToAddr); } else { - LinphoneCore *lc = reinterpret_cast(op->get_sal()->get_user_pointer()); + LinphoneCore *lc = reinterpret_cast(op->getSal()->getUserPointer()); linphone_core_notify_refer_received(lc, addrStr); } bctbx_free(addrStr); } static void message_received(SalOp *op, const SalMessage *msg){ - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { static_cast(op)->reply(SalReasonServiceUnavailable); return; } - LinphoneCall *call=(LinphoneCall*)op->get_user_pointer(); + LinphoneCall *call=(LinphoneCall*)op->getUserPointer(); LinphoneReason reason = lc->chat_deny_code; if (reason == LinphoneReasonNone) { linphone_core_message_received(lc, op, msg); @@ -447,12 +447,12 @@ static void convert_presence_to_xml_requested(SalOp *op, SalPresenceModel *prese } static void notify_presence(SalOp *op, SalSubscribeStatus ss, SalPresenceModel *model, const char *msg){ - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); linphone_notify_recv(lc,op,ss,model); } static void subscribe_presence_received(SalPresenceOp *op, const char *from){ - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { op->decline(SalReasonServiceUnavailable); return; @@ -461,12 +461,12 @@ static void subscribe_presence_received(SalPresenceOp *op, const char *from){ } static void subscribe_presence_closed(SalPresenceOp *op, const char *from){ - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); linphone_subscription_closed(lc,op); } static void ping_reply(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("Ping reply without CallSession attached..."); return; @@ -552,7 +552,7 @@ static bool_t fill_auth_info(LinphoneCore *lc, SalAuthInfo* sai) { } } static bool_t auth_requested(Sal* sal, SalAuthInfo* sai) { - LinphoneCore *lc = (LinphoneCore *)sal->get_user_pointer(); + LinphoneCore *lc = (LinphoneCore *)sal->getUserPointer(); if (fill_auth_info(lc,sai)) { return TRUE; } else { @@ -570,7 +570,7 @@ static bool_t auth_requested(Sal* sal, SalAuthInfo* sai) { } static void notify_refer(SalOp *op, SalReferStatus status) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) { ms_warning("Receiving notify_refer for unknown CallSession"); return; @@ -607,13 +607,13 @@ static LinphoneChatMessageState chatStatusSal2Linphone(SalMessageDeliveryStatus } static void message_delivery_update(SalOp *op, SalMessageDeliveryStatus status) { - auto lc = reinterpret_cast(op->get_sal()->get_user_pointer()); + auto lc = reinterpret_cast(op->getSal()->getUserPointer()); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { static_cast(op)->reply(SalReasonDeclined); return; } - LinphonePrivate::ChatMessage *msg = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::ChatMessage *msg = reinterpret_cast(op->getUserPointer()); if (!msg) return; // Do not handle delivery status for isComposing messages. @@ -623,7 +623,7 @@ static void message_delivery_update(SalOp *op, SalMessageDeliveryStatus status) } static void info_received(SalOp *op, SalBodyHandler *body_handler) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + LinphonePrivate::CallSession *session = reinterpret_cast(op->getUserPointer()); if (!session) return; auto sessionRef = session->getSharedFromThis(); @@ -631,7 +631,7 @@ static void info_received(SalOp *op, SalBodyHandler *body_handler) { } static void subscribe_response(SalOp *op, SalSubscribeStatus status, int will_retry){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); if (lev==NULL) return; @@ -648,8 +648,8 @@ static void subscribe_response(SalOp *op, SalSubscribeStatus status, int will_re } static void notify(SalSubscribeOp *op, SalSubscribeStatus st, const char *eventname, SalBodyHandler *body_handler){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); bool_t out_of_dialog = (lev==NULL); if (out_of_dialog) { /*out of dialog notify */ @@ -671,8 +671,8 @@ static void notify(SalSubscribeOp *op, SalSubscribeStatus st, const char *eventn } static void subscribe_received(SalSubscribeOp *op, const char *eventname, const SalBodyHandler *body_handler){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); - LinphoneCore *lc=(LinphoneCore *)op->get_sal()->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); + LinphoneCore *lc=(LinphoneCore *)op->getSal()->getUserPointer(); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { op->decline(SalReasonServiceUnavailable); @@ -689,14 +689,14 @@ static void subscribe_received(SalSubscribeOp *op, const char *eventname, const } static void incoming_subscribe_closed(SalOp *op){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); linphone_event_set_state(lev,LinphoneSubscriptionTerminated); } static void on_publish_response(SalOp* op){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); - const SalErrorInfo *ei=op->get_error_info(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); + const SalErrorInfo *ei=op->getErrorInfo(); if (lev==NULL) return; if (ei->reason==SalReasonNone){ @@ -715,7 +715,7 @@ static void on_publish_response(SalOp* op){ static void on_expire(SalOp *op){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); if (lev==NULL) return; @@ -727,14 +727,14 @@ static void on_expire(SalOp *op){ } static void on_notify_response(SalOp *op){ - LinphoneEvent *lev=(LinphoneEvent*)op->get_user_pointer(); + LinphoneEvent *lev=(LinphoneEvent*)op->getUserPointer(); if (!lev) return; if (lev->is_out_of_dialog_op) { switch (linphone_event_get_subscription_state(lev)) { case LinphoneSubscriptionIncomingReceived: - if (op->get_error_info()->reason == SalReasonNone) + if (op->getErrorInfo()->reason == SalReasonNone) linphone_event_set_state(lev, LinphoneSubscriptionTerminated); else linphone_event_set_state(lev, LinphoneSubscriptionError); @@ -756,7 +756,7 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ LinphonePrivate::Address addr(refer_uri); bctbx_free(refer_uri); if (addr.isValid()) { - LinphoneCore *lc = reinterpret_cast(op->get_sal()->get_user_pointer()); + LinphoneCore *lc = reinterpret_cast(op->getSal()->getUserPointer()); if (linphone_core_get_global_state(lc) != LinphoneGlobalOn) { static_cast(op)->reply(SalReasonDeclined); @@ -767,10 +767,10 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ if (linphone_core_conference_server_enabled(lc)) { // Removal of a participant at the server side shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( - ChatRoomId(IdentityAddress(op->get_to()), IdentityAddress(op->get_to())) + ChatRoomId(IdentityAddress(op->getTo()), IdentityAddress(op->getTo())) ); if (chatRoom) { - std::shared_ptr participant = chatRoom->findParticipant(IdentityAddress(op->get_from())); + std::shared_ptr participant = chatRoom->findParticipant(IdentityAddress(op->getFrom())); if (!participant || !participant->isAdmin()) { static_cast(op)->reply(SalReasonDeclined); return; @@ -784,7 +784,7 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ } else { // The server asks a participant to leave a chat room LinphoneChatRoom *cr = L_GET_C_BACK_PTR( - L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom(ChatRoomId(addr, IdentityAddress(op->get_to()))) + L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom(ChatRoomId(addr, IdentityAddress(op->getTo()))) ); if (cr) { L_GET_CPP_PTR_FROM_C_OBJECT(cr)->leave(); @@ -796,11 +796,11 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ } else { if (linphone_core_conference_server_enabled(lc)) { shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( - ChatRoomId(IdentityAddress(op->get_to()), IdentityAddress(op->get_to())) + ChatRoomId(IdentityAddress(op->getTo()), IdentityAddress(op->getTo())) ); LinphoneChatRoom *cr = L_GET_C_BACK_PTR(chatRoom); if (cr) { - Address fromAddr(op->get_from()); + Address fromAddr(op->getFrom()); shared_ptr participant = chatRoom->findParticipant(fromAddr); if (!participant || !participant->isAdmin()) { static_cast(op)->reply(SalReasonDeclined); @@ -820,7 +820,7 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ list identAddresses; identAddresses.push_back(addr); L_GET_PRIVATE(static_pointer_cast(chatRoom))->checkCompatibleParticipants( - IdentityAddress(op->get_remote_contact()), + IdentityAddress(op->getRemoteContact()), identAddresses ); static_cast(op)->reply(SalReasonNone); @@ -830,7 +830,7 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){ } } else { shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( - ChatRoomId(addr, IdentityAddress(op->get_to())) + ChatRoomId(addr, IdentityAddress(op->getTo())) ); if (!chatRoom) chatRoom = L_GET_PRIVATE_FROM_C_OBJECT(lc)->createClientGroupChatRoom("", addr.asString(), Content(), false); diff --git a/coreapi/carddav.c b/coreapi/carddav.c index 880d778e2..912da2b87 100644 --- a/coreapi/carddav.c +++ b/coreapi/carddav.c @@ -573,7 +573,7 @@ static char* generate_url_from_server_address_and_uid(const char *server_url) { char *result = NULL; if (server_url) { char *uuid = reinterpret_cast(ms_malloc(64)); - if (LinphonePrivate::Sal::generate_uuid(uuid, 64) == 0) { + if (LinphonePrivate::Sal::generateUuid(uuid, 64) == 0) { char *url = reinterpret_cast(ms_malloc(300)); snprintf(url, 300, "%s/linphone-%s.vcf", server_url, uuid); ms_debug("Generated url is %s", url); diff --git a/coreapi/chat.c b/coreapi/chat.c index edc8b861b..9e3c3b100 100644 --- a/coreapi/chat.c +++ b/coreapi/chat.c @@ -127,10 +127,10 @@ int linphone_core_message_received(LinphoneCore *lc, LinphonePrivate::SalOp *op, const char *peerAddress; const char *localAddress; if (linphone_core_conference_server_enabled(lc)) { - localAddress = peerAddress = op->get_to(); + localAddress = peerAddress = op->getTo(); } else { - peerAddress = op->get_from(); - localAddress = op->get_to(); + peerAddress = op->getFrom(); + localAddress = op->getTo(); } shared_ptr chatRoom = L_GET_CPP_PTR_FROM_C_OBJECT(lc)->findChatRoom( diff --git a/coreapi/error_info.c b/coreapi/error_info.c index a4c29c7f3..fe619e4df 100644 --- a/coreapi/error_info.c +++ b/coreapi/error_info.c @@ -207,9 +207,9 @@ void linphone_error_info_from_sal_op(LinphoneErrorInfo *ei, const LinphonePrivat }else{ const SalErrorInfo *sei; linphone_error_info_reset(ei); - sei = op->get_error_info(); + sei = op->getErrorInfo(); linphone_error_info_from_sal(ei, sei); - sei = op->get_reason_error_info(); + sei = op->getReasonErrorInfo(); linphone_error_info_from_sal_reason_ei(ei, sei); } } diff --git a/coreapi/event.c b/coreapi/event.c index 582774843..149eda87c 100644 --- a/coreapi/event.c +++ b/coreapi/event.c @@ -119,7 +119,7 @@ void linphone_event_cbs_set_notify_response(LinphoneEventCbs *cbs, LinphoneEvent static void linphone_event_release(LinphoneEvent *lev){ if (lev->op) { /*this will stop the refresher*/ - lev->op->stop_refreshing(); + lev->op->stopRefreshing(); } linphone_event_unref(lev); } @@ -133,7 +133,7 @@ static LinphoneEvent * linphone_event_new_base(LinphoneCore *lc, LinphoneSubscri lev->name=ms_strdup(name); if (strcmp(lev->name, "conference") == 0) lev->internal = TRUE; - lev->op->set_user_pointer(lev); + lev->op->setUserPointer(lev); return lev; } @@ -221,7 +221,7 @@ LinphoneReason linphone_event_get_reason(const LinphoneEvent *lev){ LinphoneEvent *linphone_core_create_subscribe(LinphoneCore *lc, const LinphoneAddress *resource, const char *event, int expires){ LinphoneEvent *lev=linphone_event_new(lc, LinphoneSubscriptionOutgoing, event, expires); linphone_configure_op(lc,lev->op,resource,NULL,TRUE); - lev->op->set_manual_refresher_mode(!lp_config_get_int(lc->config,"sip","refresh_generic_subscribe",1)); + lev->op->setManualRefresherMode(!lp_config_get_int(lc->config,"sip","refresh_generic_subscribe",1)); return lev; } @@ -229,7 +229,7 @@ LinphoneEvent *linphone_core_create_notify(LinphoneCore *lc, const LinphoneAddre LinphoneEvent *lev=linphone_event_new(lc, LinphoneSubscriptionIncoming, event, -1); linphone_configure_op(lc,lev->op,resource,NULL,TRUE); lev->subscription_state = LinphoneSubscriptionIncomingReceived; - lev->op->set_event(event); + lev->op->setEvent(event); lev->is_out_of_dialog_op = TRUE; return lev; } @@ -265,10 +265,10 @@ LinphoneStatus linphone_event_send_subscribe(LinphoneEvent *lev, const LinphoneC } if (lev->send_custom_headers){ - lev->op->set_sent_custom_header(lev->send_custom_headers); + lev->op->setSentCustomHeaders(lev->send_custom_headers); sal_custom_header_free(lev->send_custom_headers); lev->send_custom_headers=NULL; - }else lev->op->set_sent_custom_header(NULL); + }else lev->op->setSentCustomHeaders(NULL); body_handler = sal_body_handler_from_content(body); auto subscribeOp = dynamic_cast(lev->op); @@ -347,7 +347,7 @@ static LinphoneEvent *_linphone_core_create_publish(LinphoneCore *core, Linphone lev = linphone_event_new_with_op(lc, new SalPublishOp(lc->sal), LinphoneSubscriptionInvalidDir, event); lev->expires = expires; linphone_configure_op_with_proxy(lc,lev->op,resource,NULL, !!lp_config_get_int(lc->config,"sip","publish_msg_with_contact",0),cfg); - lev->op->set_manual_refresher_mode(!lp_config_get_int(lc->config,"sip","refresh_generic_publish",1)); + lev->op->setManualRefresherMode(!lp_config_get_int(lc->config,"sip","refresh_generic_publish",1)); return lev; } LinphoneEvent *linphone_core_create_publish(LinphoneCore *lc, const LinphoneAddress *resource, const char *event, int expires){ @@ -374,10 +374,10 @@ static int _linphone_event_send_publish(LinphoneEvent *lev, const LinphoneConten return -1; } if (lev->send_custom_headers){ - lev->op->set_sent_custom_header(lev->send_custom_headers); + lev->op->setSentCustomHeaders(lev->send_custom_headers); sal_custom_header_free(lev->send_custom_headers); lev->send_custom_headers=NULL; - }else lev->op->set_sent_custom_header(NULL); + }else lev->op->setSentCustomHeaders(NULL); body_handler = sal_body_handler_from_content(body); auto publishOp = dynamic_cast(lev->op); err=publishOp->publish(NULL,NULL,lev->name,lev->expires,body_handler); @@ -413,7 +413,7 @@ LinphoneStatus linphone_event_refresh_publish(LinphoneEvent *lev) { return lev->op->refresh(); } void linphone_event_pause_publish(LinphoneEvent *lev) { - if (lev->op) lev->op->stop_refreshing(); + if (lev->op) lev->op->stopRefreshing(); } void linphone_event_unpublish(LinphoneEvent *lev) { lev->terminating = TRUE; /* needed to get clear event*/ @@ -435,7 +435,7 @@ void linphone_event_add_custom_header(LinphoneEvent *ev, const char *name, const } const char* linphone_event_get_custom_header(LinphoneEvent* ev, const char* name){ - const SalCustomHeader *ch=ev->op->get_recv_custom_header(); + const SalCustomHeader *ch=ev->op->getRecvCustomHeaders(); return sal_custom_header_find(ch,name); } @@ -453,7 +453,7 @@ void linphone_event_terminate(LinphoneEvent *lev){ lev->terminating=TRUE; if (lev->dir==LinphoneSubscriptionIncoming){ auto op = dynamic_cast(lev->op); - op->close_notify(); + op->closeNotify(); }else if (lev->dir==LinphoneSubscriptionOutgoing){ auto op = dynamic_cast(lev->op); op->unsubscribe(); @@ -511,7 +511,7 @@ const char *linphone_event_get_name(const LinphoneEvent *lev){ static const LinphoneAddress *_linphone_event_cache_to (const LinphoneEvent *lev) { if (lev->to_address) linphone_address_unref(lev->to_address); - char *buf = sal_address_as_string(lev->op->get_to_address()); + char *buf = sal_address_as_string(lev->op->getToAddress()); ((LinphoneEvent *)lev)->to_address = linphone_address_new(buf); ms_free(buf); return lev->to_address; @@ -520,7 +520,7 @@ static const LinphoneAddress *_linphone_event_cache_to (const LinphoneEvent *lev static const LinphoneAddress *_linphone_event_cache_from (const LinphoneEvent *lev) { if (lev->from_address) linphone_address_unref(lev->from_address); - char *buf = sal_address_as_string(lev->op->get_from_address()); + char *buf = sal_address_as_string(lev->op->getFromAddress()); ((LinphoneEvent *)lev)->from_address = linphone_address_new(buf); ms_free(buf); return lev->from_address; @@ -529,7 +529,7 @@ static const LinphoneAddress *_linphone_event_cache_from (const LinphoneEvent *l static const LinphoneAddress *_linphone_event_cache_remote_contact (const LinphoneEvent *lev) { if (lev->remote_contact_address) linphone_address_unref(lev->remote_contact_address); - char *buf = sal_address_as_string(lev->op->get_remote_contact_address()); + char *buf = sal_address_as_string(lev->op->getRemoteContactAddress()); ((LinphoneEvent *)lev)->remote_contact_address = linphone_address_new(buf); ms_free(buf); return lev->remote_contact_address; diff --git a/coreapi/friend.c b/coreapi/friend.c index b865256db..6b3b175ff 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -478,7 +478,7 @@ void linphone_friend_notify(LinphoneFriend *lf, LinphonePresenceModel *presence) } for(elem=lf->insubs; elem!=NULL; elem=bctbx_list_next(elem)){ auto op = reinterpret_cast(bctbx_list_get_data(elem)); - op->notify_presence((SalPresenceModel *)presence); + op->notifyPresence((SalPresenceModel *)presence); } } @@ -531,7 +531,7 @@ void linphone_friend_invalidate_subscription(LinphoneFriend *lf){ } static void close_presence_notification(SalPresenceOp *op) { - op->notify_presence_close(); + op->notifyPresenceClose(); } static void release_sal_op(SalOp *op) { @@ -773,7 +773,7 @@ void linphone_friend_update_subscribes(LinphoneFriend *fr, bool_t only_when_regi linphone_friend_unsubscribe(fr); }else if (!can_subscribe && fr->outsub){ fr->subscribe_active=FALSE; - fr->outsub->stop_refreshing(); + fr->outsub->stopRefreshing(); } } diff --git a/coreapi/friendlist.c b/coreapi/friendlist.c index 878fc14f0..e55892a21 100644 --- a/coreapi/friendlist.c +++ b/coreapi/friendlist.c @@ -834,7 +834,7 @@ LinphoneFriend * linphone_friend_list_find_friend_by_out_subscribe ( const bctbx_list_t *elem; for (elem = list->friends; elem != NULL; elem = bctbx_list_next(elem)) { LinphoneFriend *lf = (LinphoneFriend *)bctbx_list_get_data(elem); - if (lf->outsub && ((lf->outsub == op) || lf->outsub->is_forked_of(op))) return lf; + if (lf->outsub && ((lf->outsub == op) || lf->outsub->isForkedOf(op))) return lf; } return NULL; } diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index ce420c6c7..45513f430 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -1296,12 +1296,12 @@ static void sip_config_read(LinphoneCore *lc) { int ipv6_default = TRUE; if (lp_config_get_int(lc->config,"sip","use_session_timers",0)==1){ - lc->sal->use_session_timers(200); + lc->sal->useSessionTimers(200); } - lc->sal->use_no_initial_route(!!lp_config_get_int(lc->config,"sip","use_no_initial_route",0)); - lc->sal->use_rport(!!lp_config_get_int(lc->config,"sip","use_rport",1)); - lc->sal->set_contact_linphone_specs(lp_config_get_string(lc->config, "sip", "linphone_specs", NULL)); + lc->sal->useNoInitialRoute(!!lp_config_get_int(lc->config,"sip","use_no_initial_route",0)); + lc->sal->useRport(!!lp_config_get_int(lc->config,"sip","use_rport",1)); + lc->sal->setContactLinphoneSpecs(lp_config_get_string(lc->config, "sip", "linphone_specs", NULL)); if (!lp_config_get_int(lc->config,"sip","ipv6_migration_done",FALSE) && lp_config_has_entry(lc->config,"sip","use_ipv6")) { lp_config_clean_entry(lc->config,"sip","use_ipv6"); @@ -1320,7 +1320,7 @@ static void sip_config_read(LinphoneCore *lc) { certificates_config_read(lc); /*setting the dscp must be done before starting the transports, otherwise it is not taken into effect*/ - lc->sal->set_dscp(linphone_core_get_sip_dscp(lc)); + lc->sal->setDscp(linphone_core_get_sip_dscp(lc)); /*start listening on ports*/ linphone_core_set_sip_transports(lc,&tr); @@ -1386,7 +1386,7 @@ static void sip_config_read(LinphoneCore *lc) { linphone_core_set_media_encryption(lc,linphone_core_get_media_encryption(lc)); /*enable the reconnection to the primary server when it is up again asap*/ - lc->sal->enable_reconnect_to_primary_asap(!!lp_config_get_int(lc->config,"sip","reconnect_to_primary_asap",0)); + lc->sal->enableReconnectToPrimaryAsap(!!lp_config_get_int(lc->config,"sip","reconnect_to_primary_asap",0)); /*for tuning or test*/ lc->sip_conf.sdp_200_ack = !!lp_config_get_int(lc->config,"sip","sdp_200_ack",0); @@ -1399,12 +1399,12 @@ static void sip_config_read(LinphoneCore *lc) { lc->sip_conf.keepalive_period = (unsigned int)lp_config_get_int(lc->config,"sip","keepalive_period",10000); lc->sip_conf.tcp_tls_keepalive = !!lp_config_get_int(lc->config,"sip","tcp_tls_keepalive",0); linphone_core_enable_keep_alive(lc, (lc->sip_conf.keepalive_period > 0)); - lc->sal->use_one_matching_codec_policy(!!lp_config_get_int(lc->config,"sip","only_one_codec",0)); - lc->sal->use_dates(!!lp_config_get_int(lc->config,"sip","put_date",0)); - lc->sal->enable_sip_update_method(!!lp_config_get_int(lc->config,"sip","sip_update",1)); + lc->sal->useOneMatchingCodecPolicy(!!lp_config_get_int(lc->config,"sip","only_one_codec",0)); + lc->sal->useDates(!!lp_config_get_int(lc->config,"sip","put_date",0)); + lc->sal->enableSipUpdateMethod(!!lp_config_get_int(lc->config,"sip","sip_update",1)); lc->sip_conf.vfu_with_info = !!lp_config_get_int(lc->config,"sip","vfu_with_info",1); linphone_core_set_sip_transport_timeout(lc, lp_config_get_int(lc->config, "sip", "transport_timeout", 63000)); - lc->sal->set_supported_tags(lp_config_get_string(lc->config,"sip","supported","replaces, outbound, gruu")); + lc->sal->setSupportedTags(lp_config_get_string(lc->config,"sip","supported","replaces, outbound, gruu")); lc->sip_conf.save_auth_info = !!lp_config_get_int(lc->config, "sip", "save_auth_info", 1); linphone_core_create_im_notif_policy(lc); } @@ -1851,13 +1851,13 @@ void linphone_core_set_expected_bandwidth(LinphoneCore *lc, int bw){ } void linphone_core_set_sip_transport_timeout(LinphoneCore *lc, int timeout_ms) { - lc->sal->set_transport_timeout(timeout_ms); + lc->sal->setTransportTimeout(timeout_ms); if (linphone_core_ready(lc)) lp_config_set_int(lc->config, "sip", "transport_timeout", timeout_ms); } int linphone_core_get_sip_transport_timeout(LinphoneCore *lc) { - return lc->sal->get_transport_timeout(); + return lc->sal->getTransportTimeout(); } bool_t linphone_core_get_dns_set_by_app(LinphoneCore *lc) { @@ -1870,27 +1870,27 @@ void linphone_core_set_dns_servers_app(LinphoneCore *lc, const bctbx_list_t *ser } void linphone_core_set_dns_servers(LinphoneCore *lc, const bctbx_list_t *servers){ - lc->sal->set_dns_servers(servers); + lc->sal->setDnsServers(servers); } void linphone_core_enable_dns_srv(LinphoneCore *lc, bool_t enable) { - lc->sal->enable_dns_srv(enable); + lc->sal->enableDnsSrv(enable); if (linphone_core_ready(lc)) lp_config_set_int(lc->config, "net", "dns_srv_enabled", enable ? 1 : 0); } bool_t linphone_core_dns_srv_enabled(const LinphoneCore *lc) { - return lc->sal->dns_srv_enabled(); + return lc->sal->dnsSrvEnabled(); } void linphone_core_enable_dns_search(LinphoneCore *lc, bool_t enable) { - lc->sal->enable_dns_search(enable); + lc->sal->enableDnsSearch(enable); if (linphone_core_ready(lc)) lp_config_set_int(lc->config, "net", "dns_search_enabled", enable ? 1 : 0); } bool_t linphone_core_dns_search_enabled(const LinphoneCore *lc) { - return lc->sal->dns_search_enabled(); + return lc->sal->dnsSearchEnabled(); } int linphone_core_get_download_bandwidth(const LinphoneCore *lc){ @@ -2228,12 +2228,12 @@ static void linphone_core_init(LinphoneCore * lc, LinphoneCoreCbs *cbs, LpConfig image_resources_dir = linphone_factory_get_image_resources_dir(lfactory); lc->sal=new Sal(NULL); - lc->sal->set_refresher_retry_after(lp_config_get_int(lc->config, "sip", "refresher_retry_after", 60000)); - lc->sal->set_http_proxy_host(linphone_core_get_http_proxy_host(lc)); - lc->sal->set_http_proxy_port(linphone_core_get_http_proxy_port(lc)); + lc->sal->setRefresherRetryAfter(lp_config_get_int(lc->config, "sip", "refresher_retry_after", 60000)); + lc->sal->setHttpProxyHost(linphone_core_get_http_proxy_host(lc)); + lc->sal->setHttpProxyPort(linphone_core_get_http_proxy_port(lc)); - lc->sal->set_user_pointer(lc); - lc->sal->set_callbacks(&linphone_sal_callbacks); + lc->sal->setUserPointer(lc); + lc->sal->setCallbacks(&linphone_sal_callbacks); #ifdef __ANDROID__ if (system_context) @@ -2244,7 +2244,7 @@ static void linphone_core_init(LinphoneCore * lc, LinphoneCoreCbs *cbs, LpConfig // MS Factory MUST be created after Android has been set, otherwise no camera will be detected ! lc->factory = ms_factory_new_with_voip_and_directories(msplugins_dir, image_resources_dir); - lc->sal->set_factory(lc->factory); + lc->sal->setFactory(lc->factory); belr::GrammarLoader::get().addPath(getPlatformHelpers(lc)->getDataPath()); @@ -2283,7 +2283,7 @@ static void linphone_core_init(LinphoneCore * lc, LinphoneCoreCbs *cbs, LpConfig /* Create the http provider in dual stack mode (ipv4 and ipv6. * If this creates problem, we may need to implement parallel ipv6/ ipv4 http requests in belle-sip. */ - lc->http_provider = belle_sip_stack_create_http_provider(reinterpret_cast(lc->sal->get_stack_impl()), "::0"); + lc->http_provider = belle_sip_stack_create_http_provider(reinterpret_cast(lc->sal->getStackImpl()), "::0"); lc->http_crypto_config = belle_tls_crypto_config_new(); belle_http_provider_set_tls_crypto_config(lc->http_provider,lc->http_crypto_config); @@ -2321,13 +2321,13 @@ void linphone_core_start (LinphoneCore *lc) { const char* uuid=lp_config_get_string(lc->config,"misc","uuid",NULL); if (!uuid){ char tmp[64]; - lc->sal->create_uuid(tmp,sizeof(tmp)); + lc->sal->createUuid(tmp,sizeof(tmp)); lp_config_set_string(lc->config,"misc","uuid",tmp); }else if (strcmp(uuid,"0")!=0) /*to allow to disable sip.instance*/ - lc->sal->set_uuid(uuid); + lc->sal->setUuid(uuid); - if (lc->sal->get_root_ca()) { - belle_tls_crypto_config_set_root_ca(lc->http_crypto_config, lc->sal->get_root_ca()); + if (lc->sal->getRootCa()) { + belle_tls_crypto_config_set_root_ca(lc->http_crypto_config, lc->sal->getRootCa()); belle_http_provider_set_tls_crypto_config(lc->http_provider, lc->http_crypto_config); } @@ -2857,12 +2857,12 @@ void linphone_core_set_user_agent(LinphoneCore *lc, const char *name, const char char ua_string[256]; snprintf(ua_string, sizeof(ua_string) - 1, "%s/%s", name?name:"", ver?ver:""); if (lc->sal) { - lc->sal->set_user_agent(ua_string); - lc->sal->append_stack_string_to_user_agent(); + lc->sal->setUserAgent(ua_string); + lc->sal->appendStackStringToUserAgent(); } } const char *linphone_core_get_user_agent(LinphoneCore *lc){ - return lc->sal->get_user_agent(); + return lc->sal->getUserAgent(); } const char *linphone_core_get_user_agent_name(void){ @@ -2905,32 +2905,32 @@ int _linphone_core_apply_transports(LinphoneCore *lc){ else anyaddr="0.0.0.0"; - sal->unlisten_ports(); + sal->unlistenPorts(); listening_address = lp_config_get_string(lc->config,"sip","bind_address",anyaddr); if (linphone_core_get_http_proxy_host(lc)) { - sal->set_http_proxy_host(linphone_core_get_http_proxy_host(lc)); - sal->set_http_proxy_port(linphone_core_get_http_proxy_port(lc)); + sal->setHttpProxyHost(linphone_core_get_http_proxy_host(lc)); + sal->setHttpProxyPort(linphone_core_get_http_proxy_port(lc)); } if (lc->tunnel && linphone_tunnel_sip_enabled(lc->tunnel) && linphone_tunnel_get_activated(lc->tunnel)){ - sal->set_listen_port(anyaddr,tr->udp_port,SalTransportUDP,TRUE); + sal->setListenPort(anyaddr,tr->udp_port,SalTransportUDP,TRUE); }else{ if (tr->udp_port!=0){ - sal->set_listen_port(listening_address,tr->udp_port,SalTransportUDP,FALSE); + sal->setListenPort(listening_address,tr->udp_port,SalTransportUDP,FALSE); } if (tr->tcp_port!=0){ - sal->set_listen_port (listening_address,tr->tcp_port,SalTransportTCP,FALSE); + sal->setListenPort (listening_address,tr->tcp_port,SalTransportTCP,FALSE); } if (linphone_core_sip_transport_supported(lc,LinphoneTransportTls)){ if (tr->tls_port!=0) - sal->set_listen_port (listening_address,tr->tls_port,SalTransportTLS,FALSE); + sal->setListenPort (listening_address,tr->tls_port,SalTransportTLS,FALSE); } } return 0; } bool_t linphone_core_sip_transport_supported(const LinphoneCore *lc, LinphoneTransportType tp){ - return !!lc->sal->transport_available((SalTransport)tp); + return !!lc->sal->isTransportAvailable((SalTransport)tp); } BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneTransports); @@ -3070,17 +3070,17 @@ LinphoneTransports *linphone_core_get_transports(LinphoneCore *lc){ } void linphone_core_get_sip_transports_used(LinphoneCore *lc, LinphoneSipTransports *tr){ - tr->udp_port=lc->sal->get_listening_port(SalTransportUDP); - tr->tcp_port=lc->sal->get_listening_port(SalTransportTCP); - tr->tls_port=lc->sal->get_listening_port(SalTransportTLS); + tr->udp_port=lc->sal->getListeningPort(SalTransportUDP); + tr->tcp_port=lc->sal->getListeningPort(SalTransportTCP); + tr->tls_port=lc->sal->getListeningPort(SalTransportTLS); } LinphoneTransports *linphone_core_get_transports_used(LinphoneCore *lc){ LinphoneTransports *transports = linphone_transports_new(); - transports->udp_port = lc->sal->get_listening_port(SalTransportUDP); - transports->tcp_port = lc->sal->get_listening_port(SalTransportTCP); - transports->tls_port = lc->sal->get_listening_port(SalTransportTLS); - transports->dtls_port = lc->sal->get_listening_port(SalTransportDTLS); + transports->udp_port = lc->sal->getListeningPort(SalTransportUDP); + transports->tcp_port = lc->sal->getListeningPort(SalTransportTCP); + transports->tls_port = lc->sal->getListeningPort(SalTransportTLS); + transports->dtls_port = lc->sal->getListeningPort(SalTransportDTLS); return transports; } @@ -3112,7 +3112,7 @@ void linphone_core_enable_ipv6(LinphoneCore *lc, bool_t val){ bool_t linphone_core_content_encoding_supported(const LinphoneCore *lc, const char *content_encoding) { const char *handle_content_encoding = lp_config_get_string(lc->config, "sip", "handle_content_encoding", "deflate"); - return (strcmp(handle_content_encoding, content_encoding) == 0) && lc->sal->content_encoding_available(content_encoding); + return (strcmp(handle_content_encoding, content_encoding) == 0) && lc->sal->isContentEncodingAvailable(content_encoding); } static void monitor_network_state(LinphoneCore *lc, time_t curtime){ @@ -3523,7 +3523,7 @@ static void linphone_transfer_routes_to_op(bctbx_list_t *routes, SalOp *op){ bctbx_list_t *it; for(it=routes;it!=NULL;it=it->next){ SalAddress *addr=(SalAddress*)it->data; - op->add_route_address(addr); + op->addRouteAddress(addr); sal_address_destroy(addr); } bctbx_list_free(routes); @@ -3536,7 +3536,7 @@ void linphone_configure_op_with_proxy(LinphoneCore *lc, SalOp *op, const Linphon if (proxy){ identity=linphone_proxy_config_get_identity(proxy); if (linphone_proxy_config_get_privacy(proxy)!=LinphonePrivacyDefault) { - op->set_privacy(linphone_proxy_config_get_privacy(proxy)); + op->setPrivacy(linphone_proxy_config_get_privacy(proxy)); } }else identity=linphone_core_get_primary_contact(lc); /*sending out of calls*/ @@ -3545,21 +3545,21 @@ void linphone_configure_op_with_proxy(LinphoneCore *lc, SalOp *op, const Linphon linphone_transfer_routes_to_op(routes,op); } - op->set_to_address(L_GET_PRIVATE_FROM_C_OBJECT(dest)->getInternalAddress()); - op->set_from(identity); - op->set_sent_custom_header(headers); - op->set_realm(linphone_proxy_config_get_realm(proxy)); + op->setToAddress(L_GET_PRIVATE_FROM_C_OBJECT(dest)->getInternalAddress()); + op->setFrom(identity); + op->setSentCustomHeaders(headers); + op->setRealm(linphone_proxy_config_get_realm(proxy)); if (with_contact && proxy && proxy->op){ const LinphoneAddress *contact = linphone_proxy_config_get_contact(proxy); SalAddress *salAddress = nullptr; if (contact) salAddress = sal_address_clone(const_cast(L_GET_PRIVATE_FROM_C_OBJECT(contact)->getInternalAddress())); - op->set_contact_address(salAddress); + op->setContactAddress(salAddress); if (salAddress) sal_address_unref(salAddress); } - op->enable_cnx_ip_to_0000_if_sendonly(!!lp_config_get_default_int(lc->config,"sip","cnx_ip_to_0000_if_sendonly_enabled",0)); /*also set in linphone_call_new_incoming*/ + op->enableCnxIpTo0000IfSendOnly(!!lp_config_get_default_int(lc->config,"sip","cnx_ip_to_0000_if_sendonly_enabled",0)); /*also set in linphone_call_new_incoming*/ } void linphone_configure_op(LinphoneCore *lc, SalOp *op, const LinphoneAddress *dest, SalCustomHeader *headers, bool_t with_contact) { linphone_configure_op_with_proxy(lc, op, dest, headers,with_contact,linphone_core_lookup_known_proxy(lc,dest)); @@ -4304,7 +4304,7 @@ const char *linphone_core_get_ring(const LinphoneCore *lc){ } void linphone_core_set_root_ca(LinphoneCore *lc, const char *path) { - lc->sal->set_root_ca(path); + lc->sal->setRootCa(path); if (lc->http_crypto_config) { belle_tls_crypto_config_set_root_ca(lc->http_crypto_config, path); } @@ -4312,8 +4312,8 @@ void linphone_core_set_root_ca(LinphoneCore *lc, const char *path) { } void linphone_core_set_root_ca_data(LinphoneCore *lc, const char *data) { - lc->sal->set_root_ca(NULL); - lc->sal->set_root_ca_data(data); + lc->sal->setRootCa(NULL); + lc->sal->setRootCaData(data); if (lc->http_crypto_config) { belle_tls_crypto_config_set_root_ca_data(lc->http_crypto_config, data); } @@ -4324,7 +4324,7 @@ const char *linphone_core_get_root_ca(LinphoneCore *lc){ } void linphone_core_verify_server_certificates(LinphoneCore *lc, bool_t yesno){ - lc->sal->verify_server_certificates(yesno); + lc->sal->verifyServerCertificates(yesno); if (lc->http_crypto_config){ belle_tls_crypto_config_set_verify_exceptions(lc->http_crypto_config, yesno ? 0 : BELLE_TLS_VERIFY_ANY_REASON); } @@ -4332,7 +4332,7 @@ void linphone_core_verify_server_certificates(LinphoneCore *lc, bool_t yesno){ } void linphone_core_verify_server_cn(LinphoneCore *lc, bool_t yesno){ - lc->sal->verify_server_cn(yesno); + lc->sal->verifyServerCn(yesno); if (lc->http_crypto_config){ belle_tls_crypto_config_set_verify_exceptions(lc->http_crypto_config, yesno ? 0 : BELLE_TLS_VERIFY_CN_MISMATCH); } @@ -4340,7 +4340,7 @@ void linphone_core_verify_server_cn(LinphoneCore *lc, bool_t yesno){ } void linphone_core_set_ssl_config(LinphoneCore *lc, void *ssl_config) { - lc->sal->set_ssl_config(ssl_config); + lc->sal->setSslConfig(ssl_config); if (lc->http_crypto_config) { belle_tls_crypto_config_set_ssl_config(lc->http_crypto_config, ssl_config); } @@ -4637,9 +4637,9 @@ void linphone_core_set_nat_policy(LinphoneCore *lc, LinphoneNatPolicy *policy) { linphone_nat_policy_save_to_config(lc->nat_policy); } - lc->sal->enable_nat_helper(!!lp_config_get_int(lc->config, "net", "enable_nat_helper", 1)); - lc->sal->enable_auto_contacts(TRUE); - lc->sal->use_rport(!!lp_config_get_int(lc->config, "sip", "use_rport", 1)); + lc->sal->enableNatHelper(!!lp_config_get_int(lc->config, "net", "enable_nat_helper", 1)); + lc->sal->enableAutoContacts(TRUE); + lc->sal->useRport(!!lp_config_get_int(lc->config, "sip", "use_rport", 1)); if (lc->sip_conf.contact) update_primary_contact(lc); } @@ -5844,8 +5844,8 @@ void sip_config_uninit(LinphoneCore *lc) linphone_vcard_context_destroy(lc->vcard_context); } - lc->sal->reset_transports(); - lc->sal->unlisten_ports(); /*to make sure no new messages are received*/ + lc->sal->resetTransports(); + lc->sal->unlistenPorts(); /*to make sure no new messages are received*/ if (lc->http_provider) { belle_sip_object_unref(lc->http_provider); lc->http_provider=NULL; @@ -6152,7 +6152,7 @@ static void set_sip_network_reachable(LinphoneCore* lc,bool_t is_sip_reachable, if (!lc->sip_network_reachable){ linphone_core_invalidate_friend_subscriptions(lc); - lc->sal->reset_transports(); + lc->sal->resetTransports(); } } @@ -6217,7 +6217,7 @@ bool_t linphone_core_is_network_reachable(LinphoneCore* lc) { } ortp_socket_t linphone_core_get_sip_socket(LinphoneCore *lc){ - return lc->sal->get_socket(); + return lc->sal->getSocket(); } void linphone_core_destroy(LinphoneCore *lc){ @@ -6337,15 +6337,15 @@ const char *linphone_error_to_string(LinphoneReason err){ void linphone_core_enable_keep_alive(LinphoneCore* lc,bool_t enable) { if (enable > 0) { - lc->sal->use_tcp_tls_keepalive(lc->sip_conf.tcp_tls_keepalive); - lc->sal->set_keepalive_period(lc->sip_conf.keepalive_period); + lc->sal->useTcpTlsKeepAlive(lc->sip_conf.tcp_tls_keepalive); + lc->sal->setKeepAlivePeriod(lc->sip_conf.keepalive_period); } else { - lc->sal->set_keepalive_period(0); + lc->sal->setKeepAlivePeriod(0); } } bool_t linphone_core_keep_alive_enabled(LinphoneCore* lc) { - return lc->sal->get_keepalive_period() > 0; + return lc->sal->getKeepAlivePeriod() > 0; } void linphone_core_start_dtmf_stream(LinphoneCore* lc) { @@ -6707,7 +6707,7 @@ const char* linphone_core_get_device_identifier(const LinphoneCore *lc) { } void linphone_core_set_sip_dscp(LinphoneCore *lc, int dscp){ - lc->sal->set_dscp(dscp); + lc->sal->setDscp(dscp); if (linphone_core_ready(lc)){ lp_config_set_int_hex(lc->config,"sip","dscp",dscp); _linphone_core_apply_transports(lc); @@ -6771,13 +6771,13 @@ const char * linphone_core_get_file_transfer_server(LinphoneCore *core) { } void linphone_core_add_supported_tag(LinphoneCore *lc, const char *tag){ - lc->sal->add_supported_tag(tag); - lp_config_set_string(lc->config,"sip","supported",lc->sal->get_supported_tags()); + lc->sal->addSupportedTag(tag); + lp_config_set_string(lc->config,"sip","supported",lc->sal->getSupportedTags()); } void linphone_core_remove_supported_tag(LinphoneCore *lc, const char *tag){ - lc->sal->remove_supported_tag(tag); - lp_config_set_string(lc->config,"sip","supported",lc->sal->get_supported_tags()); + lc->sal->removeSupportedTag(tag); + lp_config_set_string(lc->config,"sip","supported",lc->sal->getSupportedTags()); } void linphone_core_set_avpf_mode(LinphoneCore *lc, LinphoneAVPFMode mode){ @@ -6905,15 +6905,15 @@ void linphone_core_enable_realtime_text(LinphoneCore *lc, bool_t value) { void linphone_core_set_http_proxy_host(LinphoneCore *lc, const char *host) { lp_config_set_string(lc->config,"sip","http_proxy_host",host); if (lc->sal) { - lc->sal->set_http_proxy_host(host); - lc->sal->set_http_proxy_port(linphone_core_get_http_proxy_port(lc)); /*to make sure default value is set*/ + lc->sal->setHttpProxyHost(host); + lc->sal->setHttpProxyPort(linphone_core_get_http_proxy_port(lc)); /*to make sure default value is set*/ } } void linphone_core_set_http_proxy_port(LinphoneCore *lc, int port) { lp_config_set_int(lc->config,"sip","http_proxy_port",port); if (lc->sal) - lc->sal->set_http_proxy_port(port); + lc->sal->setHttpProxyPort(port); } const char *linphone_core_get_http_proxy_host(const LinphoneCore *lc) { @@ -7159,23 +7159,23 @@ LinphoneImEncryptionEngine *linphone_core_get_im_encryption_engine(const Linphon } void linphone_core_initialize_supported_content_types(LinphoneCore *lc) { - lc->sal->add_content_type_support("text/plain"); - lc->sal->add_content_type_support("message/external-body"); - lc->sal->add_content_type_support("application/vnd.gsma.rcs-ft-http+xml"); - lc->sal->add_content_type_support("application/im-iscomposing+xml"); - lc->sal->add_content_type_support("message/imdn+xml"); + lc->sal->addContentTypeSupport("text/plain"); + lc->sal->addContentTypeSupport("message/external-body"); + lc->sal->addContentTypeSupport("application/vnd.gsma.rcs-ft-http+xml"); + lc->sal->addContentTypeSupport("application/im-iscomposing+xml"); + lc->sal->addContentTypeSupport("message/imdn+xml"); } bool_t linphone_core_is_content_type_supported(const LinphoneCore *lc, const char *content_type) { - return lc->sal->is_content_type_supported(content_type); + return lc->sal->isContentTypeSupported(content_type); } void linphone_core_add_content_type_support(LinphoneCore *lc, const char *content_type) { - lc->sal->add_content_type_support(content_type); + lc->sal->addContentTypeSupport(content_type); } void linphone_core_remove_content_type_support(LinphoneCore *lc, const char *content_type) { - lc->sal->remove_content_type_support(content_type); + lc->sal->removeContentTypeSupport(content_type); } #ifdef ENABLE_UPDATE_CHECK @@ -7333,5 +7333,5 @@ const char *linphone_core_get_linphone_specs (const LinphoneCore *core) { void linphone_core_set_linphone_specs (LinphoneCore *core, const char *specs) { lp_config_set_string(linphone_core_get_config(core), "sip", "linphone_specs", specs); - core->sal->set_contact_linphone_specs(specs); + core->sal->setContactLinphoneSpecs(specs); } diff --git a/coreapi/misc.c b/coreapi/misc.c index f0e225112..0467dcfea 100644 --- a/coreapi/misc.c +++ b/coreapi/misc.c @@ -476,7 +476,7 @@ const char * linphone_core_get_echo_canceller_filter_name(const LinphoneCore *lc * task_fun must return BELLE_SIP_STOP when job is finished. **/ void linphone_core_queue_task(LinphoneCore *lc, belle_sip_source_func_t task_fun, void *data, const char *task_description){ - belle_sip_source_t *s=lc->sal->create_timer(task_fun,data, 20, task_description); + belle_sip_source_t *s=lc->sal->createTimer(task_fun,data, 20, task_description); belle_sip_object_unref(s); } diff --git a/coreapi/presence.c b/coreapi/presence.c index d8a78ecde..381f3e294 100644 --- a/coreapi/presence.c +++ b/coreapi/presence.c @@ -1563,7 +1563,7 @@ void linphone_subscription_new(LinphoneCore *lc, SalSubscribeOp *op, const char linphone_friend_add_incoming_subscription(lf, op); lf->inc_subscribe_pending=TRUE; if (lp_config_get_int(lc->config,"sip","notify_pending_state",0)) { - op->notify_pending_state(); + op->notifyPendingState(); } op->accept(); } else { @@ -1936,7 +1936,7 @@ void linphone_notify_recv(LinphoneCore *lc, SalOp *op, SalSubscribeStatus ss, Sa if (linphone_core_get_default_friend_list(lc) != NULL) lf=linphone_core_find_friend_by_out_subscribe(lc, op); if (lf==NULL && lp_config_get_int(lc->config,"sip","allow_out_of_subscribe_presence",0)){ - char *buf = sal_address_as_string_uri_only(op->get_from_address()); + char *buf = sal_address_as_string_uri_only(op->getFromAddress()); LinphoneAddress *addr = linphone_address_new(buf); lf = linphone_core_find_friend(lc, addr); ms_free(buf); @@ -2000,7 +2000,7 @@ void linphone_subscription_closed(LinphoneCore *lc, SalOp *op){ linphone_friend_remove_incoming_subscription(lf, op); }else{ /*case of an op that we already released because the friend was destroyed*/ - ms_message("Receiving unsuscribe for unknown in-subscribtion from %s", op->get_from()); + ms_message("Receiving unsuscribe for unknown in-subscribtion from %s", op->getFrom()); } } diff --git a/coreapi/proxy.c b/coreapi/proxy.c index fad3b0147..11972d9d1 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -436,7 +436,7 @@ void linphone_proxy_config_enable_publish(LinphoneProxyConfig *cfg, bool_t val){ } void linphone_proxy_config_pause_register(LinphoneProxyConfig *cfg){ - if (cfg->op) cfg->op->stop_refreshing(); + if (cfg->op) cfg->op->stopRefreshing(); } void linphone_proxy_config_edit(LinphoneProxyConfig *cfg){ @@ -457,7 +457,7 @@ void linphone_proxy_config_apply(LinphoneProxyConfig *cfg,LinphoneCore *lc){ void linphone_proxy_config_stop_refreshing(LinphoneProxyConfig * cfg){ LinphoneAddress *contact_addr = NULL; - const SalAddress *sal_addr = cfg->op && cfg->state == LinphoneRegistrationOk ? cfg->op->get_contact_address() : NULL; + const SalAddress *sal_addr = cfg->op && cfg->state == LinphoneRegistrationOk ? cfg->op->getContactAddress() : NULL; if (sal_addr) { char *buf = sal_address_as_string(sal_addr); contact_addr = buf ? linphone_address_new(buf) : NULL; @@ -538,10 +538,10 @@ static void linphone_proxy_config_register(LinphoneProxyConfig *cfg){ guess_contact_for_register(cfg); if (cfg->contact_address) - cfg->op->set_contact_address(L_GET_PRIVATE_FROM_C_OBJECT(cfg->contact_address)->getInternalAddress()); - cfg->op->set_user_pointer(cfg); + cfg->op->setContactAddress(L_GET_PRIVATE_FROM_C_OBJECT(cfg->contact_address)->getInternalAddress()); + cfg->op->setUserPointer(cfg); - if (cfg->op->register_( + if (cfg->op->sendRegister( proxy_string, cfg->reg_identity, cfg->expires, @@ -568,7 +568,7 @@ static void linphone_proxy_config_register(LinphoneProxyConfig *cfg){ void linphone_proxy_config_refresh_register(LinphoneProxyConfig *cfg){ if (cfg->reg_sendregister && cfg->op && cfg->state!=LinphoneRegistrationProgress){ - if (cfg->op->register_refresh(cfg->expires) == 0) { + if (cfg->op->refreshRegister(cfg->expires) == 0) { linphone_proxy_config_set_state(cfg,LinphoneRegistrationProgress, "Refresh registration"); } } @@ -850,7 +850,7 @@ LinphoneStatus linphone_proxy_config_done(LinphoneProxyConfig *cfg) if (res == LinphoneProxyConfigAddressDifferent) { _linphone_proxy_config_unregister(cfg); } - cfg->op->set_user_pointer(NULL); /*we don't want to receive status for this un register*/ + cfg->op->setUserPointer(NULL); /*we don't want to receive status for this un register*/ cfg->op->unref(); /*but we keep refresher to handle authentication if needed*/ cfg->op=NULL; } @@ -1045,7 +1045,7 @@ struct _LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyConfig const char *linphone_proxy_config_get_custom_header(LinphoneProxyConfig *cfg, const char *header_name){ const SalCustomHeader *ch; if (!cfg->op) return NULL; - ch = cfg->op->get_recv_custom_header(); + ch = cfg->op->getRecvCustomHeaders(); return sal_custom_header_find(ch, header_name); } @@ -1416,7 +1416,7 @@ const LinphoneErrorInfo *linphone_proxy_config_get_error_info(const LinphoneProx } const LinphoneAddress* linphone_proxy_config_get_service_route(const LinphoneProxyConfig* cfg) { - return cfg->op?(const LinphoneAddress*) cfg->op->get_service_route():NULL; + return cfg->op?(const LinphoneAddress*) cfg->op->getServiceRoute():NULL; } const char* linphone_proxy_config_get_transport(const LinphoneProxyConfig *cfg) { const char* addr=NULL; @@ -1496,7 +1496,7 @@ const LinphoneAddress *linphone_proxy_config_get_contact (const LinphoneProxyCon // Warning : Do not remove, the op can change its contact_address if (!cfg->op) return NULL; - const SalAddress *salAddr = cfg->op->get_contact_address(); + const SalAddress *salAddr = cfg->op->getContactAddress(); if (!salAddr) return NULL; if (cfg->contact_address) diff --git a/coreapi/quality_reporting.c b/coreapi/quality_reporting.c index a20b03b8e..52e80e991 100644 --- a/coreapi/quality_reporting.c +++ b/coreapi/quality_reporting.c @@ -380,7 +380,7 @@ static int send_report(LinphoneCall* call, reporting_session_report_t * report, sal_address_has_uri_param(salAddress, "maddr") || linphone_address_get_port(request_uri) != 0) { ms_message("Publishing report with custom route %s", collector_uri); - lev->op->set_route(collector_uri); + lev->op->setRoute(collector_uri); } if (linphone_event_send_publish(lev, content) != 0){ @@ -424,7 +424,7 @@ static const SalStreamDescription * get_media_stream_for_desc(const SalMediaDesc static void update_ip(LinphoneCall * call, int stats_type) { SalStreamType sal_stream_type = stats_type == LINPHONE_CALL_STATS_AUDIO ? SalAudio : stats_type == LINPHONE_CALL_STATS_VIDEO ? SalVideo : SalText; const SalStreamDescription * local_desc = get_media_stream_for_desc(_linphone_call_get_local_desc(call), sal_stream_type); - const SalStreamDescription * remote_desc = get_media_stream_for_desc(L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->get_remote_media_description(), sal_stream_type); + const SalStreamDescription * remote_desc = get_media_stream_for_desc(L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->getRemoteMediaDescription(), sal_stream_type); LinphoneCallLog *log = L_GET_CPP_PTR_FROM_C_OBJECT(call)->getLog(); if (local_desc != NULL) { @@ -444,7 +444,7 @@ static void update_ip(LinphoneCall * call, int stats_type) { if (strlen(remote_desc->rtp_addr) > 0) { STR_REASSIGN(log->reporting.reports[stats_type]->info.remote_addr.ip, ms_strdup(remote_desc->rtp_addr)); } else { - STR_REASSIGN(log->reporting.reports[stats_type]->info.remote_addr.ip, ms_strdup(L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->get_remote_media_description()->addr)); + STR_REASSIGN(log->reporting.reports[stats_type]->info.remote_addr.ip, ms_strdup(L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->getRemoteMediaDescription()->addr)); } } } @@ -511,7 +511,7 @@ void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) { if (!media_report_enabled(call, stats_type) || !L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()) return; - dialog_id = L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->get_dialog_id(); + dialog_id = L_GET_PRIVATE_FROM_C_OBJECT(call)->getOp()->getDialogId(); STR_REASSIGN(report->info.call_id, ms_strdup(log->call_id)); diff --git a/coreapi/vcard.cc b/coreapi/vcard.cc index 336ecf050..36488137f 100644 --- a/coreapi/vcard.cc +++ b/coreapi/vcard.cc @@ -367,7 +367,7 @@ bool_t linphone_vcard_generate_unique_id(LinphoneVcard *vCard) { if (linphone_vcard_get_uid(vCard)) { return FALSE; } - if (LinphonePrivate::Sal::generate_uuid(uuid, sizeof(uuid)) == 0) { + if (LinphonePrivate::Sal::generateUuid(uuid, sizeof(uuid)) == 0) { char vcard_uuid[sizeof(uuid)+4]; snprintf(vcard_uuid, sizeof(vcard_uuid), "urn:%s", uuid); linphone_vcard_set_uid(vCard, vcard_uuid); diff --git a/src/c-wrapper/api/c-call.cpp b/src/c-wrapper/api/c-call.cpp index c0b3cb235..a714340ce 100644 --- a/src/c-wrapper/api/c-call.cpp +++ b/src/c-wrapper/api/c-call.cpp @@ -207,7 +207,7 @@ LinphoneCallState linphone_call_get_state (const LinphoneCall *call) { bool_t linphone_call_asked_to_autoanswer (LinphoneCall *call) { //return TRUE if the unique(for the moment) incoming call asked to be autoanswered if (call) - return linphone_call_get_op(call)->autoanswer_asked(); + return linphone_call_get_op(call)->autoAnswerAsked(); return FALSE; } @@ -575,8 +575,8 @@ void linphone_call_ogl_render (const LinphoneCall *call) { LinphoneStatus linphone_call_send_info_message (LinphoneCall *call, const LinphoneInfoMessage *info) { SalBodyHandler *body_handler = sal_body_handler_from_content(linphone_info_message_get_content(info)); - linphone_call_get_op(call)->set_sent_custom_header(linphone_info_message_get_headers(info)); - return linphone_call_get_op(call)->send_info(nullptr, nullptr, body_handler); + linphone_call_get_op(call)->setSentCustomHeaders(linphone_info_message_get_headers(info)); + return linphone_call_get_op(call)->sendInfo(nullptr, nullptr, body_handler); } LinphoneCallStats *linphone_call_get_stats (LinphoneCall *call, LinphoneStreamType type) { diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index a60ff9d90..ff2a48399 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -680,11 +680,11 @@ void ChatMessagePrivate::send () { core->getCCore(), op, peer, getSalCustomHeaders(), !!lp_config_get_int(core->getCCore()->config, "sip", "chat_msg_with_contact", 0) ); - op->set_user_pointer(q); /* If out of call, directly store msg */ + op->setUserPointer(q); /* If out of call, directly store msg */ linphone_address_unref(peer); } - op->set_from(q->getFromAddress().asString().c_str()); - op->set_to(q->getToAddress().asString().c_str()); + op->setFrom(q->getFromAddress().asString().c_str()); + op->setTo(q->getToAddress().asString().c_str()); // --------------------------------------- // Start of message modification @@ -721,7 +721,7 @@ void ChatMessagePrivate::send () { EncryptionChatMessageModifier ecmm; ChatMessageModifier::Result result = ecmm.encode(q->getSharedFromThis(), errorCode); if (result == ChatMessageModifier::Result::Error) { - sal_error_info_set((SalErrorInfo *)op->get_error_info(), SalReasonNotAcceptable, "SIP", errorCode, "Unable to encrypt IM", nullptr); + sal_error_info_set((SalErrorInfo *)op->getErrorInfo(), SalReasonNotAcceptable, "SIP", errorCode, "Unable to encrypt IM", nullptr); setState(ChatMessage::State::NotDelivered); return; } else if (result == ChatMessageModifier::Result::Suspended) { @@ -783,7 +783,7 @@ void ChatMessagePrivate::send () { currentSendStep = ChatMessagePrivate::Step::None; if (imdnId.empty()) - setImdnMessageId(op->get_call_id()); /* must be known at that time */ + setImdnMessageId(op->getCallId()); /* must be known at that time */ if (lcall && linphone_call_get_op(lcall) == op) { /* In this case, chat delivery status is not notified, so unrefing chat message right now */ @@ -890,7 +890,7 @@ ChatMessage::~ChatMessage () { } if (d->salOp) { - d->salOp->set_user_pointer(nullptr); + d->salOp->setUserPointer(nullptr); d->salOp->unref(); } if (d->salCustomHeaders) diff --git a/src/chat/chat-room/chat-room.cpp b/src/chat/chat-room/chat-room.cpp index 50a48b567..6b70da34d 100644 --- a/src/chat/chat-room/chat-room.cpp +++ b/src/chat/chat-room/chat-room.cpp @@ -235,7 +235,7 @@ LinphoneReason ChatRoomPrivate::onSipMessageReceived (SalOp *op, const SalMessag LinphoneCore *cCore = core->getCCore(); msg = createChatMessage( - IdentityAddress(op->get_from()) == q->getLocalAddress() + IdentityAddress(op->getFrom()) == q->getLocalAddress() ? ChatMessage::Direction::Outgoing : ChatMessage::Direction::Incoming ); @@ -252,9 +252,9 @@ LinphoneReason ChatRoomPrivate::onSipMessageReceived (SalOp *op, const SalMessag msg->setInternalContent(content); msg->getPrivate()->setTime(message->time); - msg->getPrivate()->setImdnMessageId(op->get_call_id()); + msg->getPrivate()->setImdnMessageId(op->getCallId()); - const SalCustomHeader *ch = op->get_recv_custom_header(); + const SalCustomHeader *ch = op->getRecvCustomHeaders(); if (ch) msg->getPrivate()->setSalCustomHeaders(sal_custom_header_clone(ch)); diff --git a/src/chat/chat-room/client-group-chat-room.cpp b/src/chat/chat-room/client-group-chat-room.cpp index ced42e15e..67b27a4df 100644 --- a/src/chat/chat-room/client-group-chat-room.cpp +++ b/src/chat/chat-room/client-group-chat-room.cpp @@ -110,13 +110,13 @@ void ClientGroupChatRoomPrivate::confirmJoining (SalCallOp *op) { auto focus = qConference->getPrivate()->focus; bool previousSession = (focus->getPrivate()->getSession() != nullptr); auto session = focus->getPrivate()->createSession(*q, nullptr, false, this); - session->configure(LinphoneCallIncoming, nullptr, op, Address(op->get_from()), Address(op->get_to())); + session->configure(LinphoneCallIncoming, nullptr, op, Address(op->getFrom()), Address(op->getTo())); session->startIncomingNotification(false); if (!previousSession) { setState(ClientGroupChatRoom::State::CreationPending); // Handle participants addition - list identAddresses = ClientGroupChatRoom::parseResourceLists(op->get_remote_body()); + list identAddresses = ClientGroupChatRoom::parseResourceLists(op->getRemoteBody()); for (const auto &addr : identAddresses) { auto participant = q->findParticipant(addr); if (!participant) { @@ -351,7 +351,7 @@ void ClientGroupChatRoom::addParticipant (const IdentityAddress &addr, const Cal linphone_address_unref(lAddr); Address referToAddr = addr; referToAddr.setParam("text"); - referOp->send_refer(referToAddr.getPrivate()->getInternalAddress()); + referOp->sendRefer(referToAddr.getPrivate()->getInternalAddress()); referOp->unref(); } } @@ -402,7 +402,7 @@ void ClientGroupChatRoom::removeParticipant (const shared_ptr &part Address referToAddr = participant->getAddress(); referToAddr.setParam("text"); referToAddr.setUriParam("method", "BYE"); - referOp->send_refer(referToAddr.getPrivate()->getInternalAddress()); + referOp->sendRefer(referToAddr.getPrivate()->getInternalAddress()); referOp->unref(); } @@ -444,7 +444,7 @@ void ClientGroupChatRoom::setParticipantAdminStatus (const shared_ptrgetAddress(); referToAddr.setParam("text"); referToAddr.setParam("admin", Utils::toString(isAdmin)); - referOp->send_refer(referToAddr.getPrivate()->getInternalAddress()); + referOp->sendRefer(referToAddr.getPrivate()->getInternalAddress()); referOp->unref(); } diff --git a/src/chat/chat-room/server-group-chat-room-stub.cpp b/src/chat/chat-room/server-group-chat-room-stub.cpp index 5630256b3..3e6b1710f 100644 --- a/src/chat/chat-room/server-group-chat-room-stub.cpp +++ b/src/chat/chat-room/server-group-chat-room-stub.cpp @@ -139,8 +139,8 @@ void ServerGroupChatRoomPrivate::onCallSessionSetReleased (const shared_ptr &core, SalCallOp *op) -: ChatRoom(*new ServerGroupChatRoomPrivate, core, ChatRoomId(IdentityAddress(op->get_to()), IdentityAddress(op->get_to()))), -LocalConference(core, IdentityAddress(op->get_to()), nullptr) { +: ChatRoom(*new ServerGroupChatRoomPrivate, core, ChatRoomId(IdentityAddress(op->getTo()), IdentityAddress(op->getTo()))), +LocalConference(core, IdentityAddress(op->getTo()), nullptr) { L_D(); d->chatRoomListener = d; } diff --git a/src/chat/notification/imdn.cpp b/src/chat/notification/imdn.cpp index 5549a876a..fd56b7013 100644 --- a/src/chat/notification/imdn.cpp +++ b/src/chat/notification/imdn.cpp @@ -235,7 +235,7 @@ void Imdn::startTimer () { unsigned int duration = 500; if (!timer) - timer = chatRoom->getCore()->getCCore()->sal->create_timer(timerExpired, this, duration, "imdn timeout"); + timer = chatRoom->getCore()->getCCore()->sal->createTimer(timerExpired, this, duration, "imdn timeout"); else belle_sip_source_set_timeout(timer, duration); bgTask.start(chatRoom->getCore(), 1); @@ -245,7 +245,7 @@ void Imdn::stopTimer () { if (timer) { auto core = chatRoom->getCore()->getCCore(); if (core && core->sal) - core->sal->cancel_timer(timer); + core->sal->cancelTimer(timer); belle_sip_object_unref(timer); timer = nullptr; } diff --git a/src/chat/notification/is-composing.cpp b/src/chat/notification/is-composing.cpp index e6e6c70ae..6cb8d29da 100644 --- a/src/chat/notification/is-composing.cpp +++ b/src/chat/notification/is-composing.cpp @@ -85,7 +85,7 @@ void IsComposing::parse (const Address &remoteAddr, const string &text) { void IsComposing::startIdleTimer () { unsigned int duration = getIdleTimerDuration(); if (!idleTimer) { - idleTimer = core->sal->create_timer(idleTimerExpired, this, + idleTimer = core->sal->createTimer(idleTimerExpired, this, duration * 1000, "composing idle timeout"); } else { belle_sip_source_set_timeout(idleTimer, duration * 1000); @@ -95,7 +95,7 @@ void IsComposing::startIdleTimer () { void IsComposing::startRefreshTimer () { unsigned int duration = getRefreshTimerDuration(); if (!refreshTimer) { - refreshTimer = core->sal->create_timer(refreshTimerExpired, this, + refreshTimer = core->sal->createTimer(refreshTimerExpired, this, duration * 1000, "composing refresh timeout"); } else { belle_sip_source_set_timeout(refreshTimer, duration * 1000); @@ -113,7 +113,7 @@ void IsComposing::stopTimers () { void IsComposing::stopIdleTimer () { if (idleTimer) { if (core && core->sal) - core->sal->cancel_timer(idleTimer); + core->sal->cancelTimer(idleTimer); belle_sip_object_unref(idleTimer); idleTimer = nullptr; } @@ -122,7 +122,7 @@ void IsComposing::stopIdleTimer () { void IsComposing::stopRefreshTimer () { if (refreshTimer) { if (core && core->sal) - core->sal->cancel_timer(refreshTimer); + core->sal->cancelTimer(refreshTimer); belle_sip_object_unref(refreshTimer); refreshTimer = nullptr; } @@ -176,7 +176,7 @@ void IsComposing::startRemoteRefreshTimer (const string &uri, unsigned long long auto it = remoteRefreshTimers.find(uri); if (it == remoteRefreshTimers.end()) { IsRemoteComposingData *data = new IsRemoteComposingData(this, uri); - belle_sip_source_t *timer = core->sal->create_timer(remoteRefreshTimerExpired, data, + belle_sip_source_t *timer = core->sal->createTimer(remoteRefreshTimerExpired, data, duration * 1000, "composing remote refresh timeout"); pair p(uri, timer); remoteRefreshTimers.insert(p); @@ -192,7 +192,7 @@ void IsComposing::stopAllRemoteRefreshTimers () { unordered_map::iterator IsComposing::stopRemoteRefreshTimer (const unordered_map::const_iterator it) { belle_sip_source_t *timer = it->second; if (core && core->sal) { - core->sal->cancel_timer(timer); + core->sal->cancelTimer(timer); delete reinterpret_cast(belle_sip_source_get_user_data(timer)); } belle_sip_object_unref(timer); diff --git a/src/conference/handlers/remote-conference-event-handler.cpp b/src/conference/handlers/remote-conference-event-handler.cpp index 090c81ff6..d2a05836f 100644 --- a/src/conference/handlers/remote-conference-event-handler.cpp +++ b/src/conference/handlers/remote-conference-event-handler.cpp @@ -208,7 +208,7 @@ void RemoteConferenceEventHandlerPrivate::subscribe () { } lev = linphone_event_ref(linphone_core_create_subscribe(conf->getCore()->getCCore(), lAddr, "conference", 600)); - lev->op->set_from(chatRoomId.getLocalAddress().asString().c_str()); + lev->op->setFrom(chatRoomId.getLocalAddress().asString().c_str()); const string &lastNotifyStr = Utils::toString(lastNotify); linphone_event_add_custom_header(lev, "Last-Notify-Version", lastNotifyStr.c_str()); linphone_address_unref(lAddr); diff --git a/src/conference/session/call-session.cpp b/src/conference/session/call-session.cpp index ea125826e..87b8b9ac5 100644 --- a/src/conference/session/call-session.cpp +++ b/src/conference/session/call-session.cpp @@ -50,13 +50,13 @@ int CallSessionPrivate::computeDuration () const { * end apparently does not support. This features are: privacy, video... */ void CallSessionPrivate::initializeParamsAccordingToIncomingCallParams () { - currentParams->setPrivacy((LinphonePrivacyMask)op->get_privacy()); + currentParams->setPrivacy((LinphonePrivacyMask)op->getPrivacy()); } void CallSessionPrivate::notifyReferState () { SalCallOp *refererOp = referer->getPrivate()->getOp(); if (refererOp) - refererOp->notify_refer_state(op); + refererOp->notifyReferState(op); } void CallSessionPrivate::setState (CallSession::State newState, const string &message) { @@ -177,10 +177,10 @@ bool CallSessionPrivate::startPing () { pingReplied = false; pingOp = new SalOp(q->getCore()->getCCore()->sal); if (direction == LinphoneCallIncoming) { - const char *from = pingOp->get_from(); - const char *to = pingOp->get_to(); + const char *from = pingOp->getFrom(); + const char *to = pingOp->getTo(); linphone_configure_op(q->getCore()->getCCore(), pingOp, log->from, nullptr, false); - pingOp->set_route(op->get_network_origin()); + pingOp->setRoute(op->getNetworkOrigin()); pingOp->ping(from, to); } else if (direction == LinphoneCallOutgoing) { char *from = linphone_address_as_string(log->from); @@ -189,7 +189,7 @@ bool CallSessionPrivate::startPing () { ms_free(from); ms_free(to); } - pingOp->set_user_pointer(this); + pingOp->setUserPointer(this); return true; } return false; @@ -230,7 +230,7 @@ void CallSessionPrivate::accepted () { default: break; } - currentParams->setPrivacy((LinphonePrivacyMask)op->get_privacy()); + currentParams->setPrivacy((LinphonePrivacyMask)op->getPrivacy()); } void CallSessionPrivate::ackBeingSent (LinphoneHeaders *headers) { @@ -254,12 +254,12 @@ void CallSessionPrivate::cancelDone () { bool CallSessionPrivate::failure () { L_Q(); - const SalErrorInfo *ei = op->get_error_info(); + const SalErrorInfo *ei = op->getErrorInfo(); switch (ei->reason) { case SalReasonRedirect: if ((state == CallSession::State::OutgoingInit) || (state == CallSession::State::OutgoingProgress) || (state == CallSession::State::OutgoingRinging) /* Push notification case */ || (state == CallSession::State::OutgoingEarlyMedia)) { - const SalAddress *redirectionTo = op->get_remote_contact_address(); + const SalAddress *redirectionTo = op->getRemoteContactAddress(); if (redirectionTo) { char *url = sal_address_as_string(redirectionTo); lWarning() << "Redirecting CallSession [" << q << "] to " << url; @@ -312,7 +312,7 @@ bool CallSessionPrivate::failure () { void CallSessionPrivate::infoReceived (SalBodyHandler *bodyHandler) { L_Q(); LinphoneInfoMessage *info = linphone_core_create_info_message(q->getCore()->getCCore()); - linphone_info_message_set_headers(info, op->get_recv_custom_header()); + linphone_info_message_set_headers(info, op->getRecvCustomHeaders()); if (bodyHandler) { LinphoneContent *content = linphone_content_from_sal_body_handler(bodyHandler); linphone_info_message_set_content(info, content); @@ -344,7 +344,7 @@ void CallSessionPrivate::referred (const Address &referToAddr) { void CallSessionPrivate::remoteRinging () { L_Q(); /* Set privacy */ - currentParams->setPrivacy((LinphonePrivacyMask)op->get_privacy()); + currentParams->setPrivacy((LinphonePrivacyMask)op->getPrivacy()); if (listener) listener->onStartRinging(q->getSharedFromThis()); lInfo() << "Remote ringing..."; @@ -356,12 +356,12 @@ void CallSessionPrivate::replaceOp (SalCallOp *newOp) { SalCallOp *oldOp = op; CallSession::State oldState = state; op = newOp; - op->set_user_pointer(q); - op->set_local_media_description(oldOp->get_local_media_description()); + op->setUserPointer(q); + op->setLocalMediaDescription(oldOp->getLocalMediaDescription()); switch (state) { case CallSession::State::IncomingEarlyMedia: case CallSession::State::IncomingReceived: - op->notify_ringing((state == CallSession::State::IncomingEarlyMedia) ? true : false); + op->notifyRinging((state == CallSession::State::IncomingEarlyMedia) ? true : false); break; case CallSession::State::Connected: case CallSession::State::StreamsRunning: @@ -374,17 +374,17 @@ void CallSessionPrivate::replaceOp (SalCallOp *newOp) { switch (oldState) { case CallSession::State::IncomingEarlyMedia: case CallSession::State::IncomingReceived: - oldOp->set_user_pointer(nullptr); // In order for the call session to not get terminated by terminating this op + oldOp->setUserPointer(nullptr); // In order for the call session to not get terminated by terminating this op // Do not terminate a forked INVITE - if (op->get_replaces()) + if (op->getReplaces()) oldOp->terminate(); else - oldOp->kill_dialog(); + oldOp->killDialog(); break; case CallSession::State::Connected: case CallSession::State::StreamsRunning: oldOp->terminate(); - oldOp->kill_dialog(); + oldOp->killDialog(); break; default: break; @@ -401,7 +401,7 @@ void CallSessionPrivate::terminated () { return; case CallSession::State::IncomingReceived: case CallSession::State::IncomingEarlyMedia: - if (!op->get_reason_error_info()->protocol || strcmp(op->get_reason_error_info()->protocol, "") == 0) { + if (!op->getReasonErrorInfo()->protocol || strcmp(op->getReasonErrorInfo()->protocol, "") == 0) { linphone_error_info_set(ei, nullptr, LinphoneReasonNotAnswered, 0, "Incoming call cancelled", nullptr); nonOpError = true; } @@ -447,7 +447,7 @@ void CallSessionPrivate::updated (bool isUpdate) { case CallSession::State::Pausing: case CallSession::State::Resuming: sal_error_info_set(&sei, SalReasonInternalError, "SIP", 0, nullptr, nullptr); - op->decline_with_error_info(&sei, nullptr); + op->declineWithErrorInfo(&sei, nullptr); BCTBX_NO_BREAK; /* no break */ case CallSession::State::Idle: case CallSession::State::OutgoingInit: @@ -501,7 +501,7 @@ void CallSessionPrivate::accept (const CallSessionParams *csp) { if (csp) setParams(new CallSessionParams(*csp)); if (params) - op->set_sent_custom_header(params->getPrivate()->getCustomHeaders()); + op->setSentCustomHeaders(params->getPrivate()->getCustomHeaders()); op->accept(); if (listener) @@ -527,9 +527,9 @@ LinphoneStatus CallSessionPrivate::checkForAcceptation () { listener->onCheckForAcceptation(q->getSharedFromThis()); /* Check if this call is supposed to replace an already running one */ - SalOp *replaced = op->get_replaces(); + SalOp *replaced = op->getReplaces(); if (replaced) { - CallSession *session = reinterpret_cast(replaced->get_user_pointer()); + CallSession *session = reinterpret_cast(replaced->getUserPointer()); if (session) { lInfo() << "CallSession " << q << " replaces CallSession " << session << ". This last one is going to be terminated automatically"; session->terminate(); @@ -543,8 +543,8 @@ void CallSessionPrivate::handleIncomingReceivedStateInIncomingNotification () { /* Try to be best-effort in giving real local or routable contact address for 100Rel case */ setContactOp(); if (notifyRinging) - op->notify_ringing(false); - if (op->get_replaces() && lp_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "auto_answer_replacing_calls", 1)) + op->notifyRinging(false); + if (op->getReplaces() && lp_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "auto_answer_replacing_calls", 1)) q->accept(); } @@ -647,9 +647,9 @@ LinphoneStatus CallSessionPrivate::startUpdate (const string &subject) { } if (destProxy && destProxy->op) { /* Give a chance to update the contact address if connectivity has changed */ - op->set_contact_address(destProxy->op->get_contact_address()); + op->setContactAddress(destProxy->op->getContactAddress()); } else - op->set_contact_address(nullptr); + op->setContactAddress(nullptr); return op->update(newSubject.c_str(), q->getParams()->getPrivate()->getNoUserConsent()); } @@ -703,7 +703,7 @@ void CallSessionPrivate::setContactOp () { for (auto it = contactParams.begin(); it != contactParams.end(); it++) linphone_address_set_param(contact, it->first.c_str(), it->second.empty() ? nullptr : it->second.c_str()); salAddress = const_cast(L_GET_PRIVATE_FROM_C_OBJECT(contact)->getInternalAddress()); - op->set_contact_address(salAddress); + op->setContactAddress(salAddress); linphone_address_unref(contact); } } @@ -737,12 +737,12 @@ void CallSessionPrivate::createOpTo (const LinphoneAddress *to) { if (op) op->release(); op = new SalCallOp(q->getCore()->getCCore()->sal); - op->set_user_pointer(q); + op->setUserPointer(q); if (params->getPrivate()->getReferer()) - op->set_referer(params->getPrivate()->getReferer()->getPrivate()->getOp()); + op->setReferrer(params->getPrivate()->getReferer()->getPrivate()->getOp()); linphone_configure_op(q->getCore()->getCCore(), op, to, q->getParams()->getPrivate()->getCustomHeaders(), false); if (q->getParams()->getPrivacy() != LinphonePrivacyDefault) - op->set_privacy((SalPrivacyMask)q->getParams()->getPrivacy()); + op->setPrivacy((SalPrivacyMask)q->getParams()->getPrivacy()); /* else privacy might be set by proxy */ } @@ -751,13 +751,13 @@ void CallSessionPrivate::createOpTo (const LinphoneAddress *to) { LinphoneAddress * CallSessionPrivate::getFixedContact () const { L_Q(); LinphoneAddress *result = nullptr; - if (op && op->get_contact_address()) { + if (op && op->getContactAddress()) { /* If already choosed, don't change it */ return nullptr; - } else if (pingOp && pingOp->get_contact_address()) { + } else if (pingOp && pingOp->getContactAddress()) { /* If the ping OPTIONS request succeeded use the contact guessed from the received, rport */ lInfo() << "Contact has been fixed using OPTIONS"; - char *addr = sal_address_as_string(pingOp->get_contact_address()); + char *addr = sal_address_as_string(pingOp->getContactAddress()); result = linphone_address_new(addr); ms_free(addr); } else if (destProxy && destProxy->op && linphone_proxy_config_get_contact(destProxy)) { @@ -786,12 +786,12 @@ void CallSessionPrivate::reinviteToRecoverFromConnectionLoss () { void CallSessionPrivate::repairByInviteWithReplaces () { L_Q(); - const char *callId = op->get_call_id(); - const char *fromTag = op->get_local_tag(); - const char *toTag = op->get_remote_tag(); - op->kill_dialog(); + const char *callId = op->getCallId(); + const char *fromTag = op->getLocalTag(); + const char *toTag = op->getRemoteTag(); + op->killDialog(); createOp(); - op->set_replaces(callId, fromTag, toTag); + op->setReplaces(callId, fromTag, toTag); q->startInvite(nullptr); } @@ -819,9 +819,9 @@ void CallSessionPrivate::repairIfBroken () { switch (state) { case CallSession::State::Updating: case CallSession::State::Pausing: - if (op->dialog_request_pending()) { + if (op->dialogRequestPending()) { // Need to cancel first re-INVITE as described in section 5.5 of RFC 6141 - if (op->cancel_invite() == 0){ + if (op->cancelInvite() == 0){ reinviteOnCancelResponseRequested = true; } } @@ -829,19 +829,19 @@ void CallSessionPrivate::repairIfBroken () { case CallSession::State::StreamsRunning: case CallSession::State::Paused: case CallSession::State::PausedByRemote: - if (!op->dialog_request_pending()) + if (!op->dialogRequestPending()) reinviteToRecoverFromConnectionLoss(); break; case CallSession::State::UpdatedByRemote: - if (op->dialog_request_pending()) { + if (op->dialogRequestPending()) { sal_error_info_set(&sei, SalReasonServiceUnavailable, "SIP", 0, nullptr, nullptr); - op->decline_with_error_info(&sei, nullptr); + op->declineWithErrorInfo(&sei, nullptr); } reinviteToRecoverFromConnectionLoss(); break; case CallSession::State::OutgoingInit: case CallSession::State::OutgoingProgress: - if (op->cancel_invite() == 0){ + if (op->cancelInvite() == 0){ reinviteOnCancelResponseRequested = true; } break; @@ -931,10 +931,13 @@ void CallSession::configure (LinphoneCallDir direction, LinphoneProxyConfig *cfg if (op) { /* We already have an op for incoming calls */ d->op = op; - d->op->set_user_pointer(this); - op->enable_cnx_ip_to_0000_if_sendonly(!!lp_config_get_default_int(linphone_core_get_config(getCore()->getCCore()), - "sip", "cnx_ip_to_0000_if_sendonly_enabled", 0)); - d->log->call_id = ms_strdup(op->get_call_id()); /* Must be known at that time */ + d->op->setUserPointer(this); + op->enableCnxIpTo0000IfSendOnly( + !!lp_config_get_default_int( + linphone_core_get_config(getCore()->getCCore()), "sip", "cnx_ip_to_0000_if_sendonly_enabled", 0 + ) + ); + d->log->call_id = ms_strdup(op->getCallId()); /* Must be known at that time */ } if (direction == LinphoneCallOutgoing) { @@ -968,7 +971,7 @@ LinphoneStatus CallSession::decline (const LinphoneErrorInfo *ei) { } if (ei) { linphone_error_info_to_sal(ei, &sei); - d->op->decline_with_error_info(&sei , nullptr); + d->op->declineWithErrorInfo(&sei , nullptr); } else d->op->decline(SalReasonDeclined, nullptr); sal_error_info_reset(&sei); @@ -1053,7 +1056,7 @@ LinphoneStatus CallSession::redirect (const Address &redirectAddr) { SalErrorInfo sei; memset(&sei, 0, sizeof(sei)); sal_error_info_set(&sei, SalReasonRedirect, "SIP", 0, nullptr, nullptr); - d->op->decline_with_error_info(&sei, redirectAddr.getPrivate()->getInternalAddress()); + d->op->declineWithErrorInfo(&sei, redirectAddr.getPrivate()->getInternalAddress()); linphone_error_info_set(d->ei, nullptr, LinphoneReasonMovedPermanently, 302, "Call redirected", nullptr); d->nonOpError = true; d->terminate(); @@ -1096,7 +1099,7 @@ int CallSession::startInvite (const Address *destination, const string &subject, /* Take a ref because sal_call() may destroy the CallSession if no SIP transport is available */ shared_ptr ref = getSharedFromThis(); if (content) - d->op->set_local_body(*content); + d->op->setLocalBody(*content); int result = d->op->call(from, destinationStr.c_str(), subject.empty() ? nullptr : subject.c_str()); ms_free(from); if (result < 0) { @@ -1106,7 +1109,7 @@ int CallSession::startInvite (const Address *destination, const string &subject, d->setState(CallSession::State::Error, "Call failed"); } } else { - d->log->call_id = ms_strdup(d->op->get_call_id()); /* Must be known at that time */ + d->log->call_id = ms_strdup(d->op->getCallId()); /* Must be known at that time */ d->setState(CallSession::State::OutgoingProgress, "Outgoing call in progress"); } return result; @@ -1134,7 +1137,7 @@ LinphoneStatus CallSession::terminate (const LinphoneErrorInfo *ei) { default: if (ei) { linphone_error_info_to_sal(ei, &sei); - d->op->terminate_with_error(&sei); + d->op->terminate(&sei); sal_error_info_reset(&sei); } else d->op->terminate(); @@ -1147,7 +1150,7 @@ LinphoneStatus CallSession::terminate (const LinphoneErrorInfo *ei) { LinphoneStatus CallSession::transfer (const shared_ptr &dest) { L_D(); - int result = d->op->refer_with_replaces(dest->getPrivate()->op); + int result = d->op->referWithReplaces(dest->getPrivate()->op); d->setTransferState(CallSession::State::OutgoingInit); return result; } @@ -1175,7 +1178,7 @@ LinphoneStatus CallSession::update (const CallSessionParams *csp, const string & lWarning() << "CallSession::update() is given the current params, this is probably not what you intend to do!"; if (csp) d->setParams(new CallSessionParams(*csp)); - d->op->set_local_body(content ? *content : Content()); + d->op->setLocalBody(content ? *content : Content()); LinphoneStatus result = d->startUpdate(subject); if (result && (d->state != initialState)) { /* Restore initial state */ @@ -1194,7 +1197,7 @@ LinphoneCallDir CallSession::getDirection () const { const Address& CallSession::getDiversionAddress () const { L_D(); if (d->op) { - char *addrStr = sal_address_as_string(d->op->get_diversion_address()); + char *addrStr = sal_address_as_string(d->op->getDiversionAddress()); d->diversionAddress = Address(addrStr); bctbx_free(addrStr); } else { @@ -1257,7 +1260,7 @@ string CallSession::getRemoteContact () const { L_D(); if (d->op) { /* sal_op_get_remote_contact preserves header params */ - return d->op->get_remote_contact(); + return d->op->getRemoteContact(); } return string(); } @@ -1267,7 +1270,7 @@ const Address *CallSession::getRemoteContactAddress () const { if (!d->op) { return nullptr; } - char *addrStr = sal_address_as_string(d->op->get_remote_contact_address()); + char *addrStr = sal_address_as_string(d->op->getRemoteContactAddress()); d->remoteContactAddress = Address(addrStr); bctbx_free(addrStr); return &d->remoteContactAddress; @@ -1276,7 +1279,7 @@ const Address *CallSession::getRemoteContactAddress () const { const CallSessionParams * CallSession::getRemoteParams () { L_D(); if (d->op){ - const SalCustomHeader *ch = d->op->get_recv_custom_header(); + const SalCustomHeader *ch = d->op->getRecvCustomHeaders(); if (ch) { /* Instanciate a remote_params only if a SIP message was received before (custom headers indicates this) */ if (!d->remoteParams) @@ -1300,7 +1303,7 @@ CallSession::State CallSession::getPreviousState () const { const Address& CallSession::getToAddress () const { L_D(); - d->toAddress = Address(d->op->get_to()); + d->toAddress = Address(d->op->getTo()); return d->toAddress; } @@ -1316,24 +1319,24 @@ shared_ptr CallSession::getTransferTarget () const { string CallSession::getToHeader (const string &name) const { L_D(); - return L_C_TO_STRING(sal_custom_header_find(d->op->get_recv_custom_header(), name.c_str())); + return L_C_TO_STRING(sal_custom_header_find(d->op->getRecvCustomHeaders(), name.c_str())); } // ----------------------------------------------------------------------------- string CallSession::getRemoteUserAgent () const { L_D(); - if (d->op && d->op->get_remote_ua()) - return d->op->get_remote_ua(); + if (d->op && d->op->getRemoteUserAgent()) + return d->op->getRemoteUserAgent(); return string(); } shared_ptr CallSession::getReplacedCallSession () const { L_D(); - SalOp *replacedOp = d->op->get_replaces(); + SalOp *replacedOp = d->op->getReplaces(); if (!replacedOp) return nullptr; - return reinterpret_cast(replacedOp->get_user_pointer())->getSharedFromThis(); + return reinterpret_cast(replacedOp->getUserPointer())->getSharedFromThis(); } CallSessionParams * CallSession::getCurrentParams () const { diff --git a/src/conference/session/media-session.cpp b/src/conference/session/media-session.cpp index 08535ea08..f62e8bdd5 100644 --- a/src/conference/session/media-session.cpp +++ b/src/conference/session/media-session.cpp @@ -83,8 +83,8 @@ void MediaSessionPrivate::accepted () { linphone_task_list_init(&tl); /* Reset the internal call update flag, so it doesn't risk to be copied and used in further re-INVITEs */ getParams()->getPrivate()->setInternalCallUpdate(false); - SalMediaDescription *rmd = op->get_remote_media_description(); - SalMediaDescription *md = op->get_final_media_description(); + SalMediaDescription *rmd = op->getRemoteMediaDescription(); + SalMediaDescription *md = op->getFinalMediaDescription(); if (!md && (prevState == CallSession::State::OutgoingEarlyMedia) && resultDesc) { lInfo() << "Using early media SDP since none was received with the 200 OK"; md = resultDesc; @@ -95,7 +95,7 @@ void MediaSessionPrivate::accepted () { /* There is a valid SDP in the response, either offer or answer, and we're able to start/update the streams */ if (rmd) { /* Handle remote ICE attributes if any. */ - iceAgent->updateFromRemoteMediaDescription(localDesc, rmd, !op->is_offerer()); + iceAgent->updateFromRemoteMediaDescription(localDesc, rmd, !op->isOfferer()); } CallSession::State nextState = CallSession::State::Idle; string nextStateMsg; @@ -199,7 +199,7 @@ void MediaSessionPrivate::dtmfReceived (char dtmf) { bool MediaSessionPrivate::failure () { L_Q(); - const SalErrorInfo *ei = op->get_error_info(); + const SalErrorInfo *ei = op->getErrorInfo(); switch (ei->reason) { case SalReasonRedirect: stopStreams(); @@ -276,10 +276,10 @@ void MediaSessionPrivate::pausedByRemote () { void MediaSessionPrivate::remoteRinging () { L_Q(); /* Set privacy */ - getCurrentParams()->setPrivacy((LinphonePrivacyMask)op->get_privacy()); - SalMediaDescription *md = op->get_final_media_description(); + getCurrentParams()->setPrivacy((LinphonePrivacyMask)op->getPrivacy()); + SalMediaDescription *md = op->getFinalMediaDescription(); if (md) { - SalMediaDescription *rmd = op->get_remote_media_description(); + SalMediaDescription *rmd = op->getRemoteMediaDescription(); /* Initialize the remote call params by invoking linphone_call_get_remote_params(). This is useful as the SDP may not be present in the 200Ok */ q->getRemoteParams(); /* Accept early media */ @@ -301,7 +301,7 @@ void MediaSessionPrivate::remoteRinging () { if (listener) listener->onStopRinging(q->getSharedFromThis()); lInfo() << "Doing early media..."; - iceAgent->updateFromRemoteMediaDescription(localDesc, rmd, !op->is_offerer()); + iceAgent->updateFromRemoteMediaDescription(localDesc, rmd, !op->isOfferer()); updateStreams(md, state); if ((q->getCurrentParams()->getAudioDirection() == LinphoneMediaDirectionInactive) && audioStream) { if (listener) @@ -325,7 +325,7 @@ int MediaSessionPrivate::resumeAfterFailedTransfer () { if (automaticallyPaused && (state == CallSession::State::Pausing)) return BELLE_SIP_CONTINUE; // Was still in pausing state if (automaticallyPaused && (state == CallSession::State::Paused)) { - if (op->is_idle()) + if (op->isIdle()) q->resume(); else { lInfo() << "MediaSessionPrivate::resumeAfterFailedTransfer(), op was busy"; @@ -361,7 +361,7 @@ void MediaSessionPrivate::terminated () { /* This callback is called when an incoming re-INVITE/ SIP UPDATE modifies the session */ void MediaSessionPrivate::updated (bool isUpdate) { - SalMediaDescription *rmd = op->get_remote_media_description(); + SalMediaDescription *rmd = op->getRemoteMediaDescription(); switch (state) { case CallSession::State::PausedByRemote: if (sal_media_description_has_dir(rmd, SalStreamSendRecv) || sal_media_description_has_dir(rmd, SalStreamRecvOnly)) { @@ -388,7 +388,7 @@ void MediaSessionPrivate::updated (bool isUpdate) { void MediaSessionPrivate::updating (bool isUpdate) { L_Q(); - SalMediaDescription *rmd = op->get_remote_media_description(); + SalMediaDescription *rmd = op->getRemoteMediaDescription(); fixCallParams(rmd); if (state != CallSession::State::Paused) { /* Refresh the local description, but in paused state, we don't change anything. */ @@ -398,16 +398,16 @@ void MediaSessionPrivate::updating (bool isUpdate) { params->initDefault(q->getCore()); } makeLocalMediaDescription(); - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); } if (rmd) { SalErrorInfo sei; memset(&sei, 0, sizeof(sei)); expectMediaInAck = false; - SalMediaDescription *md = op->get_final_media_description(); + SalMediaDescription *md = op->getFinalMediaDescription(); if (md && (sal_media_description_empty(md) || linphone_core_incompatible_security(q->getCore()->getCCore(), md))) { sal_error_info_set(&sei, SalReasonNotAcceptable, "SIP", 0, nullptr, nullptr); - op->decline_with_error_info(&sei, nullptr); + op->declineWithErrorInfo(&sei, nullptr); sal_error_info_reset(&sei); return; } @@ -417,7 +417,7 @@ void MediaSessionPrivate::updating (bool isUpdate) { if (diff & (SAL_MEDIA_DESCRIPTION_CRYPTO_POLICY_CHANGED | SAL_MEDIA_DESCRIPTION_STREAMS_CHANGED)) { lWarning() << "Cannot accept this update, it is changing parameters that require user approval"; sal_error_info_set(&sei, SalReasonUnknown, "SIP", 504, "Cannot change the session parameters without prompting the user", nullptr); - op->decline_with_error_info(&sei, nullptr); + op->declineWithErrorInfo(&sei, nullptr); sal_error_info_reset(&sei); return; } @@ -719,7 +719,7 @@ void MediaSessionPrivate::setState (CallSession::State newState, const string &m case CallSession::State::UpdatedByRemote: // Handle specifically the case of an incoming ICE-concluded reINVITE lInfo() << "Checking for ICE reINVITE"; - rmd = op->get_remote_media_description(); + rmd = op->getRemoteMediaDescription(); if (iceAgent && rmd && iceAgent->checkIceReinviteNeedsDeferedResponse(rmd)) { deferUpdate = true; deferUpdateInternal = true; @@ -880,12 +880,12 @@ void MediaSessionPrivate::initializeParamsAccordingToIncomingCallParams () { CallSessionPrivate::initializeParamsAccordingToIncomingCallParams(); getCurrentParams()->getPrivate()->setUpdateCallWhenIceCompleted(getParams()->getPrivate()->getUpdateCallWhenIceCompleted()); getParams()->enableVideo(linphone_core_video_enabled(q->getCore()->getCCore()) && q->getCore()->getCCore()->video_policy.automatically_accept); - SalMediaDescription *md = op->get_remote_media_description(); + SalMediaDescription *md = op->getRemoteMediaDescription(); if (md) { /* It is licit to receive an INVITE without SDP, in this case WE choose the media parameters according to policy */ setCompatibleIncomingCallParams(md); /* Set multicast role & address if any */ - if (!op->is_offerer()) { + if (!op->isOfferer()) { for (int i = 0; i < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; i++) { if (md->streams[i].dir == SalStreamInactive) continue; @@ -938,7 +938,7 @@ void MediaSessionPrivate::updateBiggestDesc (SalMediaDescription *md) { } void MediaSessionPrivate::updateRemoteSessionIdAndVer () { - SalMediaDescription *desc = op->get_remote_media_description(); + SalMediaDescription *desc = op->getRemoteMediaDescription(); if (desc) { remoteSessionId = desc->session_id; remoteSessionVer = desc->session_ver; @@ -1155,7 +1155,7 @@ void MediaSessionPrivate::getLocalIp (const Address &remoteAddr) { /* If a known proxy was identified for this call, then we may have a chance to take the local ip address * from the socket that connects to this proxy */ if (destProxy && destProxy->op) { - ip = destProxy->op->get_local_address(nullptr); + ip = destProxy->op->getLocalAddress(nullptr); if (ip) { lInfo() << "Found media local-ip from signaling."; mediaLocalIp = ip; @@ -1216,9 +1216,9 @@ void MediaSessionPrivate::selectIncomingIpVersion () { L_Q(); if (linphone_core_ipv6_enabled(q->getCore()->getCCore())) { if (destProxy && destProxy->op) - af = destProxy->op->get_address_family(); + af = destProxy->op->getAddressFamily(); else - af = op->get_address_family(); + af = op->getAddressFamily(); } else af = AF_INET; } @@ -1242,7 +1242,7 @@ void MediaSessionPrivate::selectOutgoingIpVersion () { if (sal_address_is_ipv6(L_GET_PRIVATE_FROM_C_OBJECT(to)->getInternalAddress())) af = AF_INET6; else if (destProxy && destProxy->op) - af = destProxy->op->get_address_family(); + af = destProxy->op->getAddressFamily(); else { char ipv4[LINPHONE_IPADDR_SIZE]; char ipv6[LINPHONE_IPADDR_SIZE]; @@ -1667,15 +1667,15 @@ SalMulticastRole MediaSessionPrivate::getMulticastRole (SalStreamType type) { SalMulticastRole multicastRole = SalMulticastInactive; if (op) { SalStreamDescription *streamDesc = nullptr; - SalMediaDescription *remoteDesc = op->get_remote_media_description(); + SalMediaDescription *remoteDesc = op->getRemoteMediaDescription(); if (!localDesc && !remoteDesc && (direction == LinphoneCallOutgoing)) { /* Well using call dir */ if (((type == SalAudio) && getParams()->audioMulticastEnabled()) || ((type == SalVideo) && getParams()->videoMulticastEnabled())) multicastRole = SalMulticastSender; - } else if (localDesc && (!remoteDesc || op->is_offerer())) { + } else if (localDesc && (!remoteDesc || op->isOfferer())) { streamDesc = sal_media_description_find_best_stream(localDesc, type); - } else if (!op->is_offerer() && remoteDesc) { + } else if (!op->isOfferer() && remoteDesc) { streamDesc = sal_media_description_find_best_stream(remoteDesc, type); } @@ -1717,8 +1717,8 @@ void MediaSessionPrivate::setDtlsFingerprint (MSMediaStreamSessions *sessions, c } void MediaSessionPrivate::setDtlsFingerprintOnAllStreams () { - SalMediaDescription *remote = op->get_remote_media_description(); - SalMediaDescription *result = op->get_final_media_description(); + SalMediaDescription *remote = op->getRemoteMediaDescription(); + SalMediaDescription *result = op->getFinalMediaDescription(); if (!remote || !result) { /* This can happen in some tricky cases (early-media without SDP in the 200). In that case, simply skip DTLS code */ return; @@ -1830,8 +1830,8 @@ void MediaSessionPrivate::startDtls (MSMediaStreamSessions *sessions, const SalS } void MediaSessionPrivate::startDtlsOnAllStreams () { - SalMediaDescription *remote = op->get_remote_media_description(); - SalMediaDescription *result = op->get_final_media_description(); + SalMediaDescription *remote = op->getRemoteMediaDescription(); + SalMediaDescription *result = op->getFinalMediaDescription(); if (!remote || !result) { /* This can happen in some tricky cases (early-media without SDP in the 200). In that case, simply skip DTLS code */ return; @@ -2100,7 +2100,7 @@ void MediaSessionPrivate::configureRtpSessionForRtcpFb (const SalStreamDescripti } void MediaSessionPrivate::configureRtpSessionForRtcpXr (SalStreamType type) { - SalMediaDescription *remote = op->get_remote_media_description(); + SalMediaDescription *remote = op->getRemoteMediaDescription(); if (!remote) return; const SalStreamDescription *localStream = sal_media_description_find_best_stream(localDesc, type); @@ -2242,7 +2242,7 @@ void MediaSessionPrivate::handleIceEvents (OrtpEvent *ev) { case CallSession::State::Idle: stopStreamsForIceGathering(); updateLocalMediaDescriptionFromIce(); - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); deferIncomingNotification = false; startIncomingNotification(); break; @@ -2356,7 +2356,7 @@ void MediaSessionPrivate::initializeAudioStream () { SalMediaDescription *remoteDesc = nullptr; SalStreamDescription *streamDesc = nullptr; if (op) - remoteDesc = op->get_remote_media_description(); + remoteDesc = op->getRemoteMediaDescription(); if (remoteDesc) streamDesc = sal_media_description_find_best_stream(remoteDesc, SalAudio); @@ -2462,7 +2462,7 @@ void MediaSessionPrivate::initializeTextStream () { SalMediaDescription *remoteDesc = nullptr; SalStreamDescription *streamDesc = nullptr; if (op) - remoteDesc = op->get_remote_media_description(); + remoteDesc = op->getRemoteMediaDescription(); if (remoteDesc) streamDesc = sal_media_description_find_best_stream(remoteDesc, SalText); @@ -2506,7 +2506,7 @@ void MediaSessionPrivate::initializeVideoStream () { SalMediaDescription *remoteDesc = nullptr; SalStreamDescription *streamDesc = nullptr; if (op) - remoteDesc = op->get_remote_media_description(); + remoteDesc = op->getRemoteMediaDescription(); if (remoteDesc) streamDesc = sal_media_description_find_best_stream(remoteDesc, SalVideo); @@ -2746,7 +2746,7 @@ void MediaSessionPrivate::startAudioStream (CallSession::State targetState, bool getCurrentParams()->getPrivate()->setInConference(getParams()->getPrivate()->getInConference()); getCurrentParams()->enableLowBandwidth(getParams()->lowBandwidthEnabled()); // Start ZRTP engine if needed : set here or remote have a zrtp-hash attribute - SalMediaDescription *remote = op->get_remote_media_description(); + SalMediaDescription *remote = op->getRemoteMediaDescription(); const SalStreamDescription *remoteStream = sal_media_description_find_best_stream(remote, SalAudio); if (linphone_core_media_encryption_supported(q->getCore()->getCCore(), LinphoneMediaEncryptionZRTP) && ((getParams()->getMediaEncryption() == LinphoneMediaEncryptionZRTP) || (remoteStream->haveZrtpHash == 1))) { @@ -2998,7 +2998,7 @@ void MediaSessionPrivate::startVideoStream (CallSession::State targetState) { if (listener) listener->onResetFirstVideoFrameDecoded(q->getSharedFromThis()); /* Start ZRTP engine if needed : set here or remote have a zrtp-hash attribute */ - SalMediaDescription *remote = op->get_remote_media_description(); + SalMediaDescription *remote = op->getRemoteMediaDescription(); const SalStreamDescription *remoteStream = sal_media_description_find_best_stream(remote, SalVideo); if ((getParams()->getMediaEncryption() == LinphoneMediaEncryptionZRTP) || (remoteStream->haveZrtpHash == 1)) { /* Audio stream is already encrypted and video stream is active */ @@ -3344,7 +3344,7 @@ uint16_t MediaSessionPrivate::getAvpfRrInterval () const { unsigned int MediaSessionPrivate::getNbActiveStreams () const { SalMediaDescription *md = nullptr; if (op) - md = op->get_remote_media_description(); + md = op->getRemoteMediaDescription(); if (!md) return 0; return sal_media_description_nb_active_streams_of_type(md, SalAudio) + sal_media_description_nb_active_streams_of_type(md, SalVideo) + sal_media_description_nb_active_streams_of_type(md, SalText); @@ -3528,8 +3528,8 @@ void MediaSessionPrivate::handleIncomingReceivedStateInIncomingNotification () { if (proposeEarlyMedia) q->acceptEarlyMedia(); else - op->notify_ringing(false); - if (op->get_replaces() && !!lp_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "auto_answer_replacing_calls", 1)) + op->notifyRinging(false); + if (op->getReplaces() && !!lp_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "auto_answer_replacing_calls", 1)) q->accept(); } @@ -3562,7 +3562,7 @@ LinphoneStatus MediaSessionPrivate::pause () { broken = false; setState(CallSession::State::Pausing, "Pausing call"); makeLocalMediaDescription(); - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); op->update(subject.c_str(), false); if (listener) listener->onResetCurrentSession(q->getSharedFromThis()); @@ -3590,9 +3590,9 @@ LinphoneStatus MediaSessionPrivate::startAcceptUpdate (CallSession::State nextSt } makeLocalMediaDescription(); updateRemoteSessionIdAndVer(); - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); op->accept(); - SalMediaDescription *md = op->get_final_media_description(); + SalMediaDescription *md = op->getFinalMediaDescription(); iceAgent->stopIceForInactiveStreams(md); if (md && !sal_media_description_empty(md)) updateStreams(md, nextState); @@ -3606,14 +3606,14 @@ LinphoneStatus MediaSessionPrivate::startUpdate (const string &subject) { if (!getParams()->getPrivate()->getNoUserConsent()) makeLocalMediaDescription(); if (!q->getCore()->getCCore()->sip_conf.sdp_200_ack) - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); else - op->set_local_media_description(nullptr); + op->setLocalMediaDescription(nullptr); LinphoneStatus result = CallSessionPrivate::startUpdate(subject); if (q->getCore()->getCCore()->sip_conf.sdp_200_ack) { /* We are NOT offering, set local media description after sending the call so that we are ready to * process the remote offer when it will arrive. */ - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); } return result; } @@ -3725,7 +3725,7 @@ void MediaSessionPrivate::accept (const MediaSessionParams *msp, bool wasRinging setParams(new MediaSessionParams(*msp)); iceAgent->prepare(localDesc, true); makeLocalMediaDescription(); - op->set_local_media_description(localDesc); + op->setLocalMediaDescription(localDesc); } updateRemoteSessionIdAndVer(); @@ -3746,7 +3746,7 @@ void MediaSessionPrivate::accept (const MediaSessionParams *msp, bool wasRinging CallSessionPrivate::accept(nullptr); - SalMediaDescription *newMd = op->get_final_media_description(); + SalMediaDescription *newMd = op->getFinalMediaDescription(); iceAgent->stopIceForInactiveStreams(newMd); if (newMd) { updateStreams(newMd, CallSession::State::StreamsRunning); @@ -3757,7 +3757,7 @@ void MediaSessionPrivate::accept (const MediaSessionParams *msp, bool wasRinging LinphoneStatus MediaSessionPrivate::acceptUpdate (const CallSessionParams *csp, CallSession::State nextState, const string &stateInfo) { L_Q(); - SalMediaDescription *desc = op->get_remote_media_description(); + SalMediaDescription *desc = op->getRemoteMediaDescription(); bool keepSdpVersion = !!lp_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "keep_sdp_version", 0); if (keepSdpVersion && (desc->session_id == remoteSessionId) && (desc->session_ver == remoteSessionVer)) { /* Remote has sent an INVITE with the same SDP as before, so send a 200 OK with the same SDP as before. */ @@ -3769,7 +3769,7 @@ LinphoneStatus MediaSessionPrivate::acceptUpdate (const CallSessionParams *csp, if (csp) setParams(new MediaSessionParams(*static_cast(csp))); else { - if (!op->is_offerer()) { + if (!op->isOfferer()) { /* Reset call params for multicast because this param is only relevant when offering */ getParams()->enableAudioMulticast(false); getParams()->enableVideoMulticast(false); @@ -3870,7 +3870,7 @@ int MediaSessionPrivate::sendDtmf () { } if (linphone_core_get_use_info_for_dtmf(lc)) { // Out of Band DTMF (use INFO method) - op->send_dtmf(dtmfSequence.front()); + op->sendDtmf(dtmfSequence.front()); } dtmfSequence.erase(0, 1); @@ -4019,12 +4019,12 @@ LinphoneStatus MediaSession::acceptEarlyMedia (const MediaSessionParams *msp) { if (msp) { d->setParams(new MediaSessionParams(*msp)); d->makeLocalMediaDescription(); - d->op->set_local_media_description(d->localDesc); - d->op->set_sent_custom_header(d->getParams()->getPrivate()->getCustomHeaders()); + d->op->setLocalMediaDescription(d->localDesc); + d->op->setSentCustomHeaders(d->getParams()->getPrivate()->getCustomHeaders()); } - d->op->notify_ringing(true); + d->op->notifyRinging(true); d->setState(CallSession::State::IncomingEarlyMedia, "Incoming call early media"); - SalMediaDescription *md = d->op->get_final_media_description(); + SalMediaDescription *md = d->op->getFinalMediaDescription(); if (md) d->updateStreams(md, d->state); return 0; @@ -4044,7 +4044,7 @@ void MediaSession::cancelDtmfs () { if (!d->dtmfTimer) return; - getCore()->getCCore()->sal->cancel_timer(d->dtmfTimer); + getCore()->getCCore()->sal->cancelTimer(d->dtmfTimer); belle_sip_object_unref(d->dtmfTimer); d->dtmfTimer = nullptr; d->dtmfSequence.clear(); @@ -4080,7 +4080,7 @@ void MediaSession::configure (LinphoneCallDir direction, LinphoneProxyConfig *cf d->setParams(new MediaSessionParams()); d->params->initDefault(getCore()); d->initializeParamsAccordingToIncomingCallParams(); - SalMediaDescription *md = d->op->get_remote_media_description(); + SalMediaDescription *md = d->op->getRemoteMediaDescription(); if (d->natPolicy && linphone_nat_policy_ice_enabled(d->natPolicy)) { if (md) { /* Create the ice session now if ICE is required */ @@ -4181,9 +4181,9 @@ LinphoneStatus MediaSession::resume () { d->makeLocalMediaDescription(); sal_media_description_set_dir(d->localDesc, SalStreamSendRecv); if (!getCore()->getCCore()->sip_conf.sdp_200_ack) - d->op->set_local_media_description(d->localDesc); + d->op->setLocalMediaDescription(d->localDesc); else - d->op->set_local_media_description(nullptr); + d->op->setLocalMediaDescription(nullptr); string subject = "Call resuming"; if (d->getParams()->getPrivate()->getInConference() && !getCurrentParams()->getPrivate()->getInConference()) subject = "Conference"; @@ -4195,7 +4195,7 @@ LinphoneStatus MediaSession::resume () { if (getCore()->getCCore()->sip_conf.sdp_200_ack) { /* We are NOT offering, set local media description after sending the call so that we are ready to * process the remote offer when it will arrive. */ - d->op->set_local_media_description(d->localDesc); + d->op->setLocalMediaDescription(d->localDesc); } return 0; } @@ -4218,7 +4218,7 @@ LinphoneStatus MediaSession::sendDtmfs (const std::string &dtmfs) { if (delayMs < 0) delayMs = 0; d->dtmfSequence = dtmfs; - d->dtmfTimer = getCore()->getCCore()->sal->create_timer(MediaSessionPrivate::sendDtmf, this, static_cast(delayMs), "DTMF sequence timer"); + d->dtmfTimer = getCore()->getCCore()->sal->createTimer(MediaSessionPrivate::sendDtmf, this, static_cast(delayMs), "DTMF sequence timer"); } return 0; } @@ -4239,7 +4239,7 @@ void MediaSession::sendVfuRequest () { } else if (getCore()->getCCore()->sip_conf.vfu_with_info) { lInfo() << "Request SIP INFO FIR on CallSession [" << this << "]"; if (d->state == CallSession::State::StreamsRunning) - d->op->send_vfu_request(); + d->op->sendVfuRequest(); } else lInfo() << "vfu request using sip disabled from config [sip,vfu_with_info]"; #endif @@ -4248,8 +4248,8 @@ void MediaSession::sendVfuRequest () { void MediaSession::startIncomingNotification (bool notifyRinging) { L_D(); d->makeLocalMediaDescription(); - d->op->set_local_media_description(d->localDesc); - SalMediaDescription *md = d->op->get_final_media_description(); + d->op->setLocalMediaDescription(d->localDesc); + SalMediaDescription *md = d->op->getFinalMediaDescription(); if (md) { if (sal_media_description_empty(md) || linphone_core_incompatible_security(getCore()->getCCore(), md)) { LinphoneErrorInfo *ei = linphone_error_info_new(); @@ -4277,7 +4277,7 @@ int MediaSession::startInvite (const Address *destination, const string &subject } if (!getCore()->getCCore()->sip_conf.sdp_200_ack) { /* We are offering, set local media description before sending the call */ - d->op->set_local_media_description(d->localDesc); + d->op->setLocalMediaDescription(d->localDesc); } int result = CallSession::startInvite(destination, subject, content); @@ -4289,7 +4289,7 @@ int MediaSession::startInvite (const Address *destination, const string &subject if (getCore()->getCCore()->sip_conf.sdp_200_ack) { /* We are NOT offering, set local media description after sending the call so that we are ready to process the remote offer when it will arrive. */ - d->op->set_local_media_description(d->localDesc); + d->op->setLocalMediaDescription(d->localDesc); } return result; } @@ -4631,7 +4631,7 @@ float MediaSession::getRecordVolume () const { const MediaSessionParams * MediaSession::getRemoteParams () { L_D(); if (d->op){ - SalMediaDescription *md = d->op->get_remote_media_description(); + SalMediaDescription *md = d->op->getRemoteMediaDescription(); if (md) { d->setRemoteParams(new MediaSessionParams()); unsigned int nbAudioStreams = sal_media_description_nb_active_streams_of_type(md, SalAudio); @@ -4667,7 +4667,7 @@ const MediaSessionParams * MediaSession::getRemoteParams () { d->getRemoteParams()->getPrivate()->setCustomSdpMediaAttributes(LinphoneStreamTypeVideo, md->streams[d->mainVideoStreamIndex].custom_sdp_attributes); d->getRemoteParams()->getPrivate()->setCustomSdpMediaAttributes(LinphoneStreamTypeText, md->streams[d->mainTextStreamIndex].custom_sdp_attributes); } - const SalCustomHeader *ch = d->op->get_recv_custom_header(); + const SalCustomHeader *ch = d->op->getRecvCustomHeaders(); if (ch) { /* Instanciate a remote_params only if a SIP message was received before (custom headers indicates this) */ if (!d->remoteParams) diff --git a/src/core/core-call.cpp b/src/core/core-call.cpp index 53d33ab35..26e914ba0 100644 --- a/src/core/core-call.cpp +++ b/src/core/core-call.cpp @@ -59,16 +59,16 @@ bool CorePrivate::canWeAddCall () const { bool CorePrivate::inviteReplacesABrokenCall (SalCallOp *op) { CallSession *replacedSession = nullptr; - SalCallOp *replacedOp = op->get_replaces(); + SalCallOp *replacedOp = op->getReplaces(); if (replacedOp) - replacedSession = reinterpret_cast(replacedOp->get_user_pointer()); + replacedSession = reinterpret_cast(replacedOp->getUserPointer()); for (const auto &call : calls) { shared_ptr session = call->getPrivate()->getActiveSession(); if (session - && ((session->getPrivate()->isBroken() && op->compare_op(session->getPrivate()->getOp())) + && ((session->getPrivate()->isBroken() && op->compareOp(session->getPrivate()->getOp())) || ((replacedSession == session.get()) - && (strcmp(op->get_from(), replacedOp->get_from()) == 0) - && (strcmp(op->get_to(), replacedOp->get_to()) == 0))) + && (strcmp(op->getFrom(), replacedOp->getFrom()) == 0) + && (strcmp(op->getTo(), replacedOp->getTo()) == 0))) ) { session->getPrivate()->replaceOp(op); return true; diff --git a/src/nat/ice-agent.cpp b/src/nat/ice-agent.cpp index 48f15b5f2..8a2124f08 100644 --- a/src/nat/ice-agent.cpp +++ b/src/nat/ice-agent.cpp @@ -81,7 +81,7 @@ void IceAgent::deleteSession () { } void IceAgent::gatheringFinished () { - const SalMediaDescription *rmd = mediaSession.getPrivate()->getOp()->get_remote_media_description(); + const SalMediaDescription *rmd = mediaSession.getPrivate()->getOp()->getRemoteMediaDescription(); if (rmd) clearUnusedIceCandidates(mediaSession.getPrivate()->getLocalDesc(), rmd); if (!iceSession) @@ -134,7 +134,7 @@ bool IceAgent::prepare (const SalMediaDescription *localDesc, bool incomingOffer SalMediaDescription *remoteDesc = nullptr; bool hasVideo = false; if (incomingOffer) { - remoteDesc = mediaSession.getPrivate()->getOp()->get_remote_media_description(); + remoteDesc = mediaSession.getPrivate()->getOp()->getRemoteMediaDescription(); hasVideo = linphone_core_video_enabled(mediaSession.getCore()->getCCore()) && linphone_core_media_description_contains_video_stream(remoteDesc); } else diff --git a/src/sal/call-op.cpp b/src/sal/call-op.cpp index 3773585d3..5e9114f0a 100644 --- a/src/sal/call-op.cpp +++ b/src/sal/call-op.cpp @@ -32,46 +32,46 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE SalCallOp::~SalCallOp() { - if (this->local_media) sal_media_description_unref(this->local_media); - if (this->remote_media) sal_media_description_unref(this->remote_media); + if (mLocalMedia) sal_media_description_unref(mLocalMedia); + if (mRemoteMedia) sal_media_description_unref(mRemoteMedia); } -int SalCallOp::set_local_media_description(SalMediaDescription *desc) { +int SalCallOp::setLocalMediaDescription(SalMediaDescription *desc) { if (desc) { sal_media_description_ref(desc); belle_sip_error_code error; belle_sdp_session_description_t *sdp = media_description_to_sdp(desc); - vector buffer = marshal_media_description(sdp, error); + vector buffer = marshalMediaDescription(sdp, error); if (error != BELLE_SIP_OK) return -1; - this->local_body.setContentType(ContentType::Sdp); - this->local_body.setBody(move(buffer)); + mLocalBody.setContentType(ContentType::Sdp); + mLocalBody.setBody(move(buffer)); } else { - this->local_body = Content(); + mLocalBody = Content(); } - if (this->local_media) - sal_media_description_unref(this->local_media); - this->local_media=desc; + if (mLocalMedia) + sal_media_description_unref(mLocalMedia); + mLocalMedia=desc; - if (this->remote_media){ + if (mRemoteMedia){ /*case of an incoming call where we modify the local capabilities between the time * the call is ringing and it is accepted (for example if you want to accept without video*/ /*reset the sdp answer so that it is computed again*/ - if (this->sdp_answer){ - belle_sip_object_unref(this->sdp_answer); - this->sdp_answer=NULL; + if (mSdpAnswer){ + belle_sip_object_unref(mSdpAnswer); + mSdpAnswer=NULL; } } return 0; } -int SalCallOp::set_local_body(const Content &body) { +int SalCallOp::setLocalBody(const Content &body) { Content bodyCopy = body; - return set_local_body(move(bodyCopy)); + return setLocalBody(move(bodyCopy)); } -int SalCallOp::set_local_body(const Content &&body) { +int SalCallOp::setLocalBody(const Content &&body) { if (!body.isValid()) return -1; if (body.getContentType() == ContentType::Sdp) { @@ -85,15 +85,15 @@ int SalCallOp::set_local_body(const Content &&body) { return -1; } } - if (this->local_media) sal_media_description_unref(this->local_media); - this->local_media = desc; + if (mLocalMedia) sal_media_description_unref(mLocalMedia); + mLocalMedia = desc; } - this->local_body = body; + mLocalBody = body; return 0; } -belle_sip_header_allow_t *SalCallOp::create_allow(bool_t enable_update) { +belle_sip_header_allow_t *SalCallOp::createAllow(bool_t enable_update) { belle_sip_header_allow_t* header_allow; char allow [256]; snprintf(allow,sizeof(allow),"INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO%s",(enable_update?", UPDATE":"")); @@ -101,7 +101,7 @@ belle_sip_header_allow_t *SalCallOp::create_allow(bool_t enable_update) { return header_allow; } -int SalCallOp::set_custom_body(belle_sip_message_t *msg, const Content &body) { +int SalCallOp::setCustomBody(belle_sip_message_t *msg, const Content &body) { ContentType contentType = body.getContentType(); auto contentDisposition = body.getContentDisposition(); string contentEncoding = body.getContentEncoding(); @@ -137,7 +137,7 @@ int SalCallOp::set_custom_body(belle_sip_message_t *msg, const Content &body) { return 0; } -std::vector SalCallOp::marshal_media_description(belle_sdp_session_description_t *session_desc, belle_sip_error_code &error) { +std::vector SalCallOp::marshalMediaDescription(belle_sdp_session_description_t *session_desc, belle_sip_error_code &error) { size_t length = 0; size_t bufLen = 2048; vector buff(bufLen); @@ -163,65 +163,65 @@ std::vector SalCallOp::marshal_media_description(belle_sdp_session_descrip return buff; } -int SalCallOp::set_sdp(belle_sip_message_t *msg,belle_sdp_session_description_t* session_desc) { +int SalCallOp::setSdp(belle_sip_message_t *msg,belle_sdp_session_description_t* session_desc) { belle_sip_error_code error; if (session_desc == NULL) return -1; - vector buff = marshal_media_description(session_desc, error); + vector buff = marshalMediaDescription(session_desc, error); if (error != BELLE_SIP_OK) return -1; Content body; body.setContentType(ContentType::Sdp); body.setBody(move(buff)); - set_custom_body(msg, body); + setCustomBody(msg, body); return 0; } -int SalCallOp::set_sdp_from_desc(belle_sip_message_t *msg, const SalMediaDescription *desc) { +int SalCallOp::setSdpFromDesc(belle_sip_message_t *msg, const SalMediaDescription *desc) { int err; belle_sdp_session_description_t *sdp=media_description_to_sdp(desc); - err=set_sdp(msg,sdp); + err=setSdp(msg,sdp); belle_sip_object_unref(sdp); return err; } -void SalCallOp::fill_invite(belle_sip_request_t* invite) { - belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(create_allow(this->root->enable_sip_update))); - if (this->root->session_expires!=0){ +void SalCallOp::fillInvite(belle_sip_request_t* invite) { + belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(createAllow(mRoot->mEnableSipUpdate))); + if (mRoot->mSessionExpires!=0){ belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),belle_sip_header_create( "Session-expires", "600;refresher=uas")); belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),belle_sip_header_create( "Supported", "timer")); } - this->sdp_offering = (this->local_body.getContentType() == ContentType::Sdp); - set_custom_body(BELLE_SIP_MESSAGE(invite), this->local_body); + mSdpOffering = (mLocalBody.getContentType() == ContentType::Sdp); + setCustomBody(BELLE_SIP_MESSAGE(invite), mLocalBody); } -void SalCallOp::set_released() { - if (!this->call_released){ - this->state=State::Terminated; - this->root->callbacks.call_released(this); - this->call_released=TRUE; +void SalCallOp::setReleased() { + if (!mCallReleased){ + mState=State::Terminated; + mRoot->mCallbacks.call_released(this); + mCallReleased=TRUE; /*be aware that the following line may destroy the op*/ - set_or_update_dialog(NULL); + setOrUpdateDialog(NULL); } } -void SalCallOp::process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event) { +void SalCallOp::processIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event) { SalCallOp *op = (SalCallOp *)user_ctx; - if (op->state == State::Terminated) return; + if (op->mState == State::Terminated) return; - if (op->pending_client_trans && (belle_sip_transaction_get_state(BELLE_SIP_TRANSACTION(op->pending_client_trans)) == BELLE_SIP_TRANSACTION_INIT)) { + if (op->mPendingClientTransaction && (belle_sip_transaction_get_state(BELLE_SIP_TRANSACTION(op->mPendingClientTransaction)) == BELLE_SIP_TRANSACTION_INIT)) { - sal_error_info_set(&op->error_info, SalReasonIOError, "SIP", 503, "IO error", NULL); - op->root->callbacks.call_failure(op); + sal_error_info_set(&op->mErrorInfo, SalReasonIOError, "SIP", 503, "IO error", NULL); + op->mRoot->mCallbacks.call_failure(op); - if (!op->dialog || belle_sip_dialog_get_state(op->dialog) != BELLE_SIP_DIALOG_CONFIRMED){ + if (!op->mDialog || belle_sip_dialog_get_state(op->mDialog) != BELLE_SIP_DIALOG_CONFIRMED){ /* Call terminated very very early, before INVITE is even sent, probably DNS resolution timeout. */ - op->state = State::Terminating; - op->set_released(); + op->mState = State::Terminating; + op->setReleased(); } } else { /* Nothing to be done. If the error comes from a connectivity loss, @@ -229,12 +229,12 @@ void SalCallOp::process_io_error_cb(void *user_ctx, const belle_sip_io_error_eve } } -void SalCallOp::cancelling_invite(const SalErrorInfo *info) { - cancel_invite_with_info(info); - this->state=State::Terminating; +void SalCallOp::cancellingInvite(const SalErrorInfo *info) { + cancelInvite(info); + mState=State::Terminating; } -Content SalCallOp::extract_body(belle_sip_message_t *message) { +Content SalCallOp::extractBody(belle_sip_message_t *message) { Content body; belle_sip_header_content_type_t *content_type = belle_sip_message_get_header_by_type(message, belle_sip_header_content_type_t); belle_sip_header_content_disposition_t *contentDispositionHeader = belle_sip_message_get_header_by_type(message, belle_sip_header_content_disposition_t); @@ -256,17 +256,17 @@ Content SalCallOp::extract_body(belle_sip_message_t *message) { return body; } -int SalCallOp::parse_sdp_body(const Content &body,belle_sdp_session_description_t** session_desc, SalReason *error) { +int SalCallOp::parseSdpBody(const Content &body,belle_sdp_session_description_t** session_desc, SalReason *error) { *session_desc = NULL; *error = SalReasonNone; - if (this->sdp_handling == SalOpSDPSimulateError) { + if (mSdpHandling == SalOpSDPSimulateError) { ms_error("Simulating SDP parsing error for op %p", this); *error = SalReasonNotAcceptable; return -1; } - if (this->sdp_handling == SalOpSDPSimulateRemove) { + if (mSdpHandling == SalOpSDPSimulateRemove) { ms_error("Simulating no SDP for op %p", this); return 0; } @@ -284,7 +284,7 @@ int SalCallOp::parse_sdp_body(const Content &body,belle_sdp_session_description_ return 0; } -void SalCallOp::set_addr_to_0000(char value[], size_t sz) { +void SalCallOp::setAddrTo0000(char value[], size_t sz) { if (ms_is_ipv6(value)) { strncpy(value,"::0", sz); } else { @@ -293,97 +293,97 @@ void SalCallOp::set_addr_to_0000(char value[], size_t sz) { return; } -void SalCallOp::sdp_process(){ - ms_message("Doing SDP offer/answer process of type %s", this->sdp_offering ? "outgoing" : "incoming"); - if (this->result){ - sal_media_description_unref(this->result); - this->result = NULL; +void SalCallOp::sdpProcess(){ + ms_message("Doing SDP offer/answer process of type %s", mSdpOffering ? "outgoing" : "incoming"); + if (mResult){ + sal_media_description_unref(mResult); + mResult = NULL; } /* if SDP was invalid */ - if (this->remote_media == NULL) return; + if (mRemoteMedia == NULL) return; - this->result=sal_media_description_new(); - if (this->sdp_offering){ - offer_answer_initiate_outgoing(this->root->factory, this->local_media,this->remote_media,this->result); + mResult=sal_media_description_new(); + if (mSdpOffering){ + offer_answer_initiate_outgoing(mRoot->mFactory, mLocalMedia,mRemoteMedia,mResult); }else{ int i; - if (this->sdp_answer){ - belle_sip_object_unref(this->sdp_answer); + if (mSdpAnswer){ + belle_sip_object_unref(mSdpAnswer); } - offer_answer_initiate_incoming(this->root->factory, this->local_media,this->remote_media,this->result,this->root->one_matching_codec); + offer_answer_initiate_incoming(mRoot->mFactory, mLocalMedia,mRemoteMedia,mResult,mRoot->mOneMatchingCodec); /*for backward compatibility purpose*/ - if(this->_cnx_ip_to_0000_if_sendonly_enabled && sal_media_description_has_dir(this->result,SalStreamSendOnly)) { - set_addr_to_0000(this->result->addr, sizeof(this->result->addr)); + if(mCnxIpTo0000IfSendOnlyEnabled && sal_media_description_has_dir(mResult,SalStreamSendOnly)) { + setAddrTo0000(mResult->addr, sizeof(mResult->addr)); for(i=0;iresult->streams[i].dir == SalStreamSendOnly) { - set_addr_to_0000(this->result->streams[i].rtp_addr, sizeof(this->result->streams[i].rtp_addr)); - set_addr_to_0000(this->result->streams[i].rtcp_addr, sizeof(this->result->streams[i].rtcp_addr)); + if (mResult->streams[i].dir == SalStreamSendOnly) { + setAddrTo0000(mResult->streams[i].rtp_addr, sizeof(mResult->streams[i].rtp_addr)); + setAddrTo0000(mResult->streams[i].rtcp_addr, sizeof(mResult->streams[i].rtcp_addr)); } } } - this->sdp_answer=(belle_sdp_session_description_t *)belle_sip_object_ref(media_description_to_sdp(this->result)); + mSdpAnswer=(belle_sdp_session_description_t *)belle_sip_object_ref(media_description_to_sdp(mResult)); /*once we have generated the SDP answer, we modify the result description for processing by the upper layer. It should contains media parameters constraint from the remote offer, not our response*/ - strcpy(this->result->addr,this->remote_media->addr); - this->result->bandwidth=this->remote_media->bandwidth; + strcpy(mResult->addr,mRemoteMedia->addr); + mResult->bandwidth=mRemoteMedia->bandwidth; for(i=0;iresult->streams[i].rtp_port!=0){ /*if stream was accepted*/ - strcpy(this->result->streams[i].rtp_addr,this->remote_media->streams[i].rtp_addr); - this->result->streams[i].ptime=this->remote_media->streams[i].ptime; - this->result->streams[i].bandwidth=this->remote_media->streams[i].bandwidth; - this->result->streams[i].rtp_port=this->remote_media->streams[i].rtp_port; - strcpy(this->result->streams[i].rtcp_addr,this->remote_media->streams[i].rtcp_addr); - this->result->streams[i].rtcp_port=this->remote_media->streams[i].rtcp_port; + if (mResult->streams[i].rtp_port!=0){ /*if stream was accepted*/ + strcpy(mResult->streams[i].rtp_addr,mRemoteMedia->streams[i].rtp_addr); + mResult->streams[i].ptime=mRemoteMedia->streams[i].ptime; + mResult->streams[i].bandwidth=mRemoteMedia->streams[i].bandwidth; + mResult->streams[i].rtp_port=mRemoteMedia->streams[i].rtp_port; + strcpy(mResult->streams[i].rtcp_addr,mRemoteMedia->streams[i].rtcp_addr); + mResult->streams[i].rtcp_port=mRemoteMedia->streams[i].rtcp_port; - if (sal_stream_description_has_srtp(&this->result->streams[i])) { - this->result->streams[i].crypto[0] = this->remote_media->streams[i].crypto[0]; + if (sal_stream_description_has_srtp(&mResult->streams[i])) { + mResult->streams[i].crypto[0] = mRemoteMedia->streams[i].crypto[0]; } } } } } -void SalCallOp::handle_body_from_response(belle_sip_response_t* response) { +void SalCallOp::handleBodyFromResponse(belle_sip_response_t* response) { SalReason reason; belle_sdp_session_description_t* sdp = nullptr; - Content body = extract_body(BELLE_SIP_MESSAGE(response)); - if (this->remote_media){ - sal_media_description_unref(this->remote_media); - this->remote_media=NULL; + Content body = extractBody(BELLE_SIP_MESSAGE(response)); + if (mRemoteMedia){ + sal_media_description_unref(mRemoteMedia); + mRemoteMedia=NULL; } if (body.getContentType() == ContentType::Sdp) { - if (parse_sdp_body(body, &sdp, &reason) == 0) { + if (parseSdpBody(body, &sdp, &reason) == 0) { if (sdp) { - this->remote_media = sal_media_description_new(); - sdp_to_media_description(sdp, this->remote_media); - this->remote_body = move(body); + mRemoteMedia = sal_media_description_new(); + sdp_to_media_description(sdp, mRemoteMedia); + mRemoteBody = move(body); }/*if no sdp in response, what can we do ?*/ } /* process sdp in any case to reset result media description*/ - if (this->local_media) sdp_process(); + if (mLocalMedia) sdpProcess(); } else { - this->remote_body = move(body); + mRemoteBody = move(body); } } -void SalCallOp::set_error(belle_sip_response_t* response, bool_t fatal){ - set_error_info_from_response(response); - if (fatal) this->state = State::Terminating; - this->root->callbacks.call_failure(this); +void SalCallOp::setError(belle_sip_response_t* response, bool_t fatal){ + setErrorInfoFromResponse(response); + if (fatal) mState = State::Terminating; + mRoot->mCallbacks.call_failure(this); } -int SalCallOp::vfu_retry_cb (void *user_data, unsigned int events) { +int SalCallOp::vfuRetryCb (void *user_data, unsigned int events) { SalCallOp *op=(SalCallOp *)user_data; - op->send_vfu_request(); + op->sendVfuRequest(); op->unref(); return BELLE_SIP_STOP; } -void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_event_t *event) { +void SalCallOp::processResponseCb(void *op_base, const belle_sip_response_event_t *event) { SalCallOp * op = (SalCallOp *)op_base; belle_sip_request_t* ack; belle_sip_dialog_state_t dialog_state; @@ -400,7 +400,7 @@ void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_even return; } req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(client_transaction)); - op->set_or_update_dialog(dialog); + op->setOrUpdateDialog(dialog); dialog_state=dialog ? belle_sip_dialog_get_state(dialog) : BELLE_SIP_DIALOG_NULL; method=belle_sip_request_get_method(req); ms_message("Op [%p] receiving call response [%i], dialog is [%p] in state [%s]",op,code,dialog,belle_sip_dialog_state_to_string(dialog_state)); @@ -410,67 +410,67 @@ void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_even case BELLE_SIP_DIALOG_NULL: case BELLE_SIP_DIALOG_EARLY: { if (strcmp("INVITE",method)==0 ) { - if (op->state == State::Terminating) { + if (op->mState == State::Terminating) { /*check if CANCEL was sent before*/ - if (strcmp("CANCEL",belle_sip_request_get_method(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(op->pending_client_trans))))!=0) { + if (strcmp("CANCEL",belle_sip_request_get_method(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(op->mPendingClientTransaction))))!=0) { /*it wasn't sent */ if (code<200) { - op->cancelling_invite(NULL); + op->cancellingInvite(NULL); }else{ /* no need to send the INVITE because the UAS rejected the INVITE*/ - if (op->dialog==NULL) op->set_released(); + if (op->mDialog==NULL) op->setReleased(); } } else { /*it was sent already, so just expect the 487 or any error response to send the call_released() notification*/ if (code>=300){ - if (op->dialog==NULL) op->set_released(); + if (op->mDialog==NULL) op->setReleased(); } } } else if (code >= 180 && code<200) { belle_sip_response_t *prev_response=reinterpret_cast(belle_sip_object_data_get(BELLE_SIP_OBJECT(dialog),"early_response")); if (!prev_response || code>belle_sip_response_get_status_code(prev_response)){ - op->handle_body_from_response(response); - op->root->callbacks.call_ringing(op); + op->handleBodyFromResponse(response); + op->mRoot->mCallbacks.call_ringing(op); } belle_sip_object_data_set(BELLE_SIP_OBJECT(dialog),"early_response",belle_sip_object_ref(response),belle_sip_object_unref); } else if (code>=300){ - op->set_error(response, TRUE); - if (op->dialog==NULL) op->set_released(); + op->setError(response, TRUE); + if (op->mDialog==NULL) op->setReleased(); } } else if (code >=200 && code<300) { if (strcmp("UPDATE",method)==0) { - op->handle_body_from_response(response); - op->root->callbacks.call_accepted(op); + op->handleBodyFromResponse(response); + op->mRoot->mCallbacks.call_accepted(op); } else if (strcmp("CANCEL", method) == 0) { - op->root->callbacks.call_cancel_done(op); + op->mRoot->mCallbacks.call_cancel_done(op); } } } break; case BELLE_SIP_DIALOG_CONFIRMED: { - switch (op->state) { + switch (op->mState) { case State::Early:/*invite case*/ case State::Active: /*re-invite, INFO, UPDATE case*/ if (strcmp("INVITE",method)==0){ if (code >=200 && code<300) { - op->handle_body_from_response(response); - ack=belle_sip_dialog_create_ack(op->dialog,belle_sip_dialog_get_local_seq_number(op->dialog)); + op->handleBodyFromResponse(response); + ack=belle_sip_dialog_create_ack(op->mDialog,belle_sip_dialog_get_local_seq_number(op->mDialog)); if (ack == NULL) { ms_error("This call has been already terminated."); return ; } - if (op->sdp_answer){ - set_sdp(BELLE_SIP_MESSAGE(ack),op->sdp_answer); - belle_sip_object_unref(op->sdp_answer); - op->sdp_answer=NULL; + if (op->mSdpAnswer){ + setSdp(BELLE_SIP_MESSAGE(ack),op->mSdpAnswer); + belle_sip_object_unref(op->mSdpAnswer); + op->mSdpAnswer=NULL; } - belle_sip_message_add_header(BELLE_SIP_MESSAGE(ack),BELLE_SIP_HEADER(op->root->user_agent)); - op->root->callbacks.call_accepted(op); /*INVITE*/ - op->root->callbacks.call_ack_being_sent(op, (SalCustomHeader*)ack); - belle_sip_dialog_send_ack(op->dialog,ack); - op->state=State::Active; + belle_sip_message_add_header(BELLE_SIP_MESSAGE(ack),BELLE_SIP_HEADER(op->mRoot->mUserAgent)); + op->mRoot->mCallbacks.call_accepted(op); /*INVITE*/ + op->mRoot->mCallbacks.call_ack_being_sent(op, (SalCustomHeader*)ack); + belle_sip_dialog_send_ack(op->mDialog,ack); + op->mState=State::Active; }else if (code >= 300){ - op->set_error(response, FALSE); + op->setError(response, FALSE); } }else if (strcmp("INFO",method)==0){ if (code == 491 @@ -478,24 +478,24 @@ void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_even && strcmp("application",belle_sip_header_content_type_get_type(header_content_type))==0 && strcmp("media_control+xml",belle_sip_header_content_type_get_subtype(header_content_type))==0) { unsigned int retry_in = rand() % 1001; // [0;1000] - belle_sip_source_t *s=op->root->create_timer(vfu_retry_cb,op->ref(), retry_in, "vfu request retry"); + belle_sip_source_t *s=op->mRoot->createTimer(vfuRetryCb,op->ref(), retry_in, "vfu request retry"); ms_message("Rejected vfu request on op [%p], just retry in [%u] ms",op,retry_in); belle_sip_object_unref(s); }else { /*ignoring*/ } }else if (strcmp("UPDATE",method)==0){ - op->root->callbacks.call_accepted(op); /*INVITE*/ + op->mRoot->mCallbacks.call_accepted(op); /*INVITE*/ }else if (strcmp("CANCEL",method)==0){ - op->root->callbacks.call_cancel_done(op); + op->mRoot->mCallbacks.call_cancel_done(op); } break; case State::Terminating: - op->send_request(belle_sip_dialog_create_request(op->dialog,"BYE")); + op->sendRequest(belle_sip_dialog_create_request(op->mDialog,"BYE")); break; case State::Terminated: default: - ms_error("Call op [%p] receives unexpected answer [%i] while in state [%s].",op,code, to_string(op->state)); + ms_error("Call op [%p] receives unexpected answer [%i] while in state [%s].",op,code, toString(op->mState)); } } break; @@ -503,7 +503,7 @@ void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_even if ((code >= 300) && ((strcmp("INVITE", method) == 0) || (strcmp("BYE", method) == 0)) ) { - op->set_error(response, TRUE); + op->setError(response, TRUE); } } break; @@ -515,23 +515,23 @@ void SalCallOp::process_response_cb(void *op_base, const belle_sip_response_even op->unref(); } -void SalCallOp::process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void SalCallOp::processTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { SalCallOp * op=(SalCallOp *)user_ctx; - if (op->state==State::Terminated) return; + if (op->mState==State::Terminated) return; - if (!op->dialog) { + if (!op->mDialog) { /*call terminated very early*/ - sal_error_info_set(&op->error_info, SalReasonRequestTimeout, "SIP", 408, "Request timeout", NULL); - op->root->callbacks.call_failure(op); - op->state = State::Terminating; - op->set_released(); + sal_error_info_set(&op->mErrorInfo, SalReasonRequestTimeout, "SIP", 408, "Request timeout", NULL); + op->mRoot->mCallbacks.call_failure(op); + op->mState = State::Terminating; + op->setReleased(); } else { /*dialog will terminated shortly, nothing to do*/ } } -void SalCallOp::process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { +void SalCallOp::processTransactionTerminatedCb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { SalCallOp * op = (SalCallOp *)user_ctx; belle_sip_client_transaction_t *client_transaction=belle_sip_transaction_terminated_event_get_client_transaction(event); belle_sip_server_transaction_t *server_transaction=belle_sip_transaction_terminated_event_get_server_transaction(event); @@ -549,33 +549,33 @@ void SalCallOp::process_transaction_terminated_cb(void *user_ctx, const belle_si } if (resp) code = belle_sip_response_get_status_code(resp); - if (op->state == State::Terminating + if (op->mState == State::Terminating && strcmp("BYE",belle_sip_request_get_method(req))==0 && (!resp || (belle_sip_response_get_status_code(resp) != 401 && belle_sip_response_get_status_code(resp) != 407)) - && op->dialog==NULL) { + && op->mDialog==NULL) { release_call=TRUE; - }else if (op->state == State::Early && code < 200){ + }else if (op->mState == State::Early && code < 200){ /*call terminated early*/ - sal_error_info_set(&op->error_info, SalReasonIOError, "SIP", 503, "I/O error", NULL); - op->state = State::Terminating; - op->root->callbacks.call_failure(op); + sal_error_info_set(&op->mErrorInfo, SalReasonIOError, "SIP", 503, "I/O error", NULL); + op->mState = State::Terminating; + op->mRoot->mCallbacks.call_failure(op); release_call=TRUE; } if (server_transaction){ - if (op->pending_server_trans==server_transaction){ - belle_sip_object_unref(op->pending_server_trans); - op->pending_server_trans=NULL; + if (op->mPendingServerTransaction==server_transaction){ + belle_sip_object_unref(op->mPendingServerTransaction); + op->mPendingServerTransaction=NULL; } - if (op->pending_update_server_trans==server_transaction){ - belle_sip_object_unref(op->pending_update_server_trans); - op->pending_update_server_trans=NULL; + if (op->mPendingUpdateServerTransaction==server_transaction){ + belle_sip_object_unref(op->mPendingUpdateServerTransaction); + op->mPendingUpdateServerTransaction=NULL; } } - if (release_call) op->set_released(); + if (release_call) op->setReleased(); } -int SalCallOp::is_media_description_acceptable(SalMediaDescription *md) { +int SalCallOp::isMediaDescriptionAcceptable(SalMediaDescription *md) { if (md->nb_streams==0){ ms_warning("Media description does not define any stream."); return FALSE; @@ -583,94 +583,94 @@ int SalCallOp::is_media_description_acceptable(SalMediaDescription *md) { return TRUE; } -SalReason SalCallOp::process_body_for_invite(belle_sip_request_t* invite) { +SalReason SalCallOp::processBodyForInvite(belle_sip_request_t* invite) { SalReason reason = SalReasonNone; - Content body = extract_body(BELLE_SIP_MESSAGE(invite)); + Content body = extractBody(BELLE_SIP_MESSAGE(invite)); if (!body.isValid()) return SalReasonUnsupportedContent; if ((body.getContentType() == ContentType::Sdp) || (body.getContentType().isEmpty() && body.isEmpty())) { belle_sdp_session_description_t* sdp; - if (parse_sdp_body(body, &sdp, &reason) == 0) { + if (parseSdpBody(body, &sdp, &reason) == 0) { if (sdp) { - this->sdp_offering = FALSE; - if (this->remote_media) sal_media_description_unref(this->remote_media); - this->remote_media = sal_media_description_new(); - sdp_to_media_description(sdp, this->remote_media); + mSdpOffering = FALSE; + if (mRemoteMedia) sal_media_description_unref(mRemoteMedia); + mRemoteMedia = sal_media_description_new(); + sdp_to_media_description(sdp, mRemoteMedia); /*make some sanity check about the SDP received*/ - if (!is_media_description_acceptable(this->remote_media)) { + if (!isMediaDescriptionAcceptable(mRemoteMedia)) { reason = SalReasonNotAcceptable; } belle_sip_object_unref(sdp); - } else this->sdp_offering = TRUE; /*INVITE without SDP*/ + } else mSdpOffering = TRUE; /*INVITE without SDP*/ } if (reason != SalReasonNone) { SalErrorInfo sei; memset(&sei, 0, sizeof(sei)); sal_error_info_set(&sei, reason, "SIP", 0, NULL, NULL); - decline_with_error_info(&sei, NULL); + declineWithErrorInfo(&sei, NULL); sal_error_info_reset(&sei); } } - this->remote_body = move(body); + mRemoteBody = move(body); return reason; } -SalReason SalCallOp::process_body_for_ack(belle_sip_request_t *ack) { +SalReason SalCallOp::processBodyForAck(belle_sip_request_t *ack) { SalReason reason = SalReasonNone; - Content body = extract_body(BELLE_SIP_MESSAGE(ack)); + Content body = extractBody(BELLE_SIP_MESSAGE(ack)); if (!body.isValid()) return SalReasonUnsupportedContent; if (body.getContentType() == ContentType::Sdp) { belle_sdp_session_description_t *sdp; - if (parse_sdp_body(body, &sdp, &reason) == 0) { + if (parseSdpBody(body, &sdp, &reason) == 0) { if (sdp) { - if (this->remote_media) sal_media_description_unref(this->remote_media); - this->remote_media = sal_media_description_new(); - sdp_to_media_description(sdp, this->remote_media); - this->sdp_process(); + if (mRemoteMedia) sal_media_description_unref(mRemoteMedia); + mRemoteMedia = sal_media_description_new(); + sdp_to_media_description(sdp, mRemoteMedia); + sdpProcess(); belle_sip_object_unref(sdp); } else { ms_warning("SDP expected in ACK but not found."); } } } - this->remote_body = move(body); + mRemoteBody = move(body); return reason; } -void SalCallOp::call_terminated(belle_sip_server_transaction_t* server_transaction, int status_code, belle_sip_request_t* cancel_request) { +void SalCallOp::callTerminated(belle_sip_server_transaction_t* server_transaction, int status_code, belle_sip_request_t* cancel_request) { belle_sip_response_t* resp; belle_sip_request_t* server_req = belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(server_transaction)); - this->state = State::Terminating; - set_reason_error_info(BELLE_SIP_MESSAGE(cancel_request ? cancel_request : server_req)); - resp=create_response_from_request(server_req,status_code); + mState = State::Terminating; + setReasonErrorInfo(BELLE_SIP_MESSAGE(cancel_request ? cancel_request : server_req)); + resp=createResponseFromRequest(server_req,status_code); belle_sip_server_transaction_send_response(server_transaction,resp); - this->root->callbacks.call_terminated(this,this->dir==Dir::Incoming?this->get_from():this->get_to()); + mRoot->mCallbacks.call_terminated(this,mDir==Dir::Incoming?getFrom():getTo()); } -void SalCallOp::reset_descriptions() { - if (this->remote_media){ - sal_media_description_unref(this->remote_media); - this->remote_media=NULL; +void SalCallOp::resetDescriptions() { + if (mRemoteMedia){ + sal_media_description_unref(mRemoteMedia); + mRemoteMedia=NULL; } - if (this->result){ - sal_media_description_unref(this->result); - this->result=NULL; + if (mResult){ + sal_media_description_unref(mResult); + mResult=NULL; } } -void SalCallOp::unsupported_method(belle_sip_server_transaction_t* server_transaction,belle_sip_request_t* request) { +void SalCallOp::unsupportedMethod(belle_sip_server_transaction_t* server_transaction,belle_sip_request_t* request) { belle_sip_response_t* resp; resp=belle_sip_response_create_from_request(request,501); belle_sip_server_transaction_send_response(server_transaction,resp); } -bool_t SalCallOp::is_a_pending_invite_incoming_transaction(belle_sip_transaction_t *tr){ +bool_t SalCallOp::isAPendingIncomingInviteTransaction(belle_sip_transaction_t *tr){ return BELLE_SIP_OBJECT_IS_INSTANCE_OF(tr, belle_sip_ist_t) && belle_sip_transaction_state_is_transient( belle_sip_transaction_get_state(tr)); } -void SalCallOp::process_request_event_cb(void *op_base, const belle_sip_request_event_t *event) { +void SalCallOp::processRequestEventCb(void *op_base, const belle_sip_request_event_t *event) { SalCallOp * op = (SalCallOp *)op_base; SalReason reason; belle_sip_server_transaction_t* server_transaction=NULL; @@ -683,50 +683,50 @@ void SalCallOp::process_request_event_cb(void *op_base, const belle_sip_request_ bool_t drop_op = FALSE; if (strcmp("ACK",method)!=0){ /*ACK doesn't create a server transaction*/ - server_transaction = belle_sip_provider_create_server_transaction(op->root->prov,belle_sip_request_event_get_request(event)); + server_transaction = belle_sip_provider_create_server_transaction(op->mRoot->mProvider,belle_sip_request_event_get_request(event)); belle_sip_object_ref(server_transaction); belle_sip_transaction_set_application_data(BELLE_SIP_TRANSACTION(server_transaction),op->ref()); } if (strcmp("INVITE",method)==0) { - if (op->pending_server_trans) belle_sip_object_unref(op->pending_server_trans); + if (op->mPendingServerTransaction) belle_sip_object_unref(op->mPendingServerTransaction); /*updating pending invite transaction*/ - op->pending_server_trans=server_transaction; - belle_sip_object_ref(op->pending_server_trans); + op->mPendingServerTransaction=server_transaction; + belle_sip_object_ref(op->mPendingServerTransaction); } if (strcmp("UPDATE",method)==0) { - if (op->pending_update_server_trans) belle_sip_object_unref(op->pending_update_server_trans); + if (op->mPendingUpdateServerTransaction) belle_sip_object_unref(op->mPendingUpdateServerTransaction); /*updating pending update transaction*/ - op->pending_update_server_trans=server_transaction; - belle_sip_object_ref(op->pending_update_server_trans); + op->mPendingUpdateServerTransaction=server_transaction; + belle_sip_object_ref(op->mPendingUpdateServerTransaction); } - if (!op->dialog) { - op->set_or_update_dialog(belle_sip_provider_create_dialog(op->root->prov, BELLE_SIP_TRANSACTION(op->pending_server_trans))); - ms_message("new incoming call from [%s] to [%s]",op->get_from(),op->get_to()); + if (!op->mDialog) { + op->setOrUpdateDialog(belle_sip_provider_create_dialog(op->mRoot->mProvider, BELLE_SIP_TRANSACTION(op->mPendingServerTransaction))); + ms_message("new incoming call from [%s] to [%s]",op->getFrom(),op->getTo()); } - dialog_state=belle_sip_dialog_get_state(op->dialog); + dialog_state=belle_sip_dialog_get_state(op->mDialog); switch(dialog_state) { case BELLE_SIP_DIALOG_NULL: { if (strcmp("INVITE",method)==0) { - if (!op->replaces && (op->replaces=belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_replaces_t))) { - belle_sip_object_ref(op->replaces); - } else if(op->replaces) { + if (!op->mReplaces && (op->mReplaces=belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_replaces_t))) { + belle_sip_object_ref(op->mReplaces); + } else if(op->mReplaces) { ms_warning("replace header already set"); } - if ( (reason = op->process_body_for_invite(req)) == SalReasonNone) { + if ( (reason = op->processBodyForInvite(req)) == SalReasonNone) { if ((call_info=belle_sip_message_get_header(BELLE_SIP_MESSAGE(req),"Call-Info"))) { if( strstr(belle_sip_header_get_unparsed_value(call_info),"answer-after=") != NULL) { - op->auto_answer_asked=TRUE; + op->mAutoAnswerAsked=TRUE; ms_message("The caller asked to automatically answer the call(Emergency?)\n"); } } - op->root->callbacks.call_received(op); + op->mRoot->mCallbacks.call_received(op); }else{ - sal_error_info_set(&op->error_info, reason, "SIP", 0, NULL, NULL); - op->root->callbacks.call_rejected(op); + sal_error_info_set(&op->mErrorInfo, reason, "SIP", 0, NULL, NULL); + op->mRoot->mCallbacks.call_rejected(op); /*the INVITE was declined by process_sdp_for_invite(). As we are not inside an established dialog, we can drop the op immediately*/ drop_op = TRUE; } @@ -738,68 +738,68 @@ void SalCallOp::process_request_event_cb(void *op_base, const belle_sip_request_ if(belle_sip_request_event_get_server_transaction(event)) { /*first answer 200 ok to cancel*/ belle_sip_server_transaction_send_response(server_transaction - ,op->create_response_from_request(req,200)); + ,op->createResponseFromRequest(req,200)); /*terminate invite transaction*/ - op->call_terminated(op->pending_server_trans,487,req); + op->callTerminated(op->mPendingServerTransaction,487,req); } else { /*call leg does not exist*/ belle_sip_server_transaction_send_response(server_transaction - ,op->create_response_from_request(req,481)); + ,op->createResponseFromRequest(req,481)); } } else if (strcmp("PRACK",method)==0) { - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); } else if (strcmp("UPDATE",method)==0) { - op->reset_descriptions(); - if (op->process_body_for_invite(req)==SalReasonNone) - op->root->callbacks.call_updating(op,TRUE); + op->resetDescriptions(); + if (op->processBodyForInvite(req)==SalReasonNone) + op->mRoot->mCallbacks.call_updating(op,TRUE); } else { belle_sip_error("Unexpected method [%s] for dialog state BELLE_SIP_DIALOG_EARLY",belle_sip_request_get_method(req)); - unsupported_method(server_transaction,req); + unsupportedMethod(server_transaction,req); } break; } case BELLE_SIP_DIALOG_CONFIRMED: /*great ACK received*/ if (strcmp("ACK",method)==0) { - if (!op->pending_client_trans || - !belle_sip_transaction_state_is_transient(belle_sip_transaction_get_state((belle_sip_transaction_t*)op->pending_client_trans))){ - if (op->sdp_offering){ - op->process_body_for_ack(req); + if (!op->mPendingClientTransaction || + !belle_sip_transaction_state_is_transient(belle_sip_transaction_get_state((belle_sip_transaction_t*)op->mPendingClientTransaction))){ + if (op->mSdpOffering){ + op->processBodyForAck(req); } - op->root->callbacks.call_ack_received(op, (SalCustomHeader*)req); + op->mRoot->mCallbacks.call_ack_received(op, (SalCustomHeader*)req); }else{ ms_message("Ignored received ack since a new client transaction has been started since."); } } else if(strcmp("BYE",method)==0) { - op->call_terminated(server_transaction,200,req); + op->callTerminated(server_transaction,200,req); /*call end not notified by dialog deletion because transaction can end before dialog*/ } else if(strcmp("INVITE",method)==0 || (is_update=(strcmp("UPDATE",method)==0)) ) { if (is_update && !belle_sip_message_get_body(BELLE_SIP_MESSAGE(req))) { /*session timer case*/ /*session expire should be handled. to be done when real session timer (rfc4028) will be implemented*/ - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); - belle_sip_object_unref(op->pending_update_server_trans); - op->pending_update_server_trans=NULL; + belle_sip_object_unref(op->mPendingUpdateServerTransaction); + op->mPendingUpdateServerTransaction=NULL; } else { /*re-invite*/ - op->reset_descriptions(); - if (op->process_body_for_invite(req)==SalReasonNone) - op->root->callbacks.call_updating(op,is_update); + op->resetDescriptions(); + if (op->processBodyForInvite(req)==SalReasonNone) + op->mRoot->mCallbacks.call_updating(op,is_update); } } else if (strcmp("INFO",method)==0){ if (belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)) && strstr(belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)),"picture_fast_update")) { /*vfu request*/ ms_message("Receiving VFU request on op [%p]",op); - if (op->root->callbacks.vfu_request){ - op->root->callbacks.vfu_request(op); + if (op->mRoot->mCallbacks.vfu_request){ + op->mRoot->mCallbacks.vfu_request(op); } }else{ belle_sip_message_t *msg = BELLE_SIP_MESSAGE(req); - belle_sip_body_handler_t *body_handler = BELLE_SIP_BODY_HANDLER(op->get_body_handler(msg)); + belle_sip_body_handler_t *body_handler = BELLE_SIP_BODY_HANDLER(op->getBodyHandler(msg)); if (body_handler) { belle_sip_header_content_type_t *content_type = belle_sip_message_get_header_by_type(msg, belle_sip_header_content_type_t); if (content_type @@ -807,39 +807,39 @@ void SalCallOp::process_request_event_cb(void *op_base, const belle_sip_request_ && (strcmp(belle_sip_header_content_type_get_subtype(content_type), "dtmf-relay") == 0)) { char tmp[10]; if (sal_lines_get_value(belle_sip_message_get_body(msg), "Signal",tmp, sizeof(tmp))){ - op->root->callbacks.dtmf_received(op,tmp[0]); + op->mRoot->mCallbacks.dtmf_received(op,tmp[0]); } }else - op->root->callbacks.info_received(op, (SalBodyHandler *)body_handler); + op->mRoot->mCallbacks.info_received(op, (SalBodyHandler *)body_handler); } else { - op->root->callbacks.info_received(op,NULL); + op->mRoot->mCallbacks.info_received(op,NULL); } } - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); }else if (strcmp("REFER",method)==0) { - op->process_refer(event,server_transaction); + op->processRefer(event,server_transaction); } else if (strcmp("NOTIFY",method)==0) { - op->process_notify(event,server_transaction); + op->processNotify(event,server_transaction); } else if (strcmp("OPTIONS",method)==0) { - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); } else if (strcmp("CANCEL",method)==0) { - belle_sip_transaction_t *last_transaction = belle_sip_dialog_get_last_transaction(op->dialog); - if (last_transaction == NULL || !is_a_pending_invite_incoming_transaction(last_transaction) ) { + belle_sip_transaction_t *last_transaction = belle_sip_dialog_get_last_transaction(op->mDialog); + if (last_transaction == NULL || !isAPendingIncomingInviteTransaction(last_transaction) ) { /*call leg does not exist because 200ok already sent*/ - belle_sip_server_transaction_send_response(server_transaction,op->create_response_from_request(req,481)); + belle_sip_server_transaction_send_response(server_transaction,op->createResponseFromRequest(req,481)); } else { /* CANCEL on re-INVITE for which a 200ok has not been sent yet */ - belle_sip_server_transaction_send_response(server_transaction, op->create_response_from_request(req, 200)); + belle_sip_server_transaction_send_response(server_transaction, op->createResponseFromRequest(req, 200)); belle_sip_server_transaction_send_response(BELLE_SIP_SERVER_TRANSACTION(last_transaction), - op->create_response_from_request(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(last_transaction)), 487)); + op->createResponseFromRequest(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(last_transaction)), 487)); } } else if (strcmp("MESSAGE",method)==0){ - op->process_incoming_message(event); + op->processIncomingMessage(event); }else{ - ms_error("unexpected method [%s] for dialog [%p]",belle_sip_request_get_method(req),op->dialog); - unsupported_method(server_transaction,req); + ms_error("unexpected method [%s] for dialog [%p]",belle_sip_request_get_method(req),op->mDialog); + unsupportedMethod(server_transaction,req); } break; default: @@ -851,95 +851,95 @@ void SalCallOp::process_request_event_cb(void *op_base, const belle_sip_request_ if (drop_op) op->release(); } -void SalCallOp::set_call_as_released(SalCallOp *op) { - op->set_released(); +void SalCallOp::setCallAsReleased(SalCallOp *op) { + op->setReleased(); } -void SalCallOp::process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { +void SalCallOp::processDialogTerminatedCb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { SalCallOp * op=(SalCallOp *)ctx; - if (op->dialog && op->dialog==belle_sip_dialog_terminated_event_get_dialog(event)) { + if (op->mDialog && op->mDialog==belle_sip_dialog_terminated_event_get_dialog(event)) { /*belle_sip_transaction_t* trans=belle_sip_dialog_get_last_transaction(op->dialog);*/ ms_message("Dialog [%p] terminated for op [%p]",belle_sip_dialog_terminated_event_get_dialog(event),op); - switch(belle_sip_dialog_get_previous_state(op->dialog)) { + switch(belle_sip_dialog_get_previous_state(op->mDialog)) { case BELLE_SIP_DIALOG_EARLY: case BELLE_SIP_DIALOG_NULL: - if (op->state!=State::Terminated && op->state!=State::Terminating) { + if (op->mState!=State::Terminated && op->mState!=State::Terminating) { /*this is an early termination due to incorrect response received*/ - op->root->callbacks.call_failure(op); - op->state=State::Terminating; + op->mRoot->mCallbacks.call_failure(op); + op->mState=State::Terminating; } break; case BELLE_SIP_DIALOG_CONFIRMED: - if (op->state!=State::Terminated && op->state!=State::Terminating) { + if (op->mState!=State::Terminated && op->mState!=State::Terminating) { /*this is probably a normal termination from a BYE*/ - op->root->callbacks.call_terminated(op,op->dir==Dir::Incoming?op->get_from():op->get_to()); - op->state=State::Terminating; + op->mRoot->mCallbacks.call_terminated(op,op->mDir==Dir::Incoming?op->getFrom():op->getTo()); + op->mState=State::Terminating; } break; default: break; } - belle_sip_main_loop_do_later(belle_sip_stack_get_main_loop(op->root->stack) - ,(belle_sip_callback_t) set_call_as_released + belle_sip_main_loop_do_later(belle_sip_stack_get_main_loop(op->mRoot->mStack) + ,(belle_sip_callback_t) setCallAsReleased , op); } else { ms_error("dialog unknown for op "); } } -void SalCallOp::fill_cbs() { +void SalCallOp::fillCallbacks() { static belle_sip_listener_callbacks_t call_op_callbacks = {0}; if (call_op_callbacks.process_response_event==NULL){ - call_op_callbacks.process_io_error=process_io_error_cb; - call_op_callbacks.process_response_event=process_response_cb; - call_op_callbacks.process_timeout=process_timeout_cb; - call_op_callbacks.process_transaction_terminated=process_transaction_terminated_cb; - call_op_callbacks.process_request_event=process_request_event_cb; - call_op_callbacks.process_dialog_terminated=process_dialog_terminated_cb; + call_op_callbacks.process_io_error=processIoErrorCb; + call_op_callbacks.process_response_event=processResponseCb; + call_op_callbacks.process_timeout=processTimeoutCb; + call_op_callbacks.process_transaction_terminated=processTransactionTerminatedCb; + call_op_callbacks.process_request_event=processRequestEventCb; + call_op_callbacks.process_dialog_terminated=processDialogTerminatedCb; } - this->callbacks=&call_op_callbacks; - this->type=Type::Call; + mCallbacks=&call_op_callbacks; + mType=Type::Call; } int SalCallOp::call(const char *from, const char *to, const char *subject) { belle_sip_request_t* invite; - this->dir=Dir::Outgoing; + mDir=Dir::Outgoing; - set_from(from); - set_to(to); + setFrom(from); + setTo(to); ms_message("[%s] calling [%s] on op [%p]", from, to, this); - invite=build_request("INVITE"); + invite=buildRequest("INVITE"); if( invite == NULL ){ /* can happen if the op has an invalid address */ return -1; } - fill_invite(invite); + fillInvite(invite); if (subject) belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite), belle_sip_header_create("Subject", subject)); - fill_cbs(); - if (this->replaces){ - belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(this->replaces)); + fillCallbacks(); + if (mReplaces){ + belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(mReplaces)); } - if (this->referred_by) - belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(this->referred_by)); + if (mReferredBy) + belle_sip_message_add_header(BELLE_SIP_MESSAGE(invite),BELLE_SIP_HEADER(mReferredBy)); - return send_request(invite); + return sendRequest(invite); } -int SalCallOp::notify_ringing(bool_t early_media){ +int SalCallOp::notifyRinging(bool_t early_media){ int status_code =early_media?183:180; - belle_sip_request_t* req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(this->pending_server_trans)); - belle_sip_response_t* ringing_response = create_response_from_request(req,status_code); + belle_sip_request_t* req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(mPendingServerTransaction)); + belle_sip_response_t* ringing_response = createResponseFromRequest(req,status_code); belle_sip_header_t *require; const char *tags=NULL; if (early_media){ - handle_offer_answer_response(ringing_response); + handleOfferAnswerResponse(ringing_response); } require=belle_sip_message_get_header((belle_sip_message_t*)req,"Require"); if (require) tags=belle_sip_header_get_unparsed_value(require); @@ -953,13 +953,13 @@ int SalCallOp::notify_ringing(bool_t early_media){ if (tags && strstr(tags,"100rel")!=0) #endif { - belle_sip_header_address_t* contact= (belle_sip_header_address_t*)get_contact_address(); + belle_sip_header_address_t* contact= (belle_sip_header_address_t*)getContactAddress(); belle_sip_header_contact_t* contact_header; if (contact && (contact_header=belle_sip_header_contact_create(contact))) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(ringing_response),BELLE_SIP_HEADER(contact_header)); } } - belle_sip_server_transaction_send_response(this->pending_server_trans,ringing_response); + belle_sip_server_transaction_send_response(mPendingServerTransaction,ringing_response); return 0; } @@ -969,11 +969,11 @@ int SalCallOp::accept() { belle_sip_server_transaction_t* transaction; /*first check if an UPDATE transaction need to be accepted*/ - if (this->pending_update_server_trans) { - transaction= this->pending_update_server_trans; - } else if (this->pending_server_trans) { + if (mPendingUpdateServerTransaction) { + transaction= mPendingUpdateServerTransaction; + } else if (mPendingServerTransaction) { /*so it must be an invite/re-invite*/ - transaction= this->pending_server_trans; + transaction= mPendingServerTransaction; } else { ms_error("No transaction to accept for op [%p]", this); return -1; @@ -981,39 +981,39 @@ int SalCallOp::accept() { ms_message("Accepting server transaction [%p] on op [%p]", transaction, this); /* sends a 200 OK */ - response = create_response_from_request(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(transaction)),200); + response = createResponseFromRequest(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(transaction)),200); if (response==NULL){ ms_error("Fail to build answer for call"); return -1; } - belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),BELLE_SIP_HEADER(create_allow(this->root->enable_sip_update))); - if (this->root->session_expires!=0){ + belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),BELLE_SIP_HEADER(createAllow(mRoot->mEnableSipUpdate))); + if (mRoot->mSessionExpires!=0){ /* if (h->supports_session_timers) {*/ belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),belle_sip_header_create("Supported", "timer")); belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),belle_sip_header_create( "Session-expires", "600;refresher=uac")); /*}*/ } - if ((contact_header=create_contact())) { + if ((contact_header=createContact())) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),BELLE_SIP_HEADER(contact_header)); } - add_custom_headers(BELLE_SIP_MESSAGE(response)); + addCustomHeaders(BELLE_SIP_MESSAGE(response)); - handle_offer_answer_response(response); + handleOfferAnswerResponse(response); belle_sip_server_transaction_send_response(transaction,response); - if (this->pending_update_server_trans) { - belle_sip_object_unref(this->pending_update_server_trans); - this->pending_update_server_trans=NULL; + if (mPendingUpdateServerTransaction) { + belle_sip_object_unref(mPendingUpdateServerTransaction); + mPendingUpdateServerTransaction=NULL; } - if (this->state == State::Early){ - this->state = State::Active; + if (mState == State::Early){ + mState = State::Active; } return 0; } -int SalCallOp::decline(SalReason reason, const char *redirection /*optional*/){ +int SalCallOp::decline(SalReason reason, const char *redirection){ belle_sip_response_t* response; belle_sip_header_contact_t* contact=NULL; int status=to_sip_code(reason); @@ -1029,19 +1029,19 @@ int SalCallOp::decline(SalReason reason, const char *redirection /*optional*/){ ms_error("Cannot redirect to null"); } } - trans=(belle_sip_transaction_t*)this->pending_server_trans; - if (!trans) trans=(belle_sip_transaction_t*)this->pending_update_server_trans; + trans=(belle_sip_transaction_t*)mPendingServerTransaction; + if (!trans) trans=(belle_sip_transaction_t*)mPendingUpdateServerTransaction; if (!trans){ ms_error("sal_call_decline(): no pending transaction to decline."); return -1; } - response = create_response_from_request(belle_sip_transaction_get_request(trans),status); + response = createResponseFromRequest(belle_sip_transaction_get_request(trans),status); if (contact) belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),BELLE_SIP_HEADER(contact)); belle_sip_server_transaction_send_response(BELLE_SIP_SERVER_TRANSACTION(trans),response); return 0; } -belle_sip_header_reason_t *SalCallOp::make_reason_header( const SalErrorInfo *info){ +belle_sip_header_reason_t *SalCallOp::makeReasonHeader( const SalErrorInfo *info){ if (info && info->reason != SalReasonNone) { belle_sip_header_reason_t* reason = BELLE_SIP_HEADER_REASON(belle_sip_header_reason_new()); belle_sip_header_reason_set_text(reason, info->status_string); @@ -1052,7 +1052,7 @@ belle_sip_header_reason_t *SalCallOp::make_reason_header( const SalErrorInfo *in return NULL; } -int SalCallOp::decline_with_error_info(const SalErrorInfo *info, const SalAddress *redirectionAddr /*optional*/){ +int SalCallOp::declineWithErrorInfo(const SalErrorInfo *info, const SalAddress *redirectionAddr){ belle_sip_response_t* response; belle_sip_header_contact_t* contact=NULL; int status = info->protocol_code; @@ -1066,14 +1066,14 @@ int SalCallOp::decline_with_error_info(const SalErrorInfo *info, const SalAddres ms_error("Cannot redirect to null"); } } - trans=(belle_sip_transaction_t*)this->pending_server_trans; - if (!trans) trans=(belle_sip_transaction_t*)this->pending_update_server_trans; + trans=(belle_sip_transaction_t*)mPendingServerTransaction; + if (!trans) trans=(belle_sip_transaction_t*)mPendingUpdateServerTransaction; if (!trans){ ms_error("sal_call_decline_with_error_info(): no pending transaction to decline."); return -1; } - response = create_response_from_request(belle_sip_transaction_get_request(trans),status); - belle_sip_header_reason_t* reason_header = make_reason_header(info->sub_sei); + response = createResponseFromRequest(belle_sip_transaction_get_request(trans),status); + belle_sip_header_reason_t* reason_header = makeReasonHeader(info->sub_sei); if (reason_header) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(response),BELLE_SIP_HEADER(reason_header)); } @@ -1089,69 +1089,69 @@ int SalCallOp::update(const char *subject, bool_t no_user_consent) { belle_sip_request_t *update; belle_sip_dialog_state_t state; - if (this->dialog == NULL) { + if (mDialog == NULL) { /* If the dialog does not exist, this is that we are trying to recover from a connection loss during a very early state of outgoing call initiation (the dialog has not been created yet). */ - const char *from = get_from(); - const char *to = get_to(); + const char *from = getFrom(); + const char *to = getTo(); return call(from, to, subject); } - state = belle_sip_dialog_get_state(this->dialog); - belle_sip_dialog_enable_pending_trans_checking(this->dialog,this->root->pending_trans_checking); + state = belle_sip_dialog_get_state(mDialog); + belle_sip_dialog_enable_pending_trans_checking(mDialog,mRoot->mPendingTransactionChecking); /*check for dialog state*/ if ( state == BELLE_SIP_DIALOG_CONFIRMED) { if (no_user_consent) - update=belle_sip_dialog_create_request(this->dialog,"UPDATE"); + update=belle_sip_dialog_create_request(mDialog,"UPDATE"); else - update=belle_sip_dialog_create_request(this->dialog,"INVITE"); + update=belle_sip_dialog_create_request(mDialog,"INVITE"); } else if (state == BELLE_SIP_DIALOG_EARLY) { - update=belle_sip_dialog_create_request(this->dialog,"UPDATE"); + update=belle_sip_dialog_create_request(mDialog,"UPDATE"); } else { - ms_error("Cannot update op [%p] with dialog [%p] in state [%s]", this, this->dialog,belle_sip_dialog_state_to_string(state)); + ms_error("Cannot update op [%p] with dialog [%p] in state [%s]", this, mDialog,belle_sip_dialog_state_to_string(state)); return -1; } if (update){ belle_sip_message_add_header(BELLE_SIP_MESSAGE(update),belle_sip_header_create( "Subject", subject)); - fill_invite(update); - return send_request(update); + fillInvite(update); + return sendRequest(update); } /*it failed why ?*/ - if (belle_sip_dialog_request_pending(this->dialog)) - sal_error_info_set(&this->error_info,SalReasonRequestPending, "SIP", 491,NULL,NULL); + if (belle_sip_dialog_request_pending(mDialog)) + sal_error_info_set(&mErrorInfo,SalReasonRequestPending, "SIP", 491,NULL,NULL); else - sal_error_info_set(&this->error_info,SalReasonUnknown, "SIP", 500,NULL,NULL); + sal_error_info_set(&mErrorInfo,SalReasonUnknown, "SIP", 500,NULL,NULL); return -1; } -int SalCallOp::cancel_invite_with_info(const SalErrorInfo *info) { +int SalCallOp::cancelInvite(const SalErrorInfo *info) { belle_sip_request_t* cancel; - ms_message("Cancelling INVITE request from [%s] to [%s] ",get_from(), get_to()); + ms_message("Cancelling INVITE request from [%s] to [%s] ",getFrom(), getTo()); - if (this->pending_client_trans == NULL) { + if (mPendingClientTransaction == NULL) { ms_warning("There is no transaction to cancel."); return -1; } - cancel = belle_sip_client_transaction_create_cancel(this->pending_client_trans); + cancel = belle_sip_client_transaction_create_cancel(mPendingClientTransaction); if (cancel) { if (info && info->reason != SalReasonNone) { - belle_sip_header_reason_t* reason = make_reason_header(info); + belle_sip_header_reason_t* reason = makeReasonHeader(info); belle_sip_message_add_header(BELLE_SIP_MESSAGE(cancel),BELLE_SIP_HEADER(reason)); } - send_request(cancel); + sendRequest(cancel); return 0; - } else if (this->dialog) { - belle_sip_dialog_state_t state = belle_sip_dialog_get_state(this->dialog);; + } else if (mDialog) { + belle_sip_dialog_state_t state = belle_sip_dialog_get_state(mDialog);; /*case where the response received is invalid (could not establish a dialog), but the transaction is not cancellable * because already terminated*/ switch(state) { case BELLE_SIP_DIALOG_EARLY: case BELLE_SIP_DIALOG_NULL: /*force kill the dialog*/ - ms_warning("op [%p]: force kill of dialog [%p]", this, this->dialog); - belle_sip_dialog_delete(this->dialog); + ms_warning("op [%p]: force kill of dialog [%p]", this, mDialog); + belle_sip_dialog_delete(mDialog); break; default: break; @@ -1160,16 +1160,16 @@ int SalCallOp::cancel_invite_with_info(const SalErrorInfo *info) { return -1; } -SalMediaDescription *SalCallOp::get_final_media_description() { - if (this->local_media && this->remote_media && !this->result){ - sdp_process(); +SalMediaDescription *SalCallOp::getFinalMediaDescription() { + if (mLocalMedia && mRemoteMedia && !mResult){ + sdpProcess(); } - return this->result; + return mResult; } -int SalCallOp::refer_to(belle_sip_header_refer_to_t* refer_to, belle_sip_header_referred_by_t* referred_by) { +int SalCallOp::referTo(belle_sip_header_refer_to_t* refer_to, belle_sip_header_referred_by_t* referred_by) { char* tmp; - belle_sip_request_t* req=this->dialog?belle_sip_dialog_create_request(this->dialog,"REFER"):build_request("REFER"); + belle_sip_request_t* req=mDialog?belle_sip_dialog_create_request(mDialog,"REFER"):buildRequest("REFER"); if (!req) { tmp=belle_sip_uri_to_string(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(refer_to))); ms_error("Cannot refer to [%s] for op [%p]",tmp, this); @@ -1178,25 +1178,25 @@ int SalCallOp::refer_to(belle_sip_header_refer_to_t* refer_to, belle_sip_header_ } belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(refer_to)); if (referred_by) belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(referred_by)); - return send_request(req); + return sendRequest(req); } int SalCallOp::refer(const char *refer_to_){ belle_sip_header_address_t *referred_by; belle_sip_header_refer_to_t* refer_to_header; - if (this->dialog) { - referred_by=(belle_sip_header_address_t*)belle_sip_object_clone(BELLE_SIP_OBJECT(belle_sip_dialog_get_local_party(this->dialog))); + if (mDialog) { + referred_by=(belle_sip_header_address_t*)belle_sip_object_clone(BELLE_SIP_OBJECT(belle_sip_dialog_get_local_party(mDialog))); }else{ - referred_by=BELLE_SIP_HEADER_ADDRESS(get_from_address()); + referred_by=BELLE_SIP_HEADER_ADDRESS(getFromAddress()); } refer_to_header=belle_sip_header_refer_to_create(belle_sip_header_address_parse(refer_to_)); - return refer_to(refer_to_header,belle_sip_header_referred_by_create(referred_by)); + return referTo(refer_to_header,belle_sip_header_referred_by_create(referred_by)); } -int SalCallOp::refer_with_replaces(SalCallOp *other_call_op) { - belle_sip_dialog_state_t other_call_dialog_state=other_call_op->dialog?belle_sip_dialog_get_state(other_call_op->dialog):BELLE_SIP_DIALOG_NULL; - belle_sip_dialog_state_t op_dialog_state= this->dialog?belle_sip_dialog_get_state(this->dialog):BELLE_SIP_DIALOG_NULL; +int SalCallOp::referWithReplaces(SalCallOp *other_call_op) { + belle_sip_dialog_state_t other_call_dialog_state=other_call_op->mDialog?belle_sip_dialog_get_state(other_call_op->mDialog):BELLE_SIP_DIALOG_NULL; + belle_sip_dialog_state_t op_dialog_state= mDialog?belle_sip_dialog_get_state(mDialog):BELLE_SIP_DIALOG_NULL; belle_sip_header_replaces_t* replaces; belle_sip_header_refer_to_t* refer_to_; belle_sip_header_referred_by_t* referred_by; @@ -1217,7 +1217,7 @@ int SalCallOp::refer_with_replaces(SalCallOp *other_call_op) { return -1; } - refer_to_ =belle_sip_header_refer_to_create(belle_sip_dialog_get_remote_party(other_call_op->dialog)); + refer_to_ =belle_sip_header_refer_to_create(belle_sip_dialog_get_remote_party(other_call_op->mDialog)); belle_sip_parameters_clean(BELLE_SIP_PARAMETERS(refer_to_)); /*rfc3891 ... @@ -1229,29 +1229,29 @@ int SalCallOp::refer_with_replaces(SalCallOp *other_call_op) { User Agent Client (UAC) places the Call-ID, to-tag, and from-tag information for the target dialog in a single Replaces header field and sends the new INVITE to the target.*/ - from_tag=belle_sip_dialog_get_local_tag(other_call_op->dialog); - to_tag=belle_sip_dialog_get_remote_tag(other_call_op->dialog); + from_tag=belle_sip_dialog_get_local_tag(other_call_op->mDialog); + to_tag=belle_sip_dialog_get_remote_tag(other_call_op->mDialog); - replaces=belle_sip_header_replaces_create(belle_sip_header_call_id_get_call_id(belle_sip_dialog_get_call_id(other_call_op->dialog)) + replaces=belle_sip_header_replaces_create(belle_sip_header_call_id_get_call_id(belle_sip_dialog_get_call_id(other_call_op->mDialog)) ,from_tag,to_tag); escaped_replaces=belle_sip_header_replaces_value_to_escaped_string(replaces); belle_sip_uri_set_header(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(refer_to_)),"Replaces",escaped_replaces); belle_sip_free(escaped_replaces); - referred_by=belle_sip_header_referred_by_create(belle_sip_dialog_get_local_party(this->dialog)); + referred_by=belle_sip_header_referred_by_create(belle_sip_dialog_get_local_party(mDialog)); belle_sip_parameters_clean(BELLE_SIP_PARAMETERS(referred_by)); - return refer_to(refer_to_,referred_by); + return referTo(refer_to_,referred_by); } -int SalCallOp::set_referer(SalCallOp *refered_call){ - if (refered_call->replaces) - SalOp::set_replaces(refered_call->replaces); - if (refered_call->referred_by) - set_referred_by(refered_call->referred_by); +int SalCallOp::setReferrer(SalCallOp *refered_call){ + if (refered_call->mReplaces) + SalOp::setReplaces(refered_call->mReplaces); + if (refered_call->mReferredBy) + setReferredBy(refered_call->mReferredBy); return 0; } -SalCallOp *SalCallOp::get_replaces() { - if (this->replaces){ +SalCallOp *SalCallOp::getReplaces() const { + if (mReplaces){ /*rfc3891 3. User Agent Server Behavior: Receiving a Replaces Header @@ -1264,17 +1264,17 @@ SalCallOp *SalCallOp::get_replaces() { is compared to the local tag, and the from-tag parameter is compared to the remote tag. */ - belle_sip_dialog_t* dialog=belle_sip_provider_find_dialog(this->root->prov - ,belle_sip_header_replaces_get_call_id(this->replaces) - ,belle_sip_header_replaces_get_to_tag(this->replaces) - ,belle_sip_header_replaces_get_from_tag(this->replaces)); + belle_sip_dialog_t* dialog=belle_sip_provider_find_dialog(mRoot->mProvider + ,belle_sip_header_replaces_get_call_id(mReplaces) + ,belle_sip_header_replaces_get_to_tag(mReplaces) + ,belle_sip_header_replaces_get_from_tag(mReplaces)); if (!dialog) { /*for backward compatibility with liblinphone <= 3.10.2-243 */ - dialog=belle_sip_provider_find_dialog(this->root->prov - ,belle_sip_header_replaces_get_call_id(this->replaces) - ,belle_sip_header_replaces_get_from_tag(this->replaces) - ,belle_sip_header_replaces_get_to_tag(this->replaces)); + dialog=belle_sip_provider_find_dialog(mRoot->mProvider + ,belle_sip_header_replaces_get_call_id(mReplaces) + ,belle_sip_header_replaces_get_from_tag(mReplaces) + ,belle_sip_header_replaces_get_to_tag(mReplaces)); } if (dialog) { return (SalCallOp*)belle_sip_dialog_get_application_data(dialog); @@ -1283,9 +1283,9 @@ SalCallOp *SalCallOp::get_replaces() { return NULL; } -int SalCallOp::send_dtmf(char dtmf){ - if (this->dialog && (belle_sip_dialog_get_state(this->dialog) == BELLE_SIP_DIALOG_CONFIRMED || belle_sip_dialog_get_state(this->dialog) == BELLE_SIP_DIALOG_EARLY)){ - belle_sip_request_t *req=belle_sip_dialog_create_queued_request(this->dialog,"INFO"); +int SalCallOp::sendDtmf(char dtmf){ + if (mDialog && (belle_sip_dialog_get_state(mDialog) == BELLE_SIP_DIALOG_CONFIRMED || belle_sip_dialog_get_state(mDialog) == BELLE_SIP_DIALOG_EARLY)){ + belle_sip_request_t *req=belle_sip_dialog_create_queued_request(mDialog,"INFO"); if (req){ size_t bodylen; char dtmf_body[128]={0}; @@ -1295,69 +1295,69 @@ int SalCallOp::send_dtmf(char dtmf){ belle_sip_message_set_body((belle_sip_message_t*)req,dtmf_body,bodylen); belle_sip_message_add_header((belle_sip_message_t*)req,(belle_sip_header_t*)belle_sip_header_content_length_create(bodylen)); belle_sip_message_add_header((belle_sip_message_t*)req,(belle_sip_header_t*)belle_sip_header_content_type_create("application", "dtmf-relay")); - send_request(req); + sendRequest(req); }else ms_error("sal_call_send_dtmf(): could not build request"); }else ms_error("sal_call_send_dtmf(): no dialog"); return 0; } -int SalCallOp::terminate_with_error(const SalErrorInfo *info) { +int SalCallOp::terminate(const SalErrorInfo *info) { SalErrorInfo sei; const SalErrorInfo *p_sei; - belle_sip_dialog_state_t dialog_state = this->dialog ? belle_sip_dialog_get_state(this->dialog) : BELLE_SIP_DIALOG_NULL; + belle_sip_dialog_state_t dialog_state = mDialog ? belle_sip_dialog_get_state(mDialog) : BELLE_SIP_DIALOG_NULL; int ret = 0; memset(&sei, 0, sizeof(sei)); - if (info == NULL && dialog_state != BELLE_SIP_DIALOG_CONFIRMED && this->dir == Dir::Incoming) { + if (info == NULL && dialog_state != BELLE_SIP_DIALOG_CONFIRMED && mDir == Dir::Incoming) { /*the purpose of this line is to set a default SalErrorInfo for declining an incoming call (not yet established of course) */ sal_error_info_set(&sei,SalReasonDeclined, "SIP", 0, NULL, NULL); p_sei = &sei; } else{ p_sei = info; } - if (this->state==State::Terminating || this->state==State::Terminated) { - ms_error("Cannot terminate op [%p] in state [%s]",this,to_string(this->state)); + if (mState==State::Terminating || mState==State::Terminated) { + ms_error("Cannot terminate op [%p] in state [%s]",this,toString(mState)); ret = -1; goto end; } switch(dialog_state) { case BELLE_SIP_DIALOG_CONFIRMED: { - belle_sip_request_t * req = belle_sip_dialog_create_request(this->dialog,"BYE"); + belle_sip_request_t * req = belle_sip_dialog_create_request(mDialog,"BYE"); if (info && info->reason != SalReasonNone) { - belle_sip_header_reason_t* reason = make_reason_header(info); + belle_sip_header_reason_t* reason = makeReasonHeader(info); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(reason)); } - send_request(req); - this->state=State::Terminating; + sendRequest(req); + mState=State::Terminating; break; } case BELLE_SIP_DIALOG_NULL: { - if (this->dir == Dir::Incoming) { - decline_with_error_info(p_sei, NULL); - this->state=State::Terminated; - } else if (this->pending_client_trans){ - if (belle_sip_transaction_get_state(BELLE_SIP_TRANSACTION(this->pending_client_trans)) == BELLE_SIP_TRANSACTION_PROCEEDING){ - cancelling_invite(p_sei); + if (mDir == Dir::Incoming) { + declineWithErrorInfo(p_sei, NULL); + mState=State::Terminated; + } else if (mPendingClientTransaction){ + if (belle_sip_transaction_get_state(BELLE_SIP_TRANSACTION(mPendingClientTransaction)) == BELLE_SIP_TRANSACTION_PROCEEDING){ + cancellingInvite(p_sei); } else { /* Case where the CANCEL cannot be sent because no provisional response was received so far. * The Op must be kept for the time of the transaction in case a response is received later. * The state is passed to Terminating to remember to terminate later. */ - this->state=State::Terminating; + mState=State::Terminating; /* However, even if the transaction is kept alive, we can stop sending retransmissions to avoid flowing the network with no longer * necessary messages and avoid confusion in logs.*/ - belle_sip_client_transaction_stop_retransmissions(this->pending_client_trans); + belle_sip_client_transaction_stop_retransmissions(mPendingClientTransaction); } } break; } case BELLE_SIP_DIALOG_EARLY: { - if (this->dir == Dir::Incoming) { - decline_with_error_info(p_sei,NULL); - this->state=State::Terminated; + if (mDir == Dir::Incoming) { + declineWithErrorInfo(p_sei,NULL); + mState=State::Terminated; } else { - cancelling_invite(p_sei); + cancellingInvite(p_sei); } break; } @@ -1372,7 +1372,7 @@ end: return ret; } -void SalCallOp::send_vfu_request() { +void SalCallOp::sendVfuRequest() { char info_body[] = "" "" @@ -1383,30 +1383,30 @@ void SalCallOp::send_vfu_request() { " " ""; size_t content_lenth = sizeof(info_body) - 1; - belle_sip_dialog_state_t dialog_state= this->dialog?belle_sip_dialog_get_state(this->dialog):BELLE_SIP_DIALOG_NULL; /*no dialog = dialog in NULL state*/ + belle_sip_dialog_state_t dialog_state= mDialog?belle_sip_dialog_get_state(mDialog):BELLE_SIP_DIALOG_NULL; /*no dialog = dialog in NULL state*/ if (dialog_state == BELLE_SIP_DIALOG_CONFIRMED) { - belle_sip_request_t* info = belle_sip_dialog_create_queued_request(this->dialog,"INFO"); + belle_sip_request_t* info = belle_sip_dialog_create_queued_request(mDialog,"INFO"); int error=TRUE; if (info) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(info),BELLE_SIP_HEADER(belle_sip_header_content_type_create("application","media_control+xml"))); belle_sip_message_add_header(BELLE_SIP_MESSAGE(info),BELLE_SIP_HEADER(belle_sip_header_content_length_create(content_lenth))); belle_sip_message_set_body(BELLE_SIP_MESSAGE(info),info_body,content_lenth); - error=send_request(info); + error=sendRequest(info); } if (error) - ms_warning("Cannot send vfu request to [%s] ", get_to()); + ms_warning("Cannot send vfu request to [%s] ", getTo()); } else { - ms_warning("Cannot send vfu request to [%s] because dialog [%p] in wrong state [%s]",get_to() - ,this->dialog + ms_warning("Cannot send vfu request to [%s] because dialog [%p] in wrong state [%s]",getTo() + ,mDialog ,belle_sip_dialog_state_to_string(dialog_state)); } return ; } -int SalCallOp::send_notify_for_refer(int code, const char *reason) { - belle_sip_request_t* notify=belle_sip_dialog_create_queued_request(this->dialog,"NOTIFY"); +int SalCallOp::sendNotifyForRefer(int code, const char *reason) { + belle_sip_request_t* notify=belle_sip_dialog_create_queued_request(mDialog,"NOTIFY"); char *sipfrag=belle_sip_strdup_printf("SIP/2.0 %i %s\r\n",code,reason); size_t content_length=strlen(sipfrag); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) @@ -1416,54 +1416,54 @@ int SalCallOp::send_notify_for_refer(int code, const char *reason) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(belle_sip_header_content_type_create("message","sipfrag"))); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(belle_sip_header_content_length_create(content_length))); belle_sip_message_assign_body(BELLE_SIP_MESSAGE(notify),sipfrag,content_length); - return send_request(notify); + return sendRequest(notify); } -void SalCallOp::notify_last_response(SalCallOp *newcall) { - belle_sip_client_transaction_t *tr=newcall->pending_client_trans; +void SalCallOp::notifyLastResponse(SalCallOp *newcall) { + belle_sip_client_transaction_t *tr=newcall->mPendingClientTransaction; belle_sip_response_t *resp=NULL; if (tr){ resp=belle_sip_transaction_get_response((belle_sip_transaction_t*)tr); } if (resp==NULL){ - send_notify_for_refer(100, "Trying"); + sendNotifyForRefer(100, "Trying"); }else{ - send_notify_for_refer(belle_sip_response_get_status_code(resp), belle_sip_response_get_reason_phrase(resp)); + sendNotifyForRefer(belle_sip_response_get_status_code(resp), belle_sip_response_get_reason_phrase(resp)); } } -int SalCallOp::notify_refer_state(SalCallOp *newcall) { +int SalCallOp::notifyReferState(SalCallOp *newcall) { belle_sip_dialog_state_t state; - if(belle_sip_dialog_get_state(this->dialog) == BELLE_SIP_DIALOG_TERMINATED){ + if(belle_sip_dialog_get_state(mDialog) == BELLE_SIP_DIALOG_TERMINATED){ return 0; } - state = newcall->dialog?belle_sip_dialog_get_state(newcall->dialog):BELLE_SIP_DIALOG_NULL; + state = newcall->mDialog?belle_sip_dialog_get_state(newcall->mDialog):BELLE_SIP_DIALOG_NULL; switch(state) { case BELLE_SIP_DIALOG_EARLY: - send_notify_for_refer(100, "Trying"); + sendNotifyForRefer(100, "Trying"); break; case BELLE_SIP_DIALOG_CONFIRMED: - send_notify_for_refer(200, "Ok"); + sendNotifyForRefer(200, "Ok"); break; case BELLE_SIP_DIALOG_TERMINATED: case BELLE_SIP_DIALOG_NULL: - notify_last_response(newcall); + notifyLastResponse(newcall); break; } return 0; } -void SalCallOp::set_replaces(const char *call_id, const char *from_tag, const char *to_tag) { +void SalCallOp::setReplaces(const char *call_id, const char *from_tag, const char *to_tag) { belle_sip_header_replaces_t *replaces = belle_sip_header_replaces_create(call_id, from_tag, to_tag); - SalOp::set_replaces(replaces); + SalOp::setReplaces(replaces); } -void SalCallOp::set_sdp_handling(SalOpSDPHandling handling) { +void SalCallOp::setSdpHandling(SalOpSDPHandling handling) { if (handling != SalOpSDPNormal) ms_message("Enabling special SDP handling for SalOp[%p]!", this); - this->sdp_handling = handling; + mSdpHandling = handling; } -void SalCallOp::process_refer(const belle_sip_request_event_t *event, belle_sip_server_transaction_t *server_transaction) { +void SalCallOp::processRefer(const belle_sip_request_event_t *event, belle_sip_server_transaction_t *server_transaction) { belle_sip_request_t* req = belle_sip_request_event_get_request(event); belle_sip_header_refer_to_t *refer_to= belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_refer_to_t); belle_sip_header_referred_by_t *referred_by= belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_referred_by_t); @@ -1475,24 +1475,24 @@ void SalCallOp::process_refer(const belle_sip_request_event_t *event, belle_sip_ refer_to_uri=belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(refer_to)); if (refer_to_uri && belle_sip_uri_get_header(refer_to_uri,"Replaces")) { - SalOp::set_replaces(belle_sip_header_replaces_create2(belle_sip_uri_get_header(refer_to_uri,"Replaces"))); + SalOp::setReplaces(belle_sip_header_replaces_create2(belle_sip_uri_get_header(refer_to_uri,"Replaces"))); belle_sip_uri_remove_header(refer_to_uri,"Replaces"); } if (referred_by){ - set_referred_by(referred_by); + setReferredBy(referred_by); } - resp = create_response_from_request(req,202); + resp = createResponseFromRequest(req,202); belle_sip_server_transaction_send_response(server_transaction,resp); - this->root->callbacks.call_refer_received(this,(SalAddress*)BELLE_SIP_HEADER_ADDRESS(refer_to)); + mRoot->mCallbacks.call_refer_received(this,(SalAddress*)BELLE_SIP_HEADER_ADDRESS(refer_to)); } else { ms_warning("cannot do anything with the refer without destination"); - resp = create_response_from_request(req,400); + resp = createResponseFromRequest(req,400); belle_sip_server_transaction_send_response(server_transaction,resp); } } -void SalCallOp::process_notify(const belle_sip_request_event_t *event, belle_sip_server_transaction_t* server_transaction) { +void SalCallOp::processNotify(const belle_sip_request_event_t *event, belle_sip_server_transaction_t* server_transaction) { belle_sip_request_t* req = belle_sip_request_event_get_request(event); const char* body = belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)); belle_sip_header_t* header_event=belle_sip_message_get_header(BELLE_SIP_MESSAGE(req),"Event"); @@ -1519,49 +1519,49 @@ void SalCallOp::process_notify(const belle_sip_request_event_t *event, belle_sip status=SalReferFailed; } belle_sip_object_unref(sipfrag); - resp = create_response_from_request(req,200); + resp = createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); - this->root->callbacks.notify_refer(this,status); + mRoot->mCallbacks.notify_refer(this,status); } }else{ ms_error("Notify without sipfrag, trashing"); - resp = create_response_from_request(req,501); + resp = createResponseFromRequest(req,501); belle_sip_server_transaction_send_response(server_transaction,resp); } } int SalCallOp::sendMessage (const Content &content) { - if (!this->dialog) + if (!mDialog) return -1; - belle_sip_request_t *req = belle_sip_dialog_create_queued_request(this->dialog, "MESSAGE"); + belle_sip_request_t *req = belle_sip_dialog_create_queued_request(mDialog, "MESSAGE"); prepareMessageRequest(req, content); - return send_request(req); + return sendRequest(req); } -bool_t SalCallOp::compare_op(const SalCallOp *op2) const { - return (strcmp(this->call_id, op2->call_id) == 0); +bool_t SalCallOp::compareOp(const SalCallOp *op2) const { + return (strcmp(mCallId, op2->mCallId) == 0); } -void SalCallOp::handle_offer_answer_response(belle_sip_response_t* response) { - if (this->local_media){ +void SalCallOp::handleOfferAnswerResponse(belle_sip_response_t* response) { + if (mLocalMedia){ /*this is the case where we received an invite without SDP*/ - if (this->sdp_offering) { - set_sdp_from_desc(BELLE_SIP_MESSAGE(response),this->local_media); + if (mSdpOffering) { + setSdpFromDesc(BELLE_SIP_MESSAGE(response),mLocalMedia); }else{ - if ( this->sdp_answer==NULL ) + if ( mSdpAnswer==NULL ) { - if( this->sdp_handling == SalOpSDPSimulateRemove ){ + if( mSdpHandling == SalOpSDPSimulateRemove ){ ms_warning("Simulating SDP removal in answer for op %p", this); } else { - sdp_process(); + sdpProcess(); } } - if (this->sdp_answer){ - set_sdp(BELLE_SIP_MESSAGE(response),this->sdp_answer); - belle_sip_object_unref(this->sdp_answer); - this->sdp_answer=NULL; + if (mSdpAnswer){ + setSdp(BELLE_SIP_MESSAGE(response),mSdpAnswer); + belle_sip_object_unref(mSdpAnswer); + mSdpAnswer=NULL; } } }else{ diff --git a/src/sal/call-op.h b/src/sal/call-op.h index 8c1a484e3..df40d38df 100644 --- a/src/sal/call-op.h +++ b/src/sal/call-op.h @@ -25,105 +25,103 @@ LINPHONE_BEGIN_NAMESPACE -class SalCallOp: public SalOp, public SalMessageOpInterface { +class SalCallOp : public SalOp, public SalMessageOpInterface { public: - SalCallOp(Sal *sal): SalOp(sal) {} - ~SalCallOp() override; + SalCallOp (Sal *sal) : SalOp(sal) {} + ~SalCallOp () override; - SalMediaDescription *get_local_media_description () const { return local_media; } - int set_local_media_description(SalMediaDescription *desc); - int set_local_body(const Content &body); - int set_local_body(const Content &&body); + SalMediaDescription *getLocalMediaDescription () const { return mLocalMedia; } + int setLocalMediaDescription (SalMediaDescription *desc); + int setLocalBody (const Content &body); + int setLocalBody (const Content &&body); - SalMediaDescription *get_remote_media_description() {return this->remote_media;} - const Content &get_remote_body() const {return this->remote_body;} - SalMediaDescription *get_final_media_description(); + SalMediaDescription *getRemoteMediaDescription () { return mRemoteMedia; } + const Content &getRemoteBody () const { return mRemoteBody; } + SalMediaDescription *getFinalMediaDescription (); - int call(const char *from, const char *to, const char *subject); - int notify_ringing(bool_t early_media); - int accept(); - int decline(SalReason reason, const char *redirection /*optional*/); - int decline_with_error_info(const SalErrorInfo *info, const SalAddress *redirectionAddr /*optional*/); - int update(const char *subject, bool_t no_user_consent); - int cancel_invite() { return cancel_invite_with_info(NULL);} - int cancel_invite_with_info(const SalErrorInfo *info); - int refer(const char *refer_to_); - int refer_with_replaces(SalCallOp *other_call_op); - int set_referer(SalCallOp *refered_call); - SalCallOp *get_replaces(); - int send_dtmf(char dtmf); - int terminate() {return terminate_with_error(NULL);} - int terminate_with_error(const SalErrorInfo *info); - bool_t autoanswer_asked() const {return this->auto_answer_asked;} - void send_vfu_request(); - int is_offerer() const {return this->sdp_offering;} - int notify_refer_state(SalCallOp *newcall); - bool_t compare_op(const SalCallOp *op2) const; - bool_t dialog_request_pending() const {return (belle_sip_dialog_request_pending(this->dialog) != 0);} - const char *get_local_tag() {return belle_sip_dialog_get_local_tag(this->dialog);} - const char *get_remote_tag() {return belle_sip_dialog_get_remote_tag(this->dialog);} - void set_replaces(const char *call_id, const char *from_tag, const char *to_tag); - void set_sdp_handling(SalOpSDPHandling handling); + int call (const char *from, const char *to, const char *subject); + int notifyRinging (bool_t earlyMedia); + int accept (); + int decline (SalReason reason, const char *redirection = nullptr); + int declineWithErrorInfo (const SalErrorInfo *info, const SalAddress *redirectionAddr = nullptr); + int update (const char *subject, bool_t noUserConsent); + int cancelInvite (const SalErrorInfo *info = nullptr); + int refer (const char *referTo); + int referWithReplaces (SalCallOp *otherCallOp); + int setReferrer (SalCallOp *referredCall); + SalCallOp *getReplaces () const; + int sendDtmf (char dtmf); + int terminate (const SalErrorInfo *info = nullptr); + bool_t autoAnswerAsked () const { return mAutoAnswerAsked; } + void sendVfuRequest (); + int isOfferer () const { return mSdpOffering; } + int notifyReferState (SalCallOp *newCallOp); + bool_t compareOp (const SalCallOp *otherCallOp) const; + bool_t dialogRequestPending () const { return (belle_sip_dialog_request_pending(mDialog) != 0); } + const char *getLocalTag () { return belle_sip_dialog_get_local_tag(mDialog); } + const char *getRemoteTag () { return belle_sip_dialog_get_remote_tag(mDialog); } + void setReplaces (const char *callId, const char *fromTag, const char *toTag); + void setSdpHandling (SalOpSDPHandling handling); // Implementation of SalMessageOpInterface int sendMessage (const Content &content) override; - int reply(SalReason reason) override {return SalOp::reply_message(reason);} + int reply (SalReason reason) override { return SalOp::replyMessage(reason); } private: - virtual void fill_cbs() override; - void set_released(); + virtual void fillCallbacks () override; + void setReleased (); - void set_error(belle_sip_response_t* response, bool_t fatal); - void call_terminated(belle_sip_server_transaction_t* server_transaction, int status_code, belle_sip_request_t* cancel_request); - void reset_descriptions(); + void setError (belle_sip_response_t *response, bool_t fatal); + void callTerminated (belle_sip_server_transaction_t *serverTransaction, int statusCode, belle_sip_request_t *cancelRequest); + void resetDescriptions (); - int parse_sdp_body(const Content &body,belle_sdp_session_description_t** session_desc, SalReason *error); - void sdp_process(); - void handle_body_from_response(belle_sip_response_t* response); - SalReason process_body_for_invite(belle_sip_request_t* invite); - SalReason process_body_for_ack(belle_sip_request_t *ack); - void handle_offer_answer_response(belle_sip_response_t* response); + int parseSdpBody (const Content &body, belle_sdp_session_description_t **sessionDesc, SalReason *error); + void sdpProcess (); + void handleBodyFromResponse (belle_sip_response_t *response); + SalReason processBodyForInvite (belle_sip_request_t *invite); + SalReason processBodyForAck (belle_sip_request_t *ack); + void handleOfferAnswerResponse (belle_sip_response_t *response); - void fill_invite(belle_sip_request_t* invite); - void cancelling_invite(const SalErrorInfo *info); - int refer_to(belle_sip_header_refer_to_t* refer_to, belle_sip_header_referred_by_t* referred_by); - int send_notify_for_refer(int code, const char *reason); - void notify_last_response(SalCallOp *newcall); - void process_refer(const belle_sip_request_event_t *event, belle_sip_server_transaction_t *server_transaction); - void process_notify(const belle_sip_request_event_t *event, belle_sip_server_transaction_t* server_transaction); + void fillInvite (belle_sip_request_t *invite); + void cancellingInvite (const SalErrorInfo *info); + int referTo (belle_sip_header_refer_to_t *referToHeader, belle_sip_header_referred_by_t *referredByHeader); + int sendNotifyForRefer (int code, const char *reason); + void notifyLastResponse (SalCallOp *newCallOp); + void processRefer (const belle_sip_request_event_t *event, belle_sip_server_transaction_t *serverTransaction); + void processNotify (const belle_sip_request_event_t *event, belle_sip_server_transaction_t *serverTransaction); - static void set_addr_to_0000(char value[], size_t sz); - static int is_media_description_acceptable(SalMediaDescription *md); - static bool_t is_a_pending_invite_incoming_transaction(belle_sip_transaction_t *tr); - static void set_call_as_released(SalCallOp *op); - static void unsupported_method(belle_sip_server_transaction_t* server_transaction,belle_sip_request_t* request); - static belle_sip_header_reason_t *make_reason_header( const SalErrorInfo *info); - static belle_sip_header_allow_t *create_allow(bool_t enable_update); - static std::vector marshal_media_description(belle_sdp_session_description_t *session_desc, belle_sip_error_code &error); + static void setAddrTo0000 (char value[], size_t sz); + static int isMediaDescriptionAcceptable (SalMediaDescription *md); + static bool_t isAPendingIncomingInviteTransaction (belle_sip_transaction_t *tr); + static void setCallAsReleased (SalCallOp *op); + static void unsupportedMethod (belle_sip_server_transaction_t *serverTransaction, belle_sip_request_t *request); + static belle_sip_header_reason_t *makeReasonHeader (const SalErrorInfo *info); + static belle_sip_header_allow_t *createAllow (bool_t enableUpdate); + static std::vector marshalMediaDescription (belle_sdp_session_description_t *sessionDesc, belle_sip_error_code &error); // belle_sip_message handlers - static int set_custom_body(belle_sip_message_t *msg, const Content &body); - static int set_sdp(belle_sip_message_t *msg,belle_sdp_session_description_t* session_desc); - static int set_sdp_from_desc(belle_sip_message_t *msg, const SalMediaDescription *desc); - static void process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static Content extract_body(belle_sip_message_t *message); + static int setCustomBody (belle_sip_message_t *message, const Content &body); + static int setSdp (belle_sip_message_t *message, belle_sdp_session_description_t *sessionDesc); + static int setSdpFromDesc (belle_sip_message_t *message, const SalMediaDescription *desc); + static void processIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static Content extractBody (belle_sip_message_t *message); // Callbacks - static int vfu_retry_cb (void *user_data, unsigned int events); - static void process_response_cb(void *op_base, const belle_sip_response_event_t *event); - static void process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event); - static void process_request_event_cb(void *op_base, const belle_sip_request_event_t *event); - static void process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event); + static int vfuRetryCb (void *userCtx, unsigned int events); + static void processResponseCb (void *userCtx, const belle_sip_response_event_t *event); + static void processTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void processTransactionTerminatedCb (void *userCtx, const belle_sip_transaction_terminated_event_t *event); + static void processRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); + static void processDialogTerminatedCb (void *userCtx, const belle_sip_dialog_terminated_event_t *event); // Private constants - static const size_t SIP_MESSAGE_BODY_LIMIT = 16*1024; // 16kB + static const size_t SIP_MESSAGE_BODY_LIMIT = 16 * 1024; // 16kB // Attributes - SalMediaDescription *local_media = NULL; - SalMediaDescription *remote_media = NULL; - Content local_body; - Content remote_body; + SalMediaDescription *mLocalMedia = nullptr; + SalMediaDescription *mRemoteMedia = nullptr; + Content mLocalBody; + Content mRemoteBody; }; LINPHONE_END_NAMESPACE diff --git a/src/sal/event-op.cpp b/src/sal/event-op.cpp index 89cbdb5e7..86c6a3524 100644 --- a/src/sal/event-op.cpp +++ b/src/sal/event-op.cpp @@ -23,7 +23,7 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -void SalSubscribeOp::subscribe_process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event) { +void SalSubscribeOp::subscribeProcessIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event) { SalSubscribeOp *op = (SalSubscribeOp *)user_ctx; belle_sip_object_t *src = belle_sip_io_error_event_get_source(event); if (BELLE_SIP_OBJECT_IS_INSTANCE_OF(src, belle_sip_client_transaction_t)){ @@ -32,14 +32,14 @@ void SalSubscribeOp::subscribe_process_io_error_cb(void *user_ctx, const belle_s const char *method=belle_sip_request_get_method(req); if (strcmp(method,"NOTIFY")==0){ - SalErrorInfo *ei=&op->error_info; + SalErrorInfo *ei=&op->mErrorInfo; sal_error_info_set(ei,SalReasonIOError, "SIP", 0,NULL,NULL); - op->root->callbacks.on_notify_response(op); + op->mRoot->mCallbacks.on_notify_response(op); } } } -void SalSubscribeOp::subscribe_response_event_cb(void *op_base, const belle_sip_response_event_t *event){ +void SalSubscribeOp::subscribeResponseEventCb(void *op_base, const belle_sip_response_event_t *event){ SalSubscribeOp *op = (SalSubscribeOp *)op_base; belle_sip_request_t * req; const char *method; @@ -50,12 +50,12 @@ void SalSubscribeOp::subscribe_response_event_cb(void *op_base, const belle_sip_ method = belle_sip_request_get_method(req); if (strcmp(method,"NOTIFY")==0){ - op->set_error_info_from_response(belle_sip_response_event_get_response(event)); - op->root->callbacks.on_notify_response(op); + op->setErrorInfoFromResponse(belle_sip_response_event_get_response(event)); + op->mRoot->mCallbacks.on_notify_response(op); } } -void SalSubscribeOp::subscribe_process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void SalSubscribeOp::subscribeProcessTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { SalSubscribeOp *op = (SalSubscribeOp *)user_ctx; belle_sip_request_t * req; const char *method; @@ -66,33 +66,33 @@ void SalSubscribeOp::subscribe_process_timeout_cb(void *user_ctx, const belle_si method = belle_sip_request_get_method(req); if (strcmp(method,"NOTIFY")==0){ - SalErrorInfo *ei=&op->error_info; + SalErrorInfo *ei=&op->mErrorInfo; sal_error_info_set(ei,SalReasonRequestTimeout, "SIP", 0,NULL,NULL); - op->root->callbacks.on_notify_response(op); + op->mRoot->mCallbacks.on_notify_response(op); } } -void SalSubscribeOp::handle_notify(belle_sip_request_t *req, const char *eventname, SalBodyHandler* body_handler){ +void SalSubscribeOp::handleNotify(belle_sip_request_t *req, const char *eventname, SalBodyHandler* body_handler){ SalSubscribeStatus sub_state; belle_sip_header_subscription_state_t* subscription_state_header=belle_sip_message_get_header_by_type(req,belle_sip_header_subscription_state_t); belle_sip_response_t* resp; - belle_sip_server_transaction_t* server_transaction = this->pending_server_trans; + belle_sip_server_transaction_t* server_transaction = mPendingServerTransaction; if (!subscription_state_header || strcasecmp(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,belle_sip_header_subscription_state_get_state(subscription_state_header)) ==0) { sub_state=SalSubscribeTerminated; - ms_message("Outgoing subscription terminated by remote [%s]",get_to()); + ms_message("Outgoing subscription terminated by remote [%s]",getTo()); } else sub_state=SalSubscribeActive; ref(); - this->root->callbacks.notify(this,sub_state,eventname,body_handler); - resp=create_response_from_request(req,200); + mRoot->mCallbacks.notify(this,sub_state,eventname,body_handler); + resp=createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); unref(); } -void SalSubscribeOp::subscribe_process_request_event_cb(void *op_base, const belle_sip_request_event_t *event) { +void SalSubscribeOp::subscribeProcessRequestEventCb(void *op_base, const belle_sip_request_event_t *event) { SalSubscribeOp * op = (SalSubscribeOp *)op_base; - belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(op->root->prov,belle_sip_request_event_get_request(event)); + belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(op->mRoot->mProvider,belle_sip_request_event_get_request(event)); belle_sip_request_t* req = belle_sip_request_event_get_request(event); belle_sip_dialog_state_t dialog_state; belle_sip_header_expires_t* expires = belle_sip_message_get_header_by_type(req,belle_sip_header_expires_t); @@ -104,68 +104,68 @@ void SalSubscribeOp::subscribe_process_request_event_cb(void *op_base, const bel belle_sip_dialog_t *dialog = NULL; belle_sip_object_ref(server_transaction); - if (op->pending_server_trans) belle_sip_object_unref(op->pending_server_trans); - op->pending_server_trans=server_transaction; + if (op->mPendingServerTransaction) belle_sip_object_unref(op->mPendingServerTransaction); + op->mPendingServerTransaction=server_transaction; event_header=belle_sip_message_get_header_by_type(req,belle_sip_header_event_t); - body_handler = BELLE_SIP_BODY_HANDLER(op->get_body_handler(BELLE_SIP_MESSAGE(req))); + body_handler = BELLE_SIP_BODY_HANDLER(op->getBodyHandler(BELLE_SIP_MESSAGE(req))); if (event_header==NULL){ ms_warning("No event header in incoming SUBSCRIBE."); - resp=op->create_response_from_request(req,400); + resp=op->createResponseFromRequest(req,400); belle_sip_server_transaction_send_response(server_transaction,resp); - if (!op->dialog) op->release(); + if (!op->mDialog) op->release(); return; } - if (op->event==NULL) { - op->event=event_header; - belle_sip_object_ref(op->event); + if (op->mEvent==NULL) { + op->mEvent=event_header; + belle_sip_object_ref(op->mEvent); } eventname=belle_sip_header_event_get_package_name(event_header); - if (!op->dialog) { + if (!op->mDialog) { if (strcmp(method,"SUBSCRIBE")==0){ - dialog = belle_sip_provider_create_dialog(op->root->prov,BELLE_SIP_TRANSACTION(server_transaction)); + dialog = belle_sip_provider_create_dialog(op->mRoot->mProvider,BELLE_SIP_TRANSACTION(server_transaction)); if (!dialog){ - resp=op->create_response_from_request(req,481); + resp=op->createResponseFromRequest(req,481); belle_sip_server_transaction_send_response(server_transaction,resp); op->release(); return; } - op->set_or_update_dialog(dialog); - ms_message("new incoming subscription from [%s] to [%s]",op->get_from(),op->get_to()); + op->setOrUpdateDialog(dialog); + ms_message("new incoming subscription from [%s] to [%s]",op->getFrom(),op->getTo()); }else{ /*this is a NOTIFY*/ - op->handle_notify(req, eventname, (SalBodyHandler *)body_handler); + op->handleNotify(req, eventname, (SalBodyHandler *)body_handler); return; } } - dialog_state=belle_sip_dialog_get_state(op->dialog); + dialog_state=belle_sip_dialog_get_state(op->mDialog); switch(dialog_state) { case BELLE_SIP_DIALOG_NULL: { const char *type = NULL; belle_sip_header_content_type_t *content_type = belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req), belle_sip_header_content_type_t); if (content_type) type = belle_sip_header_content_type_get_type(content_type); - op->root->callbacks.subscribe_received(op, eventname, type ? (SalBodyHandler *)body_handler : NULL); + op->mRoot->mCallbacks.subscribe_received(op, eventname, type ? (SalBodyHandler *)body_handler : NULL); break; } case BELLE_SIP_DIALOG_EARLY: - ms_error("unexpected method [%s] for dialog [%p] in state BELLE_SIP_DIALOG_EARLY ",belle_sip_request_get_method(req),op->dialog); + ms_error("unexpected method [%s] for dialog [%p] in state BELLE_SIP_DIALOG_EARLY ",belle_sip_request_get_method(req),op->mDialog); break; case BELLE_SIP_DIALOG_CONFIRMED: if (strcmp("NOTIFY",method)==0) { - op->handle_notify(req, eventname, (SalBodyHandler *)body_handler); + op->handleNotify(req, eventname, (SalBodyHandler *)body_handler); } else if (strcmp("SUBSCRIBE",method)==0) { /*either a refresh of an unsubscribe*/ if (expires && belle_sip_header_expires_get_expires(expires)>0) { - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); } else if(expires) { - ms_message("Unsubscribe received from [%s]",op->get_from()); - resp=op->create_response_from_request(req,200); + ms_message("Unsubscribe received from [%s]",op->getFrom()); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); - op->root->callbacks.incoming_subscribe_closed(op); + op->mRoot->mCallbacks.incoming_subscribe_closed(op); } } break; @@ -175,52 +175,52 @@ void SalSubscribeOp::subscribe_process_request_event_cb(void *op_base, const bel } } -void SalSubscribeOp::subscribe_process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { +void SalSubscribeOp::subscribeProcessDialogTerminatedCb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { belle_sip_dialog_t *dialog = belle_sip_dialog_terminated_event_get_dialog(event); SalSubscribeOp * op= (SalSubscribeOp *)ctx; - if (op->dialog) { + if (op->mDialog) { if (belle_sip_dialog_terminated_event_is_expired(event)){ if (!belle_sip_dialog_is_server(dialog)){ /*notify the app that our subscription is dead*/ const char *eventname = NULL; - if (op->event){ - eventname = belle_sip_header_event_get_package_name(op->event); + if (op->mEvent){ + eventname = belle_sip_header_event_get_package_name(op->mEvent); } - op->root->callbacks.notify(op, SalSubscribeTerminated, eventname, NULL); + op->mRoot->mCallbacks.notify(op, SalSubscribeTerminated, eventname, NULL); }else{ - op->root->callbacks.incoming_subscribe_closed(op); + op->mRoot->mCallbacks.incoming_subscribe_closed(op); } } - op->set_or_update_dialog(NULL); + op->setOrUpdateDialog(NULL); } } -void SalSubscribeOp::_release_cb(SalOp *op_base) { +void SalSubscribeOp::releaseCb(SalOp *op_base) { auto *op =reinterpret_cast(op_base); - if(op->refresher) { - belle_sip_refresher_stop(op->refresher); - belle_sip_object_unref(op->refresher); - op->refresher=NULL; - op->set_or_update_dialog(NULL); /*only if we have refresher. else dialog terminated event will remove association*/ + if(op->mRefresher) { + belle_sip_refresher_stop(op->mRefresher); + belle_sip_object_unref(op->mRefresher); + op->mRefresher=NULL; + op->setOrUpdateDialog(NULL); /*only if we have refresher. else dialog terminated event will remove association*/ } } -void SalSubscribeOp::fill_cbs() { +void SalSubscribeOp::fillCallbacks() { static belle_sip_listener_callbacks_t op_subscribe_callbacks={0}; if (op_subscribe_callbacks.process_io_error==NULL){ - op_subscribe_callbacks.process_io_error=subscribe_process_io_error_cb; - op_subscribe_callbacks.process_response_event=subscribe_response_event_cb; - op_subscribe_callbacks.process_timeout=subscribe_process_timeout_cb; - op_subscribe_callbacks.process_transaction_terminated=subscribe_process_transaction_terminated_cb; - op_subscribe_callbacks.process_request_event=subscribe_process_request_event_cb; - op_subscribe_callbacks.process_dialog_terminated=subscribe_process_dialog_terminated_cb; + op_subscribe_callbacks.process_io_error=subscribeProcessIoErrorCb; + op_subscribe_callbacks.process_response_event=subscribeResponseEventCb; + op_subscribe_callbacks.process_timeout=subscribeProcessTimeoutCb; + op_subscribe_callbacks.process_transaction_terminated=subscribeProcessTransactionTerminatedCb; + op_subscribe_callbacks.process_request_event=subscribeProcessRequestEventCb; + op_subscribe_callbacks.process_dialog_terminated=subscribeProcessDialogTerminatedCb; } - this->callbacks=&op_subscribe_callbacks; - this->type=Type::Subscribe; - this->release_cb=_release_cb; + mCallbacks=&op_subscribe_callbacks; + mType=Type::Subscribe; + mReleaseCb=releaseCb; } -void SalSubscribeOp::subscribe_refresher_listener_cb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry) { +void SalSubscribeOp::subscribeRefresherListenerCb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry) { SalSubscribeOp * op = (SalSubscribeOp *)user_pointer; belle_sip_transaction_t *tr=BELLE_SIP_TRANSACTION(belle_sip_refresher_get_transaction(refresher)); /*belle_sip_response_t* response=belle_sip_transaction_get_response(tr);*/ @@ -230,17 +230,17 @@ void SalSubscribeOp::subscribe_refresher_listener_cb (belle_sip_refresher_t* ref if (status_code>=200 && status_code<300){ if (status_code==200) sss=SalSubscribeActive; else if (status_code==202) sss=SalSubscribePending; - op->set_or_update_dialog(belle_sip_transaction_get_dialog(tr)); - op->root->callbacks.subscribe_response(op,sss, will_retry); + op->setOrUpdateDialog(belle_sip_transaction_get_dialog(tr)); + op->mRoot->mCallbacks.subscribe_response(op,sss, will_retry); } else if (status_code >= 300) { SalReason reason = SalReasonUnknown; if (status_code == 503) { /*refresher returns 503 for IO error*/ reason = SalReasonIOError; } - sal_error_info_set(&op->error_info, reason, "SIP", (int)status_code, reason_phrase, NULL); - op->root->callbacks.subscribe_response(op,sss, will_retry); + sal_error_info_set(&op->mErrorInfo, reason, "SIP", (int)status_code, reason_phrase, NULL); + op->mRoot->mCallbacks.subscribe_response(op,sss, will_retry); }else if (status_code==0){ - op->root->callbacks.on_expire(op); + op->mRoot->mCallbacks.on_expire(op); } } @@ -249,63 +249,63 @@ int SalSubscribeOp::subscribe(const char *from, const char *to, const char *even belle_sip_request_t *req=NULL; if (from) - set_from(from); + setFrom(from); if (to) - set_to(to); + setTo(to); - if (!this->dialog){ - fill_cbs(); - req=build_request("SUBSCRIBE"); + if (!mDialog){ + fillCallbacks(); + req=buildRequest("SUBSCRIBE"); if( req == NULL ) { return -1; } - set_event(eventname); - belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(this->event)); + setEvent(eventname); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(mEvent)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_expires_create(expires))); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(body_handler)); - return send_and_create_refresher(req,expires,subscribe_refresher_listener_cb); - }else if (this->refresher){ - const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(this->refresher); + return sendRequestAndCreateRefresher(req,expires,subscribeRefresherListenerCb); + }else if (mRefresher){ + const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(mRefresher); belle_sip_request_t *last_req=belle_sip_transaction_get_request(tr); /* modify last request to update body*/ belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(last_req), BELLE_SIP_BODY_HANDLER(body_handler)); - return belle_sip_refresher_refresh(this->refresher,expires); + return belle_sip_refresher_refresh(mRefresher,expires); } ms_warning("sal_subscribe(): no dialog and no refresher ?"); return -1; } int SalSubscribeOp::accept() { - belle_sip_request_t* req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(this->pending_server_trans)); + belle_sip_request_t* req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(mPendingServerTransaction)); belle_sip_header_expires_t* expires = belle_sip_message_get_header_by_type(req,belle_sip_header_expires_t); - belle_sip_response_t* resp = create_response_from_request(req,200); + belle_sip_response_t* resp = createResponseFromRequest(req,200); belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp),BELLE_SIP_HEADER(expires)); - belle_sip_server_transaction_send_response(this->pending_server_trans,resp); + belle_sip_server_transaction_send_response(mPendingServerTransaction,resp); return 0; } int SalSubscribeOp::decline(SalReason reason) { - belle_sip_response_t* resp = belle_sip_response_create_from_request(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(this->pending_server_trans)), + belle_sip_response_t* resp = belle_sip_response_create_from_request(belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(mPendingServerTransaction)), to_sip_code(reason)); - belle_sip_server_transaction_send_response(this->pending_server_trans,resp); + belle_sip_server_transaction_send_response(mPendingServerTransaction,resp); return 0; } -int SalSubscribeOp::notify_pending_state() { +int SalSubscribeOp::notifyPendingState() { - if (this->dialog != NULL && this->pending_server_trans) { + if (mDialog != NULL && mPendingServerTransaction) { belle_sip_request_t* notify; belle_sip_header_subscription_state_t* sub_state; ms_message("Sending NOTIFY with subscription state pending for op [%p]", this); - if (!(notify=belle_sip_dialog_create_request(this->dialog,"NOTIFY"))) { + if (!(notify=belle_sip_dialog_create_request(mDialog,"NOTIFY"))) { ms_error("Cannot create NOTIFY on op [%p]", this); return -1; } - if (this->event) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(this->event)); + if (mEvent) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(mEvent)); sub_state=belle_sip_header_subscription_state_new(); belle_sip_header_subscription_state_set_state(sub_state,BELLE_SIP_SUBSCRIPTION_STATE_PENDING); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify), BELLE_SIP_HEADER(sub_state)); - return send_request(notify); + return sendRequest(notify); } else { ms_warning("NOTIFY with subscription state pending for op [%p] not implemented in this case (either dialog pending trans does not exist", this); } @@ -316,101 +316,101 @@ int SalSubscribeOp::notify_pending_state() { int SalSubscribeOp::notify(const SalBodyHandler *body_handler) { belle_sip_request_t* notify; - if (this->dialog){ - if (!(notify=belle_sip_dialog_create_queued_request(this->dialog,"NOTIFY"))) return -1; + if (mDialog){ + if (!(notify=belle_sip_dialog_create_queued_request(mDialog,"NOTIFY"))) return -1; }else{ - fill_cbs(); - notify = build_request("NOTIFY"); + fillCallbacks(); + notify = buildRequest("NOTIFY"); } - if (this->event) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(this->event)); + if (mEvent) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(mEvent)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) - , this->dialog ? + , mDialog ? BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_ACTIVE,600)) : BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,0)) ); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(notify), BELLE_SIP_BODY_HANDLER(body_handler)); - return send_request(notify); + return sendRequest(notify); } -int SalSubscribeOp::close_notify() { +int SalSubscribeOp::closeNotify() { belle_sip_request_t* notify; - if (!this->dialog) return -1; - if (!(notify=belle_sip_dialog_create_queued_request(this->dialog,"NOTIFY"))) return -1; - if (this->event) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(this->event)); + if (!mDialog) return -1; + if (!(notify=belle_sip_dialog_create_queued_request(mDialog,"NOTIFY"))) return -1; + if (mEvent) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(mEvent)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) ,BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,-1))); - return send_request(notify); + return sendRequest(notify); } -void SalPublishOp::publish_response_event_cb(void *userctx, const belle_sip_response_event_t *event) { +void SalPublishOp::publishResponseEventCb(void *userctx, const belle_sip_response_event_t *event) { SalPublishOp *op=(SalPublishOp *)userctx; - op->set_error_info_from_response(belle_sip_response_event_get_response(event)); - if (op->error_info.protocol_code>=200){ - op->root->callbacks.on_publish_response(op); + op->setErrorInfoFromResponse(belle_sip_response_event_get_response(event)); + if (op->mErrorInfo.protocol_code>=200){ + op->mRoot->mCallbacks.on_publish_response(op); } } -void SalPublishOp::fill_cbs() { +void SalPublishOp::fillCallbacks() { static belle_sip_listener_callbacks_t op_publish_callbacks={0}; if (op_publish_callbacks.process_response_event==NULL){ - op_publish_callbacks.process_response_event=publish_response_event_cb; + op_publish_callbacks.process_response_event=publishResponseEventCb; } - this->callbacks=&op_publish_callbacks; - this->type=Type::Publish; + mCallbacks=&op_publish_callbacks; + mType=Type::Publish; } -void SalPublishOp::publish_refresher_listener_cb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry) { +void SalPublishOp::publishRefresherListenerCb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry) { SalPublishOp * op = (SalPublishOp *)user_pointer; - const belle_sip_client_transaction_t* last_publish_trans=belle_sip_refresher_get_transaction(op->refresher); + const belle_sip_client_transaction_t* last_publish_trans=belle_sip_refresher_get_transaction(op->mRefresher); belle_sip_response_t *response=belle_sip_transaction_get_response(BELLE_SIP_TRANSACTION(last_publish_trans)); - ms_message("Publish refresher [%i] reason [%s] for proxy [%s]",status_code,reason_phrase?reason_phrase:"none",op->get_proxy()); + ms_message("Publish refresher [%i] reason [%s] for proxy [%s]",status_code,reason_phrase?reason_phrase:"none",op->getProxy()); if (status_code==0){ - op->root->callbacks.on_expire(op); + op->mRoot->mCallbacks.on_expire(op); }else if (status_code>=200){ belle_sip_header_t *sip_etag; const char *sip_etag_string = NULL; if (response && (sip_etag = belle_sip_message_get_header(BELLE_SIP_MESSAGE(response), "SIP-ETag"))) { sip_etag_string = belle_sip_header_get_unparsed_value(sip_etag); } - op->set_entity_tag(sip_etag_string); - sal_error_info_set(&op->error_info,SalReasonUnknown, "SIP", (int)status_code, reason_phrase, NULL); - op->assign_recv_headers((belle_sip_message_t*)response); - op->root->callbacks.on_publish_response(op); + op->setEntityTag(sip_etag_string); + sal_error_info_set(&op->mErrorInfo,SalReasonUnknown, "SIP", (int)status_code, reason_phrase, NULL); + op->assignRecvHeaders((belle_sip_message_t*)response); + op->mRoot->mCallbacks.on_publish_response(op); } } int SalPublishOp::publish(const char *from, const char *to, const char *eventname, int expires, const SalBodyHandler *body_handler) { belle_sip_request_t *req=NULL; - if(!this->refresher || !belle_sip_refresher_get_transaction(this->refresher)) { + if(!mRefresher || !belle_sip_refresher_get_transaction(mRefresher)) { if (from) - set_from(from); + setFrom(from); if (to) - set_to(to); + setTo(to); - fill_cbs(); - req=build_request("PUBLISH"); + fillCallbacks(); + req=buildRequest("PUBLISH"); if( req == NULL ){ return -1; } - if (get_entity_tag()) { - belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),belle_sip_header_create("SIP-If-Match", get_entity_tag())); + if (getEntityTag()) { + belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),belle_sip_header_create("SIP-If-Match", getEntityTag())); } - if (get_contact_address()){ - belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(create_contact())); + if (getContactAddress()){ + belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(createContact())); } belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),belle_sip_header_create("Event",eventname)); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(body_handler)); if (expires!=-1) - return send_and_create_refresher(req,expires,publish_refresher_listener_cb); - else return send_request(req); + return sendRequestAndCreateRefresher(req,expires,publishRefresherListenerCb); + else return sendRequest(req); } else { /*update status*/ - const belle_sip_client_transaction_t* last_publish_trans=belle_sip_refresher_get_transaction(this->refresher); + const belle_sip_client_transaction_t* last_publish_trans=belle_sip_refresher_get_transaction(mRefresher); belle_sip_request_t* last_publish=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(last_publish_trans)); /*update body*/ if (expires == 0) { @@ -418,16 +418,16 @@ int SalPublishOp::publish(const char *from, const char *to, const char *eventnam } else { belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(last_publish), BELLE_SIP_BODY_HANDLER(body_handler)); } - return belle_sip_refresher_refresh(this->refresher,expires==-1 ? BELLE_SIP_REFRESHER_REUSE_EXPIRES : expires); + return belle_sip_refresher_refresh(mRefresher,expires==-1 ? BELLE_SIP_REFRESHER_REUSE_EXPIRES : expires); } } int SalPublishOp::unpublish() { - if (this->refresher){ - const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(this->refresher); + if (mRefresher){ + const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(mRefresher); belle_sip_request_t *last_req=belle_sip_transaction_get_request(tr); belle_sip_message_set_body(BELLE_SIP_MESSAGE(last_req), NULL, 0); - belle_sip_refresher_refresh(this->refresher,0); + belle_sip_refresher_refresh(mRefresher,0); return 0; } return -1; diff --git a/src/sal/event-op.h b/src/sal/event-op.h index 585adbbab..4b4f3b7f0 100644 --- a/src/sal/event-op.h +++ b/src/sal/event-op.h @@ -24,49 +24,49 @@ LINPHONE_BEGIN_NAMESPACE -class SalEventOp: public SalOp { +class SalEventOp : public SalOp { public: - SalEventOp(Sal *sal): SalOp(sal) {} + SalEventOp (Sal *sal) : SalOp(sal) {} }; class SalSubscribeOp: public SalEventOp { public: - SalSubscribeOp(Sal *sal): SalEventOp(sal) {} + SalSubscribeOp (Sal *sal): SalEventOp(sal) {} - int subscribe(const char *from, const char *to, const char *eventname, int expires, const SalBodyHandler *body_handler); - int unsubscribe() {return SalOp::unsubscribe();} - int accept(); - int decline(SalReason reason); - int notify_pending_state(); - int notify(const SalBodyHandler *body_handler); - int close_notify(); + int subscribe (const char *from, const char *to, const char *eventName, int expires, const SalBodyHandler *bodyHandler); + int unsubscribe () { return SalOp::unsubscribe(); } + int accept (); + int decline (SalReason reason); + int notifyPendingState (); + int notify (const SalBodyHandler *bodyHandler); + int closeNotify (); private: - virtual void fill_cbs() override; - void handle_notify(belle_sip_request_t *req, const char *eventname, SalBodyHandler* body_handler); + virtual void fillCallbacks () override; + void handleNotify (belle_sip_request_t *request, const char *eventName, SalBodyHandler *bodyHandler); - static void subscribe_process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static void subscribe_response_event_cb(void *op_base, const belle_sip_response_event_t *event); - static void subscribe_process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void subscribe_process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) {} - static void subscribe_process_request_event_cb(void *op_base, const belle_sip_request_event_t *event); - static void subscribe_process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event); - static void _release_cb(SalOp *op_base); - static void subscribe_refresher_listener_cb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry); + static void subscribeProcessIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static void subscribeResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void subscribeProcessTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void subscribeProcessTransactionTerminatedCb (void *userCtx, const belle_sip_transaction_terminated_event_t *event) {} + static void subscribeProcessRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); + static void subscribeProcessDialogTerminatedCb (void *userCtx, const belle_sip_dialog_terminated_event_t *event); + static void releaseCb (SalOp *op); + static void subscribeRefresherListenerCb (belle_sip_refresher_t *refresher, void *userCtx, unsigned int statusCode, const char *reasonPhrase, int willRetry); }; -class SalPublishOp: public SalEventOp { +class SalPublishOp : public SalEventOp { public: - SalPublishOp(Sal *sal): SalEventOp(sal) {} + SalPublishOp (Sal *sal) : SalEventOp(sal) {} - int publish(const char *from, const char *to, const char *eventname, int expires, const SalBodyHandler *body_handler); - int unpublish(); + int publish (const char *from, const char *to, const char *eventName, int expires, const SalBodyHandler *bodyHandler); + int unpublish (); private: - virtual void fill_cbs() override; + virtual void fillCallbacks () override; - static void publish_response_event_cb(void *userctx, const belle_sip_response_event_t *event); - static void publish_refresher_listener_cb (belle_sip_refresher_t* refresher,void* user_pointer,unsigned int status_code,const char* reason_phrase, int will_retry); + static void publishResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void publishRefresherListenerCb (belle_sip_refresher_t *refresher, void *userCtx, unsigned int statusCode, const char *reasonPhrase, int willRetry); }; LINPHONE_END_NAMESPACE diff --git a/src/sal/message-op-interface.h b/src/sal/message-op-interface.h index 981f20e1d..79ee4debd 100644 --- a/src/sal/message-op-interface.h +++ b/src/sal/message-op-interface.h @@ -32,7 +32,7 @@ public: virtual ~SalMessageOpInterface() = default; virtual int sendMessage (const Content &content) = 0; - virtual int reply(SalReason reason) = 0; + virtual int reply (SalReason reason) = 0; protected: void prepareMessageRequest (belle_sip_request_t *req, const Content &content) { diff --git a/src/sal/message-op.cpp b/src/sal/message-op.cpp index 29acdab93..c7d882b39 100644 --- a/src/sal/message-op.cpp +++ b/src/sal/message-op.cpp @@ -23,26 +23,26 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -void SalMessageOp::process_error() { - if (this->dir == Dir::Outgoing) { - this->root->callbacks.message_delivery_update(this, SalMessageDeliveryFailed); +void SalMessageOp::processError() { + if (mDir == Dir::Outgoing) { + mRoot->mCallbacks.message_delivery_update(this, SalMessageDeliveryFailed); } else { ms_warning("unexpected io error for incoming message on op [%p]", this); } - this->state=State::Terminated; + mState=State::Terminated; } -void SalMessageOp::process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event) { +void SalMessageOp::processIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event) { SalMessageOp * op = (SalMessageOp *)user_ctx; - sal_error_info_set(&op->error_info,SalReasonIOError, "SIP", 503,"IO Error",NULL); - op->process_error(); + sal_error_info_set(&op->mErrorInfo,SalReasonIOError, "SIP", 503,"IO Error",NULL); + op->processError(); } -void SalMessageOp::process_response_event_cb(void *op_base, const belle_sip_response_event_t *event) { +void SalMessageOp::processResponseEventCb(void *op_base, const belle_sip_response_event_t *event) { SalMessageOp * op = (SalMessageOp *)op_base; int code = belle_sip_response_get_status_code(belle_sip_response_event_get_response(event)); SalMessageDeliveryStatus status; - op->set_error_info_from_response(belle_sip_response_event_get_response(event)); + op->setErrorInfoFromResponse(belle_sip_response_event_get_response(event)); if (code>=100 && code <200) status=SalMessageDeliveryInProgress; @@ -51,40 +51,40 @@ void SalMessageOp::process_response_event_cb(void *op_base, const belle_sip_resp else status=SalMessageDeliveryFailed; - op->root->callbacks.message_delivery_update(op,status); + op->mRoot->mCallbacks.message_delivery_update(op,status); } -void SalMessageOp::process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void SalMessageOp::processTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { SalMessageOp * op=(SalMessageOp *)user_ctx; - sal_error_info_set(&op->error_info,SalReasonRequestTimeout, "SIP", 408,"Request timeout",NULL); - op->process_error(); + sal_error_info_set(&op->mErrorInfo,SalReasonRequestTimeout, "SIP", 408,"Request timeout",NULL); + op->processError(); } -void SalMessageOp::process_request_event_cb(void *op_base, const belle_sip_request_event_t *event) { +void SalMessageOp::processRequestEventCb(void *op_base, const belle_sip_request_event_t *event) { SalMessageOp * op = (SalMessageOp *)op_base; - op->process_incoming_message(event); + op->processIncomingMessage(event); } -void SalMessageOp::fill_cbs() { +void SalMessageOp::fillCallbacks() { static belle_sip_listener_callbacks_t op_message_callbacks = {0}; if (op_message_callbacks.process_io_error==NULL) { - op_message_callbacks.process_io_error=process_io_error_cb; - op_message_callbacks.process_response_event=process_response_event_cb; - op_message_callbacks.process_timeout=process_timeout_cb; - op_message_callbacks.process_request_event=process_request_event_cb; + op_message_callbacks.process_io_error=processIoErrorCb; + op_message_callbacks.process_response_event=processResponseEventCb; + op_message_callbacks.process_timeout=processTimeoutCb; + op_message_callbacks.process_request_event=processRequestEventCb; } - this->callbacks=&op_message_callbacks; - this->type=Type::Message; + mCallbacks=&op_message_callbacks; + mType=Type::Message; } int SalMessageOp::sendMessage (const Content &content) { - fill_cbs(); - this->dir = Dir::Outgoing; - belle_sip_request_t *req = build_request("MESSAGE"); + fillCallbacks(); + mDir = Dir::Outgoing; + belle_sip_request_t *req = buildRequest("MESSAGE"); if (!req) return -1; prepareMessageRequest(req, content); - return send_request(req); + return sendRequest(req); } LINPHONE_END_NAMESPACE diff --git a/src/sal/message-op.h b/src/sal/message-op.h index 922cc0381..73cd9efae 100644 --- a/src/sal/message-op.h +++ b/src/sal/message-op.h @@ -25,21 +25,21 @@ LINPHONE_BEGIN_NAMESPACE -class SalMessageOp: public SalOp, public SalMessageOpInterface { +class SalMessageOp : public SalOp, public SalMessageOpInterface { public: - SalMessageOp(Sal *sal): SalOp(sal) {} + SalMessageOp (Sal *sal) : SalOp(sal) {} int sendMessage (const Content &content) override; - int reply(SalReason reason) override {return SalOp::reply_message(reason);} + int reply (SalReason reason) override { return SalOp::replyMessage(reason); } private: - virtual void fill_cbs() override; - void process_error(); + virtual void fillCallbacks () override; + void processError (); - static void process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static void process_response_event_cb(void *op_base, const belle_sip_response_event_t *event); - static void process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void process_request_event_cb(void *op_base, const belle_sip_request_event_t *event); + static void processIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static void processResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void processTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void processRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); }; LINPHONE_END_NAMESPACE diff --git a/src/sal/op.cpp b/src/sal/op.cpp index 33a641906..51a8112c5 100644 --- a/src/sal/op.cpp +++ b/src/sal/op.cpp @@ -27,135 +27,135 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE SalOp::SalOp(Sal *sal) { - this->root = sal; - this->sdp_handling = sal->default_sdp_handling; - memset(&this->error_info, 0, sizeof(this->error_info)); - memset(&this->reason_error_info, 0, sizeof(this->reason_error_info)); + mRoot = sal; + mSdpHandling = sal->mDefaultSdpHandling; + memset(&mErrorInfo, 0, sizeof(mErrorInfo)); + memset(&mReasonErrorInfo, 0, sizeof(mReasonErrorInfo)); ref(); } SalOp::~SalOp() { - ms_message("Destroying op [%p] of type [%s]",this,to_string(this->type)); + ms_message("Destroying op [%p] of type [%s]",this,toString(mType)); - if (this->pending_auth_transaction) belle_sip_object_unref(this->pending_auth_transaction); - this->root->remove_pending_auth(this); - if (this->auth_info) { - sal_auth_info_delete(this->auth_info); + if (mPendingAuthTransaction) belle_sip_object_unref(mPendingAuthTransaction); + mRoot->removePendingAuth(this); + if (mAuthInfo) { + sal_auth_info_delete(mAuthInfo); } - if (this->sdp_answer) belle_sip_object_unref(this->sdp_answer); - if (this->refresher) { - belle_sip_object_unref(this->refresher); - this->refresher=NULL; + if (mSdpAnswer) belle_sip_object_unref(mSdpAnswer); + if (mRefresher) { + belle_sip_object_unref(mRefresher); + mRefresher=NULL; } - if (this->result) - sal_media_description_unref(this->result); - if(this->replaces) belle_sip_object_unref(this->replaces); - if(this->referred_by) belle_sip_object_unref(this->referred_by); + if (mResult) + sal_media_description_unref(mResult); + if(mReplaces) belle_sip_object_unref(mReplaces); + if(mReferredBy) belle_sip_object_unref(mReferredBy); - if (this->pending_client_trans) belle_sip_object_unref(this->pending_client_trans); - if (this->pending_server_trans) belle_sip_object_unref(this->pending_server_trans); - if (this->pending_update_server_trans) belle_sip_object_unref(this->pending_update_server_trans); - if (this->event) belle_sip_object_unref(this->event); + if (mPendingClientTransaction) belle_sip_object_unref(mPendingClientTransaction); + if (mPendingServerTransaction) belle_sip_object_unref(mPendingServerTransaction); + if (mPendingUpdateServerTransaction) belle_sip_object_unref(mPendingUpdateServerTransaction); + if (mEvent) belle_sip_object_unref(mEvent); - sal_error_info_reset(&this->error_info); - if (this->from_address){ - sal_address_destroy(this->from_address); - this->from_address=NULL; + sal_error_info_reset(&mErrorInfo); + if (mFromAddress){ + sal_address_destroy(mFromAddress); + mFromAddress=NULL; } - if (this->to_address){ - sal_address_destroy(this->to_address); - this->to_address=NULL; + if (mToAddress){ + sal_address_destroy(mToAddress); + mToAddress=NULL; } - if (this->service_route){ - sal_address_destroy(this->service_route); - this->service_route=NULL; + if (mServiceRoute){ + sal_address_destroy(mServiceRoute); + mServiceRoute=NULL; } - if (this->origin_address){ - sal_address_destroy(this->origin_address); - this->origin_address=NULL; + if (mOriginAddress){ + sal_address_destroy(mOriginAddress); + mOriginAddress=NULL; } - if (this->from) { - ms_free(this->from); - this->from=NULL; + if (mFrom) { + ms_free(mFrom); + mFrom=NULL; } - if (this->to) { - ms_free(this->to); - this->to=NULL; + if (mTo) { + ms_free(mTo); + mTo=NULL; } - if (this->subject) { - ms_free(this->subject); - this->subject = NULL; + if (mSubject) { + ms_free(mSubject); + mSubject = NULL; } - if (this->route) { - ms_free(this->route); - this->route=NULL; + if (mRoute) { + ms_free(mRoute); + mRoute=NULL; } - if (this->realm) { - ms_free(this->realm); - this->realm=NULL; + if (mRealm) { + ms_free(mRealm); + mRealm=NULL; } - if (this->contact_address) { - sal_address_destroy(this->contact_address); + if (mContactAddress) { + sal_address_destroy(mContactAddress); } - if (this->origin){ - ms_free(this->origin); - this->origin=NULL; + if (mOrigin){ + ms_free(mOrigin); + mOrigin=NULL; } - if (this->remote_ua){ - ms_free(this->remote_ua); - this->remote_ua=NULL; + if (mRemoteUserAgent){ + ms_free(mRemoteUserAgent); + mRemoteUserAgent=NULL; } - if (this->remote_contact){ - ms_free(this->remote_contact); - this->remote_contact=NULL; + if (mRemoteContact){ + ms_free(mRemoteContact); + mRemoteContact=NULL; } - if (this->remote_contact_address){ - sal_address_destroy(this->remote_contact_address); + if (mRemoteContactAddress){ + sal_address_destroy(mRemoteContactAddress); } - if (this->call_id) - ms_free(this->call_id); - if (this->service_route) { - sal_address_destroy(this->service_route); + if (mCallId) + ms_free(mCallId); + if (mServiceRoute) { + sal_address_destroy(mServiceRoute); } - if (this->route_addresses){ - bctbx_list_for_each(this->route_addresses,(void (*)(void*)) sal_address_destroy); - this->route_addresses=bctbx_list_free(this->route_addresses); + if (mRouteAddresses){ + bctbx_list_for_each(mRouteAddresses,(void (*)(void*)) sal_address_destroy); + mRouteAddresses=bctbx_list_free(mRouteAddresses); } - if (this->recv_custom_headers) - sal_custom_header_free(this->recv_custom_headers); - if (this->sent_custom_headers) - sal_custom_header_free(this->sent_custom_headers); + if (mRecvCustomHeaders) + sal_custom_header_free(mRecvCustomHeaders); + if (mSentCustomHeaders) + sal_custom_header_free(mSentCustomHeaders); - if (this->entity_tag != NULL){ - ms_free(this->entity_tag); - this->entity_tag = NULL; + if (mEntityTag != NULL){ + ms_free(mEntityTag); + mEntityTag = NULL; } } SalOp *SalOp::ref() { - _ref++; + mRef++; return this; } void *SalOp::unref() { - _ref--; - if (_ref==0) { + mRef--; + if (mRef==0) { delete this; - } else if (_ref<0) { + } else if (mRef<0) { ms_fatal("SalOp [%p]: too many unrefs.",this); } return NULL; } -void SalOp::set_contact_address(const SalAddress *address) { - if (this->contact_address) sal_address_destroy(this->contact_address); - this->contact_address=address?sal_address_clone(address):NULL; +void SalOp::setContactAddress(const SalAddress *address) { + if (mContactAddress) sal_address_destroy(mContactAddress); + mContactAddress=address?sal_address_clone(address):NULL; } -void SalOp::assign_address(SalAddress** address, const char *value) { +void SalOp::assignAddress(SalAddress** address, const char *value) { if (*address){ sal_address_destroy(*address); *address=NULL; @@ -164,7 +164,7 @@ void SalOp::assign_address(SalAddress** address, const char *value) { *address=sal_address_new(value); } -void SalOp::assign_string(char **str, const char *arg) { +void SalOp::assignString(char **str, const char *arg) { if (*str){ ms_free(*str); *str=NULL; @@ -173,126 +173,129 @@ void SalOp::assign_string(char **str, const char *arg) { *str=ms_strdup(arg); } -void SalOp::set_route(const char *route) { +void SalOp::setRoute(const char *route) { char* route_string=NULL; - if (this->route_addresses) { - bctbx_list_for_each(this->route_addresses,(void (*)(void *))sal_address_destroy); - this->route_addresses=bctbx_list_free(this->route_addresses); + if (mRouteAddresses) { + bctbx_list_for_each(mRouteAddresses,(void (*)(void *))sal_address_destroy); + mRouteAddresses=bctbx_list_free(mRouteAddresses); } if (route) { - this->route_addresses=bctbx_list_append(NULL,NULL); - assign_address((SalAddress**)&(this->route_addresses->data),route); - route_string=sal_address_as_string((SalAddress*)this->route_addresses->data); + mRouteAddresses=bctbx_list_append(NULL,NULL); + assignAddress((SalAddress**)&(mRouteAddresses->data),route); + route_string=sal_address_as_string((SalAddress*)mRouteAddresses->data); } - assign_string(&this->route,route_string); + assignString(&mRoute,route_string); if(route_string) ms_free(route_string); } -void SalOp::set_route_address(const SalAddress *address){ +void SalOp::setRouteAddress(const SalAddress *address){ char* address_string=sal_address_as_string(address); /*can probably be optimized*/ - set_route(address_string); + setRoute(address_string); ms_free(address_string); } -void SalOp::add_route_address(const SalAddress *address) { - if (this->route_addresses) { - this->route_addresses=bctbx_list_append(this->route_addresses,(void*)sal_address_clone(address)); +void SalOp::addRouteAddress(const SalAddress *address) { + if (mRouteAddresses) { + mRouteAddresses=bctbx_list_append(mRouteAddresses,(void*)sal_address_clone(address)); } else { - set_route_address(address); + setRouteAddress(address); } } -void SalOp::set_realm(const char *realm) { - if (this->realm != NULL){ - ms_free(this->realm); +void SalOp::setRealm(const char *realm) { + if (mRealm != NULL){ + ms_free(mRealm); } - this->realm = ms_strdup(realm); + mRealm = ms_strdup(realm); } -#define SET_PARAM(name) \ - char* name##_string=NULL; \ - assign_address(&this->name##_address,name); \ - if (this->name##_address) { \ - name##_string=sal_address_as_string(this->name##_address); \ - }\ - assign_string(&this->name,name##_string); \ - if(name##_string) ms_free(name##_string); - -void SalOp::set_subject (const char *subject) { - assign_string(&this->subject, subject); +void SalOp::setSubject (const char *subject) { + assignString(&mSubject, subject); } -void SalOp::set_from(const char *from){ - SET_PARAM(from); +void SalOp::setFrom (const char *value) { + char *valueStr = nullptr; + assignAddress(&mFromAddress, value); + if (mFromAddress) + valueStr = sal_address_as_string(mFromAddress); + assignString(&mFrom, valueStr); + if (valueStr) + ms_free(valueStr); } -void SalOp::set_from_address(const SalAddress *from) { +void SalOp::setFromAddress(const SalAddress *from) { char* address_string=sal_address_as_string(from); /*can probably be optimized*/ - set_from(address_string); + setFrom(address_string); ms_free(address_string); } -void SalOp::set_to(const char *to) { - SET_PARAM(to); +void SalOp::setTo (const char *value) { + char *valueStr = nullptr; + assignAddress(&mToAddress, value); + if (mToAddress) + valueStr = sal_address_as_string(mToAddress); + assignString(&mTo, valueStr); + if (valueStr) + ms_free(valueStr); } -void SalOp::set_to_address(const SalAddress *to) { +void SalOp::setToAddress(const SalAddress *to) { char* address_string=sal_address_as_string(to); /*can probably be optimized*/ - set_to(address_string); + setTo(address_string); ms_free(address_string); } -void SalOp::set_diversion_address(const SalAddress *diversion) { - if (this->diversion_address) sal_address_destroy(this->diversion_address); - this->diversion_address=diversion ? sal_address_clone(diversion) : NULL; +void SalOp::setDiversionAddress(const SalAddress *diversion) { + if (mDiversionAddress) sal_address_destroy(mDiversionAddress); + mDiversionAddress=diversion ? sal_address_clone(diversion) : NULL; } int SalOp::refresh() { - if (this->refresher) { - belle_sip_refresher_refresh(this->refresher,belle_sip_refresher_get_expires(this->refresher)); + if (mRefresher) { + belle_sip_refresher_refresh(mRefresher,belle_sip_refresher_get_expires(mRefresher)); return 0; } - ms_warning("sal_refresh on op [%p] of type [%s] no refresher",this,to_string(this->type)); + ms_warning("sal_refresh on op [%p] of type [%s] no refresher",this,toString(mType)); return -1; } -void SalOp::kill_dialog() { - ms_warning("op [%p]: force kill of dialog [%p]", this, this->dialog); - belle_sip_dialog_delete(this->dialog); +void SalOp::killDialog() { + ms_warning("op [%p]: force kill of dialog [%p]", this, mDialog); + belle_sip_dialog_delete(mDialog); } void SalOp::release() { /*if in terminating state, keep this state because it means we are waiting for a response to be able to terminate the operation.*/ - if (this->state!=State::Terminating) - this->state=State::Terminated; - set_user_pointer(NULL);/*mandatory because releasing op doesn't not mean freeing op. Make sure back pointer will not be used later*/ - if (this->release_cb) - this->release_cb(this); - if (this->refresher) { - belle_sip_refresher_stop(this->refresher); + if (mState!=State::Terminating) + mState=State::Terminated; + setUserPointer(NULL);/*mandatory because releasing op doesn't not mean freeing op. Make sure back pointer will not be used later*/ + if (mReleaseCb) + mReleaseCb(this); + if (mRefresher) { + belle_sip_refresher_stop(mRefresher); } - this->op_released = TRUE; + mOpReleased = TRUE; unref(); } -int SalOp::send_request_with_contact(belle_sip_request_t* request, bool_t add_contact) { +int SalOp::sendRequestWithContact(belle_sip_request_t* request, bool_t add_contact) { belle_sip_client_transaction_t* client_transaction; - belle_sip_provider_t* prov=this->root->prov; + belle_sip_provider_t* prov=mRoot->mProvider; belle_sip_uri_t* outbound_proxy=NULL; belle_sip_header_contact_t* contact; int result =-1; belle_sip_uri_t *next_hop_uri=NULL; if (add_contact && !belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(request),belle_sip_header_contact_t)) { - contact = create_contact(); + contact = createContact(); belle_sip_message_set_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_HEADER(contact)); } /*keep existing*/ - add_custom_headers((belle_sip_message_t*)request); + addCustomHeaders((belle_sip_message_t*)request); - if (!this->dialog || belle_sip_dialog_get_state(this->dialog) == BELLE_SIP_DIALOG_NULL) { + if (!mDialog || belle_sip_dialog_get_state(mDialog) == BELLE_SIP_DIALOG_NULL) { /*don't put route header if dialog is in confirmed state*/ - const MSList *elem=get_route_addresses(); + const MSList *elem=getRouteAddresses(); const char *transport; const char *method=belle_sip_request_get_method(request); belle_sip_listening_point_t *udplp=belle_sip_provider_get_listening_point(prov,"UDP"); @@ -341,31 +344,31 @@ int SalOp::send_request_with_contact(belle_sip_request_t* request, bool_t add_co client_transaction = belle_sip_provider_create_client_transaction(prov,request); belle_sip_transaction_set_application_data(BELLE_SIP_TRANSACTION(client_transaction),ref()); - if (this->pending_client_trans) belle_sip_object_unref(this->pending_client_trans); + if (mPendingClientTransaction) belle_sip_object_unref(mPendingClientTransaction); - this->pending_client_trans=client_transaction; /*update pending inv for being able to cancel*/ - belle_sip_object_ref(this->pending_client_trans); + mPendingClientTransaction=client_transaction; /*update pending inv for being able to cancel*/ + belle_sip_object_ref(mPendingClientTransaction); if (belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(request),belle_sip_header_user_agent_t)==NULL) - belle_sip_message_add_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_HEADER(this->root->user_agent)); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_HEADER(mRoot->mUserAgent)); if (!belle_sip_message_get_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_AUTHORIZATION) && !belle_sip_message_get_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_PROXY_AUTHORIZATION)) { /*hmm just in case we already have authentication param in cache*/ - belle_sip_provider_add_authorization(this->root->prov,request,NULL,NULL,NULL,this->realm); + belle_sip_provider_add_authorization(mRoot->mProvider,request,NULL,NULL,NULL,mRealm); } result = belle_sip_client_transaction_send_request_to(client_transaction,next_hop_uri/*might be null*/); /*update call id if not set yet for this OP*/ - if (result == 0 && !this->call_id) { - this->call_id=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(request), belle_sip_header_call_id_t)))); + if (result == 0 && !mCallId) { + mCallId=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(request), belle_sip_header_call_id_t)))); } return result; } -int SalOp::send_request(belle_sip_request_t* request) { +int SalOp::sendRequest(belle_sip_request_t* request) { bool_t need_contact=FALSE; if (request==NULL) { return -1; /*sanity check*/ @@ -382,18 +385,18 @@ int SalOp::send_request(belle_sip_request_t* request) { ||strcmp(belle_sip_request_get_method(request),"REFER")==0) /* Despite contact seems not mandatory, call flow example show a Contact in REFER requests*/ need_contact=TRUE; - return send_request_with_contact(request,need_contact); + return sendRequestWithContact(request,need_contact); } -void SalOp::resend_request(belle_sip_request_t* request) { +void SalOp::resendRequest(belle_sip_request_t* request) { belle_sip_header_cseq_t* cseq=(belle_sip_header_cseq_t*)belle_sip_message_get_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_CSEQ); belle_sip_header_cseq_set_seq_number(cseq,belle_sip_header_cseq_get_seq_number(cseq)+1); - send_request(request); + sendRequest(request); } -int SalOp::process_redirect(){ - belle_sip_request_t* request = belle_sip_transaction_get_request((belle_sip_transaction_t*)this->pending_client_trans); - belle_sip_response_t *response = belle_sip_transaction_get_response((belle_sip_transaction_t*)this->pending_client_trans); +int SalOp::processRedirect(){ + belle_sip_request_t* request = belle_sip_transaction_get_request((belle_sip_transaction_t*)mPendingClientTransaction); + belle_sip_response_t *response = belle_sip_transaction_get_response((belle_sip_transaction_t*)mPendingClientTransaction); belle_sip_header_contact_t *redirect_contact = belle_sip_message_get_header_by_type((belle_sip_message_t*)response, belle_sip_header_contact_t); belle_sip_uri_t *redirect_uri; belle_sip_header_call_id_t *callid = belle_sip_message_get_header_by_type((belle_sip_message_t*)request, belle_sip_header_call_id_t); @@ -411,46 +414,46 @@ int SalOp::process_redirect(){ return -1; } - if (this->dialog && belle_sip_dialog_get_state(this->dialog)==BELLE_SIP_DIALOG_CONFIRMED){ + if (mDialog && belle_sip_dialog_get_state(mDialog)==BELLE_SIP_DIALOG_CONFIRMED){ ms_warning("Redirect not handled within established dialogs. Does it make sense ?"); return -1; } - set_or_update_dialog(NULL); + setOrUpdateDialog(NULL); belle_sip_message_remove_header_from_ptr((belle_sip_message_t*)request, (belle_sip_header_t*)callid); - belle_sip_message_add_header((belle_sip_message_t*)request, (belle_sip_header_t*)(callid = belle_sip_provider_create_call_id(this->get_sal()->prov))); - if (this->call_id){ + belle_sip_message_add_header((belle_sip_message_t*)request, (belle_sip_header_t*)(callid = belle_sip_provider_create_call_id(getSal()->mProvider))); + if (mCallId){ /*reset the call-id of op, it will be set when new request will be sent*/ - ms_free(this->call_id); - this->call_id = NULL; + ms_free(mCallId); + mCallId = NULL; } belle_sip_request_set_uri(request, redirect_uri); redirect_uri = BELLE_SIP_URI(belle_sip_object_clone(BELLE_SIP_OBJECT(redirect_uri))); belle_sip_uri_set_port(redirect_uri, 0); belle_sip_parameters_remove_parameter(BELLE_SIP_PARAMETERS(redirect_uri), "transport"); belle_sip_header_address_set_uri((belle_sip_header_address_t*)to, redirect_uri); - send_request(request); + sendRequest(request); return 0; } -void SalOp::process_authentication() { - belle_sip_request_t* initial_request=belle_sip_transaction_get_request((belle_sip_transaction_t*)this->pending_auth_transaction); +void SalOp::processAuthentication() { + belle_sip_request_t* initial_request=belle_sip_transaction_get_request((belle_sip_transaction_t*)mPendingAuthTransaction); belle_sip_request_t* new_request; bool_t is_within_dialog=FALSE; belle_sip_list_t* auth_list=NULL; belle_sip_auth_event_t* auth_event; - belle_sip_response_t *response=belle_sip_transaction_get_response((belle_sip_transaction_t*)this->pending_auth_transaction); + belle_sip_response_t *response=belle_sip_transaction_get_response((belle_sip_transaction_t*)mPendingAuthTransaction); belle_sip_header_from_t *from=belle_sip_message_get_header_by_type(initial_request,belle_sip_header_from_t); belle_sip_uri_t *from_uri=belle_sip_header_address_get_uri((belle_sip_header_address_t*)from); if (strcasecmp(belle_sip_uri_get_host(from_uri),"anonymous.invalid")==0){ /*prefer using the from from the SalOp*/ - from_uri=belle_sip_header_address_get_uri((belle_sip_header_address_t*)get_from_address()); + from_uri=belle_sip_header_address_get_uri((belle_sip_header_address_t*)getFromAddress()); } - if (this->dialog && belle_sip_dialog_get_state(this->dialog)==BELLE_SIP_DIALOG_CONFIRMED) { - new_request = belle_sip_dialog_create_request_from(this->dialog,initial_request); + if (mDialog && belle_sip_dialog_get_state(mDialog)==BELLE_SIP_DIALOG_CONFIRMED) { + new_request = belle_sip_dialog_create_request_from(mDialog,initial_request); if (!new_request) - new_request = belle_sip_dialog_create_queued_request_from(this->dialog,initial_request); + new_request = belle_sip_dialog_create_queued_request_from(mDialog,initial_request); is_within_dialog=TRUE; } else { new_request=initial_request; @@ -462,56 +465,56 @@ void SalOp::process_authentication() { return; } - if (belle_sip_provider_add_authorization(this->root->prov,new_request,response,from_uri,&auth_list,this->realm)) { + if (belle_sip_provider_add_authorization(mRoot->mProvider,new_request,response,from_uri,&auth_list,mRealm)) { if (is_within_dialog) { - send_request(new_request); + sendRequest(new_request); } else { - resend_request(new_request); + resendRequest(new_request); } - this->root->remove_pending_auth(this); + mRoot->removePendingAuth(this); }else { belle_sip_header_from_t *from=belle_sip_message_get_header_by_type(response,belle_sip_header_from_t); char *tmp=belle_sip_object_to_string(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(from))); ms_message("No auth info found for [%s]",tmp); belle_sip_free(tmp); - this->root->add_pending_auth(this); + mRoot->addPendingAuth(this); if (is_within_dialog) { belle_sip_object_unref(new_request); } } /*always store auth info, for case of wrong credential*/ - if (this->auth_info) { - sal_auth_info_delete(this->auth_info); - this->auth_info=NULL; + if (mAuthInfo) { + sal_auth_info_delete(mAuthInfo); + mAuthInfo=NULL; } if (auth_list){ auth_event=(belle_sip_auth_event_t*)(auth_list->data); - this->auth_info=sal_auth_info_create(auth_event); + mAuthInfo=sal_auth_info_create(auth_event); belle_sip_list_free_with_data(auth_list,(void (*)(void*))belle_sip_auth_event_destroy); } } -char *SalOp::get_dialog_id() const { - if (this->dialog != NULL) { - return ms_strdup_printf("%s;to-tag=%s;from-tag=%s", this->call_id, - belle_sip_dialog_get_remote_tag(this->dialog), belle_sip_dialog_get_local_tag(this->dialog)); +char *SalOp::getDialogId() const { + if (mDialog != NULL) { + return ms_strdup_printf("%s;to-tag=%s;from-tag=%s", mCallId, + belle_sip_dialog_get_remote_tag(mDialog), belle_sip_dialog_get_local_tag(mDialog)); } return NULL; } -int SalOp::get_address_family() const { +int SalOp::getAddressFamily() const { belle_sip_transaction_t *tr=NULL; belle_sip_header_address_t *contact; - if (this->refresher) - tr=(belle_sip_transaction_t *)belle_sip_refresher_get_transaction(this->refresher); + if (mRefresher) + tr=(belle_sip_transaction_t *)belle_sip_refresher_get_transaction(mRefresher); if (tr==NULL) - tr=(belle_sip_transaction_t *)this->pending_client_trans; + tr=(belle_sip_transaction_t *)mPendingClientTransaction; if (tr==NULL) - tr=(belle_sip_transaction_t *)this->pending_server_trans; + tr=(belle_sip_transaction_t *)mPendingServerTransaction; if (tr==NULL){ ms_error("Unable to determine IP version from signaling operation."); @@ -519,7 +522,7 @@ int SalOp::get_address_family() const { } - if (this->refresher) { + if (mRefresher) { belle_sip_response_t *resp = belle_sip_transaction_get_response(tr); belle_sip_header_via_t *via = resp ?belle_sip_message_get_header_by_type(resp,belle_sip_header_via_t):NULL; if (!via){ @@ -537,29 +540,29 @@ int SalOp::get_address_family() const { } } -bool_t SalOp::is_idle() const { - if (this->dialog){ - return !belle_sip_dialog_request_pending(this->dialog); +bool_t SalOp::isIdle() const { + if (mDialog){ + return !belle_sip_dialog_request_pending(mDialog); } return TRUE; } -void SalOp::set_entity_tag(const char* entity_tag) { - if (this->entity_tag != NULL) ms_free(this->entity_tag); - this->entity_tag = entity_tag ? ms_strdup(entity_tag) : NULL; +void SalOp::setEntityTag(const char* entity_tag) { + if (mEntityTag != NULL) ms_free(mEntityTag); + mEntityTag = entity_tag ? ms_strdup(entity_tag) : NULL; } -void SalOp::set_event(const char *eventname) { +void SalOp::setEvent(const char *eventname) { belle_sip_header_event_t *header = NULL; - if (this->event) belle_sip_object_unref(this->event); + if (mEvent) belle_sip_object_unref(mEvent); if (eventname){ header = belle_sip_header_event_create(eventname); belle_sip_object_ref(header); } - this->event = header; + mEvent = header; } -void SalOp::add_initial_route_set(belle_sip_request_t *request, const MSList *list) { +void SalOp::addInitialRouteSet(belle_sip_request_t *request, const MSList *list) { const MSList *elem; for (elem=list;elem!=NULL;elem=elem->next){ SalAddress *addr=(SalAddress*)elem->data; @@ -582,21 +585,21 @@ void SalOp::add_initial_route_set(belle_sip_request_t *request, const MSList *li } } -belle_sip_request_t* SalOp::build_request(const char* method) { +belle_sip_request_t* SalOp::buildRequest(const char* method) { belle_sip_header_from_t* from_header; belle_sip_header_to_t* to_header; - belle_sip_provider_t* prov=this->root->prov; + belle_sip_provider_t* prov=mRoot->mProvider; belle_sip_request_t *req; belle_sip_uri_t* req_uri; belle_sip_uri_t* to_uri; belle_sip_header_call_id_t *call_id_header; const SalAddress* to_address; - const MSList *elem=get_route_addresses(); + const MSList *elem=getRouteAddresses(); char token[10]; /* check that the op has a correct to address */ - to_address = get_to_address(); + to_address = getToAddress(); if( to_address == NULL ){ ms_error("No To: address, cannot build request"); return NULL; @@ -608,8 +611,8 @@ belle_sip_request_t* SalOp::build_request(const char* method) { return NULL; } - if (strcmp("REGISTER",method)==0 || this->privacy==SalPrivacyNone) { - from_header = belle_sip_header_from_create(BELLE_SIP_HEADER_ADDRESS(get_from_address()) + if (strcmp("REGISTER",method)==0 || mPrivacy==SalPrivacyNone) { + from_header = belle_sip_header_from_create(BELLE_SIP_HEADER_ADDRESS(getFromAddress()) ,belle_sip_random_token(token,sizeof(token))); } else { from_header=belle_sip_header_from_create2("Anonymous ",belle_sip_random_token(token,sizeof(token))); @@ -617,12 +620,12 @@ belle_sip_request_t* SalOp::build_request(const char* method) { /*make sure to preserve components like headers or port*/ req_uri = (belle_sip_uri_t*)belle_sip_object_clone((belle_sip_object_t*)to_uri); - belle_sip_uri_set_secure(req_uri,is_secure()); + belle_sip_uri_set_secure(req_uri,isSecure()); to_header = belle_sip_header_to_create(BELLE_SIP_HEADER_ADDRESS(to_address),NULL); call_id_header = belle_sip_provider_create_call_id(prov); - if (get_call_id()) { - belle_sip_header_call_id_set_call_id(call_id_header, get_call_id()); + if (getCallId()) { + belle_sip_header_call_id_set_call_id(call_id_header, getCallId()); } req=belle_sip_request_create( @@ -635,48 +638,48 @@ belle_sip_request_t* SalOp::build_request(const char* method) { belle_sip_header_via_new(), 70); - if (this->privacy & SalPrivacyId) { - belle_sip_header_p_preferred_identity_t* p_preferred_identity=belle_sip_header_p_preferred_identity_create(BELLE_SIP_HEADER_ADDRESS(get_from_address())); + if (mPrivacy & SalPrivacyId) { + belle_sip_header_p_preferred_identity_t* p_preferred_identity=belle_sip_header_p_preferred_identity_create(BELLE_SIP_HEADER_ADDRESS(getFromAddress())); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(p_preferred_identity)); } - if (elem && strcmp(method,"REGISTER")!=0 && !this->root->no_initial_route){ - add_initial_route_set(req,elem); + if (elem && strcmp(method,"REGISTER")!=0 && !mRoot->mNoInitialRoute){ + addInitialRouteSet(req,elem); } - if (strcmp("REGISTER",method)!=0 && this->privacy!=SalPrivacyNone ){ + if (strcmp("REGISTER",method)!=0 && mPrivacy!=SalPrivacyNone ){ belle_sip_header_privacy_t* privacy_header=belle_sip_header_privacy_new(); - if (this->privacy&SalPrivacyCritical) + if (mPrivacy&SalPrivacyCritical) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacyCritical)); - if (this->privacy&SalPrivacyHeader) + if (mPrivacy&SalPrivacyHeader) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacyHeader)); - if (this->privacy&SalPrivacyId) + if (mPrivacy&SalPrivacyId) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacyId)); - if (this->privacy&SalPrivacyNone) + if (mPrivacy&SalPrivacyNone) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacyNone)); - if (this->privacy&SalPrivacySession) + if (mPrivacy&SalPrivacySession) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacySession)); - if (this->privacy&SalPrivacyUser) + if (mPrivacy&SalPrivacyUser) belle_sip_header_privacy_add_privacy(privacy_header,sal_privacy_to_string(SalPrivacyUser)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(privacy_header)); } - belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),this->root->supported); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),mRoot->mSupported); return req; } -void SalOp::set_error_info_from_response(belle_sip_response_t *response) { +void SalOp::setErrorInfoFromResponse(belle_sip_response_t *response) { int code = belle_sip_response_get_status_code(response); const char *reason_phrase=belle_sip_response_get_reason_phrase(response); belle_sip_header_t *warning=belle_sip_message_get_header(BELLE_SIP_MESSAGE(response),"Warning"); - SalErrorInfo *ei=&this->error_info; + SalErrorInfo *ei=&mErrorInfo; const char *warnings; warnings=warning ? belle_sip_header_get_unparsed_value(warning) : NULL; sal_error_info_set(ei,SalReasonUnknown,"SIP", code,reason_phrase,warnings); - set_reason_error_info(BELLE_SIP_MESSAGE(response)); + setReasonErrorInfo(BELLE_SIP_MESSAGE(response)); } -const char* SalOp::to_string(const State value) { +const char* SalOp::toString(const State value) { switch(value) { case State::Early: return"SalOpStateEarly"; case State::Active: return "SalOpStateActive"; @@ -687,10 +690,10 @@ const char* SalOp::to_string(const State value) { } } -void SalOp::set_reason_error_info(belle_sip_message_t *msg) { +void SalOp::setReasonErrorInfo(belle_sip_message_t *msg) { belle_sip_header_reason_t* reason_header = belle_sip_message_get_header_by_type(msg,belle_sip_header_reason_t); if (reason_header){ - SalErrorInfo *ei=&this->reason_error_info; // ?// + SalErrorInfo *ei=&mReasonErrorInfo; // ?// const char *protocol = belle_sip_header_reason_get_protocol(reason_header); int code = belle_sip_header_reason_get_cause(reason_header); const char *text = belle_sip_header_reason_get_text(reason_header); @@ -698,41 +701,41 @@ void SalOp::set_reason_error_info(belle_sip_message_t *msg) { } } -void SalOp::set_referred_by(belle_sip_header_referred_by_t* referred_by) { - if (this->referred_by){ - belle_sip_object_unref(this->referred_by); +void SalOp::setReferredBy(belle_sip_header_referred_by_t* referred_by) { + if (mReferredBy){ + belle_sip_object_unref(mReferredBy); } - this->referred_by=referred_by; - belle_sip_object_ref(this->referred_by); + mReferredBy=referred_by; + belle_sip_object_ref(mReferredBy); } -void SalOp::set_replaces(belle_sip_header_replaces_t* replaces) { - if (this->replaces){ - belle_sip_object_unref(this->replaces); +void SalOp::setReplaces(belle_sip_header_replaces_t* replaces) { + if (mReplaces){ + belle_sip_object_unref(mReplaces); } - this->replaces=replaces; - belle_sip_object_ref(this->replaces); + mReplaces=replaces; + belle_sip_object_ref(mReplaces); } -int SalOp::send_request_with_expires(belle_sip_request_t* request,int expires) { +int SalOp::sendRequestWithExpires(belle_sip_request_t* request,int expires) { belle_sip_header_expires_t* expires_header=(belle_sip_header_expires_t*)belle_sip_message_get_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_EXPIRES); if (!expires_header && expires>=0) { belle_sip_message_add_header(BELLE_SIP_MESSAGE(request),BELLE_SIP_HEADER(expires_header=belle_sip_header_expires_new())); } if (expires_header) belle_sip_header_expires_set_expires(expires_header,expires); - return send_request(request); + return sendRequest(request); } -int SalOp::send_and_create_refresher(belle_sip_request_t* req, int expires,belle_sip_refresher_listener_t listener) { - if (send_request_with_expires(req,expires)==0) { - if (this->refresher) { - belle_sip_refresher_stop(this->refresher); - belle_sip_object_unref(this->refresher); +int SalOp::sendRequestAndCreateRefresher(belle_sip_request_t* req, int expires,belle_sip_refresher_listener_t listener) { + if (sendRequestWithExpires(req,expires)==0) { + if (mRefresher) { + belle_sip_refresher_stop(mRefresher); + belle_sip_object_unref(mRefresher); } - if ((this->refresher = belle_sip_client_transaction_create_refresher(this->pending_client_trans))) { + if ((mRefresher = belle_sip_client_transaction_create_refresher(mPendingClientTransaction))) { /*since refresher acquires the transaction, we should remove our context from the transaction, because we won't be notified * that it is terminated anymore.*/ unref();/*loose the reference that was given to the transaction when creating it*/ @@ -740,10 +743,10 @@ int SalOp::send_and_create_refresher(belle_sip_request_t* req, int expires,belle Something in the design is not very good here, it makes things complicated to the belle-sip user. Possible ideas to improve things: refresher shall not use belle_sip_transaction_set_application_data() internally, refresher should let the first transaction notify the user as a normal transaction*/ - belle_sip_refresher_set_listener(this->refresher,listener, this); - belle_sip_refresher_set_retry_after(this->refresher,this->root->refresher_retry_after); - belle_sip_refresher_set_realm(this->refresher,this->realm); - belle_sip_refresher_enable_manual_mode(this->refresher, this->manual_refresher); + belle_sip_refresher_set_listener(mRefresher,listener, this); + belle_sip_refresher_set_retry_after(mRefresher,mRoot->mRefresherRetryAfter); + belle_sip_refresher_set_realm(mRefresher,mRealm); + belle_sip_refresher_enable_manual_mode(mRefresher, mManualRefresher); return 0; } else { return -1; @@ -752,12 +755,12 @@ int SalOp::send_and_create_refresher(belle_sip_request_t* req, int expires,belle return -1; } -belle_sip_header_contact_t *SalOp::create_contact() { +belle_sip_header_contact_t *SalOp::createContact() { belle_sip_header_contact_t* contact_header; belle_sip_uri_t* contact_uri; - if (get_contact_address()) { - contact_header = belle_sip_header_contact_create(BELLE_SIP_HEADER_ADDRESS(get_contact_address())); + if (getContactAddress()) { + contact_header = belle_sip_header_contact_create(BELLE_SIP_HEADER_ADDRESS(getContactAddress())); } else { contact_header= belle_sip_header_contact_new(); } @@ -769,78 +772,78 @@ belle_sip_header_contact_t *SalOp::create_contact() { } belle_sip_uri_set_user_password(contact_uri,NULL); - belle_sip_uri_set_secure(contact_uri,is_secure()); - if (this->privacy!=SalPrivacyNone){ + belle_sip_uri_set_secure(contact_uri,isSecure()); + if (mPrivacy!=SalPrivacyNone){ belle_sip_uri_set_user(contact_uri,NULL); } /*don't touch contact in case of gruu*/ if (!belle_sip_parameters_has_parameter(BELLE_SIP_PARAMETERS(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(contact_header))),"gr")) { - belle_sip_header_contact_set_automatic(contact_header,this->root->auto_contacts); - if (this->root->uuid) { + belle_sip_header_contact_set_automatic(contact_header,mRoot->mAutoContacts); + if (mRoot->mUuid) { if (belle_sip_parameters_has_parameter(BELLE_SIP_PARAMETERS(contact_header),"+sip.instance")==0){ - char *instance_id=belle_sip_strdup_printf("\"\"",this->root->uuid); + char *instance_id=belle_sip_strdup_printf("\"\"",mRoot->mUuid); belle_sip_parameters_set_parameter(BELLE_SIP_PARAMETERS(contact_header),"+sip.instance",instance_id); belle_sip_free(instance_id); } } } - if (this->root->linphone_specs && strlen(this->root->linphone_specs) > 0) { + if (mRoot->mLinphoneSpecs && strlen(mRoot->mLinphoneSpecs) > 0) { if (belle_sip_parameters_has_parameter(BELLE_SIP_PARAMETERS(contact_header),"+org.linphone.specs") == 0) { - belle_sip_parameters_set_parameter(BELLE_SIP_PARAMETERS(contact_header), "+org.linphone.specs", this->root->linphone_specs); + belle_sip_parameters_set_parameter(BELLE_SIP_PARAMETERS(contact_header), "+org.linphone.specs", mRoot->mLinphoneSpecs); } } return contact_header; } -void SalOp::unlink_op_with_dialog(belle_sip_dialog_t* dialog) { +void SalOp::unlinkOpFromDialog(belle_sip_dialog_t* dialog) { belle_sip_dialog_set_application_data(dialog,NULL); unref(); belle_sip_object_unref(dialog); } -belle_sip_dialog_t *SalOp::link_op_with_dialog(belle_sip_dialog_t* dialog) { +belle_sip_dialog_t *SalOp::linkOpWithDialog(belle_sip_dialog_t* dialog) { belle_sip_dialog_set_application_data(dialog,ref()); belle_sip_object_ref(dialog); return dialog; } -void SalOp::set_or_update_dialog(belle_sip_dialog_t* dialog) { - ms_message("op [%p] : set_or_update_dialog() current=[%p] new=[%p]", this, this->dialog,dialog); +void SalOp::setOrUpdateDialog(belle_sip_dialog_t* dialog) { + ms_message("op [%p] : set_or_update_dialog() current=[%p] new=[%p]", this, mDialog,dialog); ref(); - if (this->dialog!=dialog){ - if (this->dialog){ + if (mDialog!=dialog){ + if (mDialog){ /*FIXME: shouldn't we delete unconfirmed dialogs ?*/ - unlink_op_with_dialog(this->dialog); - this->dialog=NULL; + unlinkOpFromDialog(mDialog); + mDialog=NULL; } if (dialog) { - this->dialog=link_op_with_dialog(dialog); - belle_sip_dialog_enable_pending_trans_checking(dialog,this->root->pending_trans_checking); + mDialog=linkOpWithDialog(dialog); + belle_sip_dialog_enable_pending_trans_checking(dialog,mRoot->mPendingTransactionChecking); } } unref(); } int SalOp::ping(const char *from, const char *to) { - set_from(from); - set_to(to); - return send_request(build_request("OPTIONS")); + setFrom(from); + setTo(to); + return sendRequest(buildRequest("OPTIONS")); } -int SalOp::send_info(const char *from, const char *to, const SalBodyHandler *body_handler) { - if (this->dialog && belle_sip_dialog_get_state(this->dialog) == BELLE_SIP_DIALOG_CONFIRMED) { +int SalOp::sendInfo(const char *from, const char *to, const SalBodyHandler *body_handler) { + if (mDialog && belle_sip_dialog_get_state(mDialog) == BELLE_SIP_DIALOG_CONFIRMED) { belle_sip_request_t *req; - belle_sip_dialog_enable_pending_trans_checking(this->dialog,this->root->pending_trans_checking); - req=belle_sip_dialog_create_queued_request(this->dialog,"INFO"); + belle_sip_dialog_enable_pending_trans_checking(mDialog,mRoot->mPendingTransactionChecking); + req=belle_sip_dialog_create_queued_request(mDialog,"INFO"); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(body_handler)); - return send_request(req); + return sendRequest(req); }else{ ms_error("Cannot send INFO message on op [%p] because dialog is not in confirmed state yet.", this); } return -1; } -SalBodyHandler *SalOp::get_body_handler(belle_sip_message_t *msg) { +SalBodyHandler *SalOp::getBodyHandler(belle_sip_message_t *msg) { belle_sip_body_handler_t *body_handler = belle_sip_message_get_body_handler(msg); if (body_handler != NULL) { belle_sip_header_content_type_t *content_type = belle_sip_message_get_header_by_type(msg, belle_sip_header_content_type_t); @@ -853,30 +856,36 @@ SalBodyHandler *SalOp::get_body_handler(belle_sip_message_t *msg) { return (SalBodyHandler *)body_handler; } -void SalOp::assign_recv_headers(belle_sip_message_t *incoming) { +void SalOp::assignRecvHeaders(belle_sip_message_t *incoming) { if (incoming) belle_sip_object_ref(incoming); - if (this->recv_custom_headers){ - belle_sip_object_unref(this->recv_custom_headers); - this->recv_custom_headers=NULL; + if (mRecvCustomHeaders){ + belle_sip_object_unref(mRecvCustomHeaders); + mRecvCustomHeaders=NULL; } if (incoming){ - this->recv_custom_headers=(SalCustomHeader*)incoming; + mRecvCustomHeaders=(SalCustomHeader*)incoming; } } -void SalOp::set_remote_contact(const char* remote_contact) { - assign_address(&this->remote_contact_address,remote_contact); +void SalOp::setRemoteContact(const char* remote_contact) { + assignAddress(&mRemoteContactAddress,remote_contact); /*to preserve header params*/ - assign_string(&this->remote_contact,remote_contact); + assignString(&mRemoteContact,remote_contact); } -void SalOp::set_network_origin(const char *origin) { - SET_PARAM(origin); +void SalOp::setNetworkOrigin (const char *value) { + char *valueStr = nullptr; + assignAddress(&mOriginAddress, value); + if (mOriginAddress) + valueStr = sal_address_as_string(mOriginAddress); + assignString(&mOrigin, valueStr); + if (valueStr) + ms_free(valueStr); } -void SalOp::set_network_origin_address(SalAddress *origin){ +void SalOp::setNetworkOriginAddress(SalAddress *origin){ char* address_string=sal_address_as_string(origin); /*can probably be optimized*/ - set_network_origin(address_string); + setNetworkOrigin(address_string); ms_free(address_string); } @@ -888,45 +897,45 @@ When a Privacy header is constructed, it MUST consist of either the 'session' (each of which MUST appear at most once) which MAY in turn be followed by the 'critical' indicator. */ -void SalOp::set_privacy_from_message(belle_sip_message_t* msg) { +void SalOp::setPrivacyFromMessage(belle_sip_message_t* msg) { belle_sip_header_privacy_t* privacy = belle_sip_message_get_header_by_type(msg,belle_sip_header_privacy_t); if (!privacy) { - set_privacy(SalPrivacyNone); + setPrivacy(SalPrivacyNone); } else { belle_sip_list_t* privacy_list=belle_sip_header_privacy_get_privacy(privacy); - set_privacy(0); + setPrivacy(0); for (;privacy_list!=NULL;privacy_list=privacy_list->next) { char* privacy_value=(char*)privacy_list->data; if(strcmp(sal_privacy_to_string(SalPrivacyCritical),privacy_value) == 0) - set_privacy(get_privacy()|SalPrivacyCritical); + setPrivacy(getPrivacy()|SalPrivacyCritical); if(strcmp(sal_privacy_to_string(SalPrivacyHeader),privacy_value) == 0) - set_privacy(get_privacy()|SalPrivacyHeader); + setPrivacy(getPrivacy()|SalPrivacyHeader); if(strcmp(sal_privacy_to_string(SalPrivacyId),privacy_value) == 0) - set_privacy(get_privacy()|SalPrivacyId); + setPrivacy(getPrivacy()|SalPrivacyId); if(strcmp(sal_privacy_to_string(SalPrivacyNone),privacy_value) == 0) { - set_privacy(SalPrivacyNone); + setPrivacy(SalPrivacyNone); break; } if(strcmp(sal_privacy_to_string(SalPrivacySession),privacy_value) == 0) - set_privacy(get_privacy()|SalPrivacySession); + setPrivacy(getPrivacy()|SalPrivacySession); if(strcmp(sal_privacy_to_string(SalPrivacyUser),privacy_value) == 0) - set_privacy(get_privacy()|SalPrivacyUser); + setPrivacy(getPrivacy()|SalPrivacyUser); } } } -void SalOp::set_remote_ua(belle_sip_message_t* message) { +void SalOp::setRemoteUserAgent(belle_sip_message_t* message) { belle_sip_header_user_agent_t* user_agent=belle_sip_message_get_header_by_type(message,belle_sip_header_user_agent_t); char user_agent_string[256]; if (user_agent && belle_sip_header_user_agent_get_products_as_string(user_agent,user_agent_string,sizeof(user_agent_string))>0) { - if (this->remote_ua!=NULL){ - ms_free(this->remote_ua); + if (mRemoteUserAgent!=NULL){ + ms_free(mRemoteUserAgent); } - this->remote_ua=ms_strdup(user_agent_string); + mRemoteUserAgent=ms_strdup(user_agent_string); } } -const char *SalOp::to_string(const Type type) { +const char *SalOp::toString(const Type type) { switch(type) { case Type::Register: return "SalOpRegister"; case Type::Call: return "SalOpCall"; @@ -936,31 +945,31 @@ const char *SalOp::to_string(const Type type) { } } -bool_t SalOp::is_secure() const { - const SalAddress* from = get_from_address(); - const SalAddress* to = get_to_address(); +bool_t SalOp::isSecure() const { + const SalAddress* from = getFromAddress(); + const SalAddress* to = getToAddress(); return from && to && strcasecmp("sips",sal_address_get_scheme(from))==0 && strcasecmp("sips",sal_address_get_scheme(to))==0; } /* * Warning: this function takes owneship of the custom headers */ -void SalOp::set_sent_custom_header(SalCustomHeader* ch){ - if (this->sent_custom_headers){ - sal_custom_header_free(this->sent_custom_headers); - this->sent_custom_headers=NULL; +void SalOp::setSentCustomHeaders(SalCustomHeader* ch){ + if (mSentCustomHeaders){ + sal_custom_header_free(mSentCustomHeaders); + mSentCustomHeaders=NULL; } if (ch) belle_sip_object_ref((belle_sip_message_t*)ch); - this->sent_custom_headers=ch; + mSentCustomHeaders=ch; } -void SalOp::add_headers(belle_sip_header_t *h, belle_sip_message_t *msg){ +void SalOp::addHeaders(belle_sip_header_t *h, belle_sip_message_t *msg){ if (BELLE_SIP_OBJECT_IS_INSTANCE_OF(h,belle_sip_header_contact_t)){ belle_sip_header_contact_t* newct; /*special case for contact, we want to keep everything from the custom contact but set automatic mode and add our own parameters as well*/ - set_contact_address((SalAddress*)BELLE_SIP_HEADER_ADDRESS(h)); - newct = create_contact(); + setContactAddress((SalAddress*)BELLE_SIP_HEADER_ADDRESS(h)); + newct = createContact(); belle_sip_message_set_header(BELLE_SIP_MESSAGE(msg),BELLE_SIP_HEADER(newct)); return; } @@ -969,32 +978,32 @@ void SalOp::add_headers(belle_sip_header_t *h, belle_sip_message_t *msg){ } -void SalOp::add_custom_headers(belle_sip_message_t *msg){ - if (this->sent_custom_headers){ - belle_sip_message_t *ch=(belle_sip_message_t*)this->sent_custom_headers; +void SalOp::addCustomHeaders(belle_sip_message_t *msg){ + if (mSentCustomHeaders){ + belle_sip_message_t *ch=(belle_sip_message_t*)mSentCustomHeaders; belle_sip_list_t *l=belle_sip_message_get_all_headers(ch); belle_sip_list_t *elem; for(elem=l;elem!=NULL;elem=elem->next){ - add_headers((belle_sip_header_t*)elem->data,msg); + addHeaders((belle_sip_header_t*)elem->data,msg); } belle_sip_list_free(l); } } int SalOp::unsubscribe(){ - if (this->refresher){ - const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(this->refresher); + if (mRefresher){ + const belle_sip_transaction_t *tr=(const belle_sip_transaction_t*) belle_sip_refresher_get_transaction(mRefresher); belle_sip_request_t *last_req=belle_sip_transaction_get_request(tr); belle_sip_message_set_body(BELLE_SIP_MESSAGE(last_req), NULL, 0); - belle_sip_refresher_refresh(this->refresher,0); + belle_sip_refresher_refresh(mRefresher,0); return 0; } return -1; } -void SalOp::process_incoming_message(const belle_sip_request_event_t *event) { +void SalOp::processIncomingMessage(const belle_sip_request_event_t *event) { belle_sip_request_t* req = belle_sip_request_event_get_request(event); - belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(this->root->prov,req); + belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(mRoot->mProvider,req); belle_sip_header_address_t* address; belle_sip_header_from_t* from_header; belle_sip_header_content_type_t* content_type; @@ -1013,12 +1022,12 @@ void SalOp::process_incoming_message(const belle_sip_request_event_t *event) { SalMessage salmsg; char message_id[256]={0}; - if (this->pending_server_trans) belle_sip_object_unref(this->pending_server_trans); + if (mPendingServerTransaction) belle_sip_object_unref(mPendingServerTransaction); - this->pending_server_trans=server_transaction; - belle_sip_object_ref(this->pending_server_trans); + mPendingServerTransaction=server_transaction; + belle_sip_object_ref(mPendingServerTransaction); - external_body=is_external_body(content_type); + external_body=isExternalBody(content_type); address=belle_sip_header_address_create(belle_sip_header_address_get_displayname(BELLE_SIP_HEADER_ADDRESS(from_header)) ,belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(from_header))); from=belle_sip_object_to_string(BELLE_SIP_OBJECT(address)); @@ -1043,7 +1052,7 @@ void SalOp::process_incoming_message(const belle_sip_request_event_t *event) { salmsg.message_id=message_id; salmsg.time=date ? belle_sip_header_date_get_time(date) : time(NULL); - this->root->callbacks.message_received(this,&salmsg); + mRoot->mCallbacks.message_received(this,&salmsg); belle_sip_object_unref(address); belle_sip_free(from); @@ -1052,35 +1061,35 @@ void SalOp::process_incoming_message(const belle_sip_request_event_t *event) { } else { ms_error("Unsupported MESSAGE (no Content-Type)"); resp = belle_sip_response_create_from_request(req, errcode); - add_message_accept((belle_sip_message_t*)resp); + addMessageAccept((belle_sip_message_t*)resp); belle_sip_server_transaction_send_response(server_transaction,resp); release(); } } -bool_t SalOp::is_external_body(belle_sip_header_content_type_t* content_type) { +bool_t SalOp::isExternalBody(belle_sip_header_content_type_t* content_type) { return strcmp("message",belle_sip_header_content_type_get_type(content_type))==0 && strcmp("external-body",belle_sip_header_content_type_get_subtype(content_type))==0; } -int SalOp::reply_message(SalReason reason) { - if (this->pending_server_trans){ +int SalOp::replyMessage(SalReason reason) { + if (mPendingServerTransaction){ int code=to_sip_code(reason); belle_sip_response_t *resp = belle_sip_response_create_from_request( - belle_sip_transaction_get_request((belle_sip_transaction_t*)this->pending_server_trans),code); - belle_sip_server_transaction_send_response(this->pending_server_trans,resp); + belle_sip_transaction_get_request((belle_sip_transaction_t*)mPendingServerTransaction),code); + belle_sip_server_transaction_send_response(mPendingServerTransaction,resp); return 0; }else ms_error("sal_message_reply(): no server transaction"); return -1; } -void SalOp::add_message_accept(belle_sip_message_t *msg) { +void SalOp::addMessageAccept(belle_sip_message_t *msg) { bctbx_list_t *item; const char *str; char *old; char *header = ms_strdup("xml/cipher, application/cipher.vnd.gsma.rcs-ft-http+xml"); - for (item = this->root->supported_content_types; item != NULL; item = bctbx_list_next(item)) { + for (item = mRoot->mSupportedContentTypes; item != NULL; item = bctbx_list_next(item)) { str = (const char *)bctbx_list_get_data(item); old = header; header = ms_strdup_printf("%s, %s", old, str); @@ -1091,11 +1100,11 @@ void SalOp::add_message_accept(belle_sip_message_t *msg) { ms_free(header); } -void SalOp::set_service_route(const SalAddress* service_route) { - if (this->service_route) - sal_address_destroy(this->service_route); +void SalOp::setServiceRoute(const SalAddress* service_route) { + if (mServiceRoute) + sal_address_destroy(mServiceRoute); - this->service_route=service_route?sal_address_clone(service_route):NULL; + mServiceRoute=service_route?sal_address_clone(service_route):NULL; } LINPHONE_END_NAMESPACE diff --git a/src/sal/op.h b/src/sal/op.h index 317d3f632..fb7549f8e 100644 --- a/src/sal/op.h +++ b/src/sal/op.h @@ -26,107 +26,118 @@ #include "c-wrapper/internal/c-sal.h" #include "content/content.h" +#include "logger/logger.h" #include "sal/sal.h" LINPHONE_BEGIN_NAMESPACE class SalOp { public: - SalOp(Sal *sal); - virtual ~SalOp(); + SalOp (Sal *sal); + virtual ~SalOp (); - SalOp *ref(); - void *unref(); + SalOp *ref (); + void *unref (); - Sal *get_sal() const {return this->root;} + Sal *getSal () const { return mRoot; } - void set_user_pointer(void *up) {this->user_pointer=up;} - void *get_user_pointer() const {return this->user_pointer;} + void setUserPointer (void *value) { mUserPointer = value; } + void *getUserPointer () const { return mUserPointer; } - void set_subject (const char *subject); - const char *get_subject () const { return this->subject; } + void setSubject (const char *value); + const char *getSubject () const { return mSubject; } - void set_from(const char *from); - void set_from_address(const SalAddress *from); - const char *get_from() const {return this->from;} - const SalAddress *get_from_address() const {return this->from_address;} + void setFrom (const char *value); + void setFromAddress (const SalAddress *value); + const char *getFrom () const { return mFrom; } + const SalAddress *getFromAddress () const { return mFromAddress; } - void set_to(const char *to); - void set_to_address(const SalAddress *to); - const char *get_to() const {return this->to;} - const SalAddress *get_to_address() const {return this->to_address;} + void setTo (const char *value); + void setToAddress (const SalAddress *value); + const char *getTo () const { return mTo; } + const SalAddress *getToAddress () const { return mToAddress; } - void set_contact_address(const SalAddress* address); - const SalAddress *get_contact_address() const {return this->contact_address;} + void setContactAddress (const SalAddress* value); + const SalAddress *getContactAddress() const { return mContactAddress; } - void set_route(const char *route); - void set_route_address(const SalAddress* address); - const bctbx_list_t *get_route_addresses() const {return this->route_addresses;} - void add_route_address(const SalAddress* address); + void setRoute (const char *value); + void setRouteAddress (const SalAddress *value); + const bctbx_list_t *getRouteAddresses () const { return mRouteAddresses; } + void addRouteAddress (const SalAddress *address); - void set_diversion_address(const SalAddress *diversion); - const SalAddress *get_diversion_address() const {return this->diversion_address;} + void setDiversionAddress (const SalAddress *value); + const SalAddress *getDiversionAddress () const { return mDiversionAddress; } - void set_service_route(const SalAddress* service_route); - const SalAddress *get_service_route() const {return this->service_route;} + void setServiceRoute (const SalAddress *value); + const SalAddress *getServiceRoute () const { return mServiceRoute; } - void set_manual_refresher_mode(bool_t enabled) {this->manual_refresher=enabled;} + void setManualRefresherMode (bool_t value) { mManualRefresher = value; } - void set_entity_tag(const char* entity_tag); - const char *get_entity_tag() const {return this->entity_tag;} + void setEntityTag (const char *value); + const char *getEntityTag() const { return mEntityTag; } - void set_event(const char *eventname); + void setEvent (const char *eventName); - void set_privacy(SalPrivacyMask privacy) {this->privacy=privacy;} - SalPrivacyMask get_privacy() const {return this->privacy;} + void setPrivacy (SalPrivacyMask value) { mPrivacy = value; } + SalPrivacyMask getPrivacy() const { return mPrivacy; } - void set_realm(const char *realm); + void setRealm (const char *value); - void set_sent_custom_header(SalCustomHeader* ch); + void setSentCustomHeaders (SalCustomHeader *ch); - void enable_cnx_ip_to_0000_if_sendonly(bool_t yesno) {this->_cnx_ip_to_0000_if_sendonly_enabled = yesno;} - bool_t cnx_ip_to_0000_if_sendonly_enabled() const {return this->_cnx_ip_to_0000_if_sendonly_enabled;} + void enableCnxIpTo0000IfSendOnly (bool_t value) { mCnxIpTo0000IfSendOnlyEnabled = value; } + bool_t cnxIpTo0000IfSendOnlyEnabled () const { return mCnxIpTo0000IfSendOnlyEnabled; } - const char *get_proxy() const {return this->route;} - const char *get_network_origin() const {return this->origin;} - const char* get_call_id() const {return this->call_id;} - char* get_dialog_id() const; - int get_address_family() const; - const SalCustomHeader *get_recv_custom_header() const {return this->recv_custom_headers;} - const char *get_remote_contact() const {return this->remote_contact;} - const SalAddress *get_remote_contact_address() const {return this->remote_contact_address;} - const char *get_remote_ua() const {return this->remote_ua;} + const char *getProxy () const { return mRoute; } + const char *getNetworkOrigin () const { return mOrigin; } + const char *getCallId () const { return mCallId; } + char *getDialogId () const; + int getAddressFamily () const; + const SalCustomHeader *getRecvCustomHeaders () const { return mRecvCustomHeaders; } + const char *getRemoteContact () const { return mRemoteContact; } + const SalAddress *getRemoteContactAddress () const { return mRemoteContactAddress; } + const char *getRemoteUserAgent () const { return mRemoteUserAgent; } - const char *get_public_address(int *port) {return this->refresher ? belle_sip_refresher_get_public_address(this->refresher, port) : NULL;} - const char *get_local_address(int *port) {return this->refresher ? belle_sip_refresher_get_local_address(this->refresher, port) : NULL;} + const char *getPublicAddress (int *port) { + return mRefresher ? belle_sip_refresher_get_public_address(mRefresher, port) : nullptr; + } + const char *getLocalAddress (int *port) { + return mRefresher ? belle_sip_refresher_get_local_address(mRefresher, port) : nullptr; + } - const SalErrorInfo *get_error_info() const {return &this->error_info;} - const SalErrorInfo *get_reason_error_info() const {return &this->reason_error_info;} + const SalErrorInfo *getErrorInfo () const { return &mErrorInfo; } + const SalErrorInfo *getReasonErrorInfo () const { return &mReasonErrorInfo; } - bool_t is_forked_of(const SalOp *op2) const {return this->call_id && op2->call_id && strcmp(this->call_id, op2->call_id) == 0;} - bool_t is_idle() const ; + bool_t isForkedOf (const SalOp *op) const { + return mCallId && op->mCallId && strcmp(mCallId, op->mCallId) == 0; + } + bool_t isIdle () const; - void stop_refreshing() {if (this->refresher) belle_sip_refresher_stop(this->refresher);} - int refresh(); - void kill_dialog(); - void release(); + void stopRefreshing () { + if (mRefresher) + belle_sip_refresher_stop(mRefresher); + } + int refresh (); + void killDialog (); + void release (); - virtual void authenticate(const SalAuthInfo *info) {process_authentication();} - void cancel_authentication() {ms_fatal("sal_op_cancel_authentication not implemented yet");} - SalAuthInfo *get_auth_requested() {return this->auth_info;} + virtual void authenticate (const SalAuthInfo *info) { + processAuthentication(); } + void cancelAuthentication () { lFatal() << "SalOp::cancelAuthentication not implemented yet"; } + SalAuthInfo *getAuthRequested () { return mAuthInfo; } - int ping(const char *from, const char *to); - int send_info(const char *from, const char *to, const SalBodyHandler *body_handler); + int ping (const char *from, const char *to); + int sendInfo (const char *from, const char *to, const SalBodyHandler *bodyHandler); protected: enum class State { Early = 0, Active, - Terminating, /*this state is used to wait until a proceeding state, so we can send the cancel*/ + Terminating, // This state is used to wait until a proceeding state, so we can send the cancel Terminated }; - static const char* to_string(const State value); + static const char *toString (const State value); enum class Dir { Incoming = 0, @@ -141,118 +152,120 @@ protected: Presence, Publish, Subscribe, - Refer /*for out of dialog refer only*/ + Refer // For out of dialog refer only }; - static const char *to_string(const SalOp::Type type); + static const char *toString (const Type type); - typedef void (*ReleaseCb)(SalOp *op); + using ReleaseCb = void (*) (SalOp *op); - virtual void fill_cbs() {} - void release_impl(); - void process_authentication(); - int process_redirect(); + virtual void fillCallbacks () {} + void releaseImpl (); + void processAuthentication (); + int processRedirect (); - belle_sip_request_t* build_request(const char* method); - int send_request(belle_sip_request_t* request); - int send_request_with_contact(belle_sip_request_t* request, bool_t add_contact); - int send_request_with_expires(belle_sip_request_t* request,int expires); - void resend_request(belle_sip_request_t* request); - int send_and_create_refresher(belle_sip_request_t* req, int expires,belle_sip_refresher_listener_t listener); + belle_sip_request_t *buildRequest (const char *method); + int sendRequest (belle_sip_request_t *request); + int sendRequestWithContact (belle_sip_request_t *request, bool_t addContact); + int sendRequestWithExpires (belle_sip_request_t *request, int expires); + void resendRequest (belle_sip_request_t *request); + int sendRequestAndCreateRefresher (belle_sip_request_t *request, int expires, belle_sip_refresher_listener_t listener); - void set_reason_error_info(belle_sip_message_t *msg); - void set_error_info_from_response(belle_sip_response_t *response); + void setReasonErrorInfo (belle_sip_message_t *message); + void setErrorInfoFromResponse (belle_sip_response_t *response); - void set_referred_by(belle_sip_header_referred_by_t* referred_by); - void set_replaces(belle_sip_header_replaces_t* replaces); + void setReferredBy (belle_sip_header_referred_by_t *referredByHeader); + void setReplaces (belle_sip_header_replaces_t *replacesHeader); - void set_remote_contact(const char* remote_contact); - void set_network_origin(const char *origin); - void set_network_origin_address(SalAddress *origin); - void set_privacy_from_message(belle_sip_message_t* msg); - void set_remote_ua(belle_sip_message_t* message); + void setRemoteContact (const char *value); + void setNetworkOrigin (const char *value); + void setNetworkOriginAddress (SalAddress *value); + void setPrivacyFromMessage (belle_sip_message_t *message); + void setRemoteUserAgent (belle_sip_message_t *message); - belle_sip_response_t *create_response_from_request(belle_sip_request_t *req, int code) {return this->root->create_response_from_request(req,code);} - belle_sip_header_contact_t *create_contact(); + belle_sip_response_t *createResponseFromRequest (belle_sip_request_t *request, int code) { + return mRoot->createResponseFromRequest(request, code); + } + belle_sip_header_contact_t *createContact (); - void set_or_update_dialog(belle_sip_dialog_t* dialog); - belle_sip_dialog_t *link_op_with_dialog(belle_sip_dialog_t* dialog); - void unlink_op_with_dialog(belle_sip_dialog_t* dialog); + void setOrUpdateDialog (belle_sip_dialog_t *dialog); + belle_sip_dialog_t *linkOpWithDialog (belle_sip_dialog_t *dialog); + void unlinkOpFromDialog (belle_sip_dialog_t *dialog); - SalBodyHandler *get_body_handler(belle_sip_message_t *msg); + SalBodyHandler *getBodyHandler (belle_sip_message_t *message); - void assign_recv_headers(belle_sip_message_t *incoming); + void assignRecvHeaders (belle_sip_message_t *message); - bool_t is_secure() const; - void add_headers(belle_sip_header_t *h, belle_sip_message_t *msg); - void add_custom_headers(belle_sip_message_t *msg); - int unsubscribe(); + bool_t isSecure () const; + void addHeaders (belle_sip_header_t *h, belle_sip_message_t *message); + void addCustomHeaders (belle_sip_message_t *message); + int unsubscribe (); - void process_incoming_message(const belle_sip_request_event_t *event); - int reply_message(SalReason reason); - void add_message_accept(belle_sip_message_t *msg); - static bool_t is_external_body(belle_sip_header_content_type_t* content_type); + void processIncomingMessage (const belle_sip_request_event_t *event); + int replyMessage (SalReason reason); + void addMessageAccept (belle_sip_message_t *message); - static void assign_address(SalAddress** address, const char *value); - static void assign_string(char **str, const char *arg); - static void add_initial_route_set(belle_sip_request_t *request, const MSList *list); + static bool_t isExternalBody (belle_sip_header_content_type_t* contentType); + + static void assignAddress (SalAddress **address, const char *value); + static void assignString (char **str, const char *arg); + static void addInitialRouteSet (belle_sip_request_t *request, const MSList *list); // SalOpBase - Sal *root = NULL; - char *route = NULL; /*or request-uri for REGISTER*/ - MSList* route_addresses = NULL; /*list of SalAddress* */ - SalAddress* contact_address = NULL; - char *subject = NULL; - char *from = NULL; - SalAddress* from_address = NULL; - char *to = NULL; - SalAddress* to_address = NULL; - char *origin = NULL; - SalAddress* origin_address = NULL; - SalAddress* diversion_address = NULL; - char *remote_ua = NULL; - SalAddress* remote_contact_address = NULL; - char *remote_contact = NULL; - void *user_pointer = NULL; - char* call_id = NULL; - char* realm = NULL; - SalAddress* service_route = NULL; /*as defined by rfc3608, might be a list*/ - SalCustomHeader *sent_custom_headers = NULL; - SalCustomHeader *recv_custom_headers = NULL; - char* entity_tag = NULL; /*as defined by rfc3903 (I.E publih)*/ - ReleaseCb release_cb = NULL; + Sal *mRoot = nullptr; + char *mRoute = nullptr; // Or request-uri for REGISTER + MSList *mRouteAddresses = nullptr; // List of SalAddress * + SalAddress *mContactAddress = nullptr; + char *mSubject = nullptr; + char *mFrom = nullptr; + SalAddress* mFromAddress = nullptr; + char *mTo = nullptr; + SalAddress *mToAddress = nullptr; + char *mOrigin = nullptr; + SalAddress *mOriginAddress = nullptr; + SalAddress *mDiversionAddress = nullptr; + char *mRemoteUserAgent = nullptr; + SalAddress *mRemoteContactAddress = nullptr; + char *mRemoteContact = nullptr; + void *mUserPointer = nullptr; + char *mCallId = nullptr; + char *mRealm = nullptr; + SalAddress *mServiceRoute = nullptr; // As defined by rfc3608, might be a list + SalCustomHeader *mSentCustomHeaders = nullptr; + SalCustomHeader *mRecvCustomHeaders = nullptr; + char *mEntityTag = nullptr; // As defined by rfc3903 (I.E publih) + ReleaseCb mReleaseCb = nullptr; - // BelleSip implementation - const belle_sip_listener_callbacks_t *callbacks = NULL; - SalErrorInfo error_info; - SalErrorInfo reason_error_info; - belle_sip_client_transaction_t *pending_auth_transaction = NULL; - belle_sip_server_transaction_t* pending_server_trans = NULL; - belle_sip_server_transaction_t* pending_update_server_trans = NULL; - belle_sip_client_transaction_t* pending_client_trans = NULL; - SalAuthInfo* auth_info = NULL; - belle_sip_dialog_t* dialog = NULL; - belle_sip_header_replaces_t *replaces = NULL; - belle_sip_header_referred_by_t *referred_by = NULL; - SalMediaDescription *result = NULL; - belle_sdp_session_description_t *sdp_answer = NULL; - State state = State::Early; - Dir dir = Dir::Incoming; - belle_sip_refresher_t* refresher = NULL; - int _ref = 0; - Type type = Type::Unknown; - SalPrivacyMask privacy = SalPrivacyNone; - belle_sip_header_event_t *event = NULL; /*used by SalOpSubscribe kinds*/ - SalOpSDPHandling sdp_handling = SalOpSDPNormal; - int auth_requests = 0; /*number of auth requested for this op*/ - bool_t _cnx_ip_to_0000_if_sendonly_enabled = FALSE; - bool_t auto_answer_asked = FALSE; - bool_t sdp_offering = FALSE; - bool_t call_released = FALSE; - bool_t manual_refresher = FALSE; - bool_t has_auth_pending = FALSE; - bool_t supports_session_timers = FALSE; - bool_t op_released = FALSE; + const belle_sip_listener_callbacks_t *mCallbacks = nullptr; + SalErrorInfo mErrorInfo; + SalErrorInfo mReasonErrorInfo; + belle_sip_client_transaction_t *mPendingAuthTransaction = nullptr; + belle_sip_server_transaction_t *mPendingServerTransaction = nullptr; + belle_sip_server_transaction_t *mPendingUpdateServerTransaction = nullptr; + belle_sip_client_transaction_t *mPendingClientTransaction = nullptr; + SalAuthInfo *mAuthInfo = nullptr; + belle_sip_dialog_t *mDialog = nullptr; + belle_sip_header_replaces_t *mReplaces = nullptr; + belle_sip_header_referred_by_t *mReferredBy = nullptr; + SalMediaDescription *mResult = nullptr; + belle_sdp_session_description_t *mSdpAnswer = nullptr; + State mState = State::Early; + Dir mDir = Dir::Incoming; + belle_sip_refresher_t *mRefresher = nullptr; + int mRef = 0; + Type mType = Type::Unknown; + SalPrivacyMask mPrivacy = SalPrivacyNone; + belle_sip_header_event_t *mEvent = nullptr; // Used by SalOpSubscribe kinds + SalOpSDPHandling mSdpHandling = SalOpSDPNormal; + int mAuthRequests = 0; // number of auth requested for this op + bool_t mCnxIpTo0000IfSendOnlyEnabled = FALSE; + bool_t mAutoAnswerAsked = FALSE; + bool_t mSdpOffering = FALSE; + bool_t mCallReleased = FALSE; + bool_t mManualRefresher = FALSE; + bool_t mHasAuthPending = FALSE; + bool_t mSupportsSessionTimers = FALSE; + bool_t mOpReleased = FALSE; friend class Sal; }; diff --git a/src/sal/presence-op.cpp b/src/sal/presence-op.cpp index 641352506..9425dc20b 100644 --- a/src/sal/presence-op.cpp +++ b/src/sal/presence-op.cpp @@ -23,7 +23,7 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -void SalPresenceOp::presence_process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event) { +void SalPresenceOp::presenceProcessIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event) { SalPresenceOp * op = (SalPresenceOp *)user_ctx; belle_sip_request_t* request; belle_sip_client_transaction_t* client_transaction = NULL; @@ -38,32 +38,32 @@ void SalPresenceOp::presence_process_io_error_cb(void *user_ctx, const belle_sip request = belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(client_transaction)); if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0){ - if (op->refresher){ + if (op->mRefresher){ ms_warning("presence_process_io_error() refresher is present, should not happen"); return; } - ms_message("subscription to [%s] io error",op->get_to()); - if (!op->op_released){ - op->root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ + ms_message("subscription to [%s] io error",op->getTo()); + if (!op->mOpReleased){ + op->mRoot->mCallbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ } } } -void SalPresenceOp::presence_refresher_listener_cb(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry) { +void SalPresenceOp::presenceRefresherListenerCb(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry) { SalPresenceOp * op = (SalPresenceOp *)user_pointer; if (status_code >= 300) { ms_message("The SUBSCRIBE dialog no longer works. Let's restart a new one."); - belle_sip_refresher_stop(op->refresher); - if (op->dialog) { /*delete previous dialog if any*/ - op->set_or_update_dialog(NULL); + belle_sip_refresher_stop(op->mRefresher); + if (op->mDialog) { /*delete previous dialog if any*/ + op->setOrUpdateDialog(NULL); } - if (op->get_contact_address()) { + if (op->getContactAddress()) { /*contact is also probably not good*/ - SalAddress* contact=sal_address_clone(op->get_contact_address()); + SalAddress* contact=sal_address_clone(op->getContactAddress()); sal_address_set_port(contact,-1); sal_address_set_domain(contact,NULL); - op->set_contact_address(contact); + op->setContactAddress(contact); sal_address_destroy(contact); } /*send a new SUBSCRIBE, that will attempt to establish a new dialog*/ @@ -71,13 +71,13 @@ void SalPresenceOp::presence_refresher_listener_cb(belle_sip_refresher_t* refres } if (status_code == 0 || status_code == 503){ /*timeout or io error: the remote doesn't seem reachable.*/ - if (!op->op_released){ - op->root->callbacks.notify_presence(op,SalSubscribeActive, NULL,NULL); /*NULL = offline*/ + if (!op->mOpReleased){ + op->mRoot->mCallbacks.notify_presence(op,SalSubscribeActive, NULL,NULL); /*NULL = offline*/ } } } -void SalPresenceOp::presence_response_event_cb(void *op_base, const belle_sip_response_event_t *event) { +void SalPresenceOp::presenceResponseEventCb(void *op_base, const belle_sip_response_event_t *event) { SalPresenceOp * op = (SalPresenceOp *)op_base; belle_sip_dialog_state_t dialog_state; belle_sip_client_transaction_t* client_transaction = belle_sip_response_event_get_client_transaction(event); @@ -86,23 +86,23 @@ void SalPresenceOp::presence_response_event_cb(void *op_base, const belle_sip_re int code = belle_sip_response_get_status_code(response); belle_sip_header_expires_t* expires; - op->set_error_info_from_response(response); + op->setErrorInfoFromResponse(response); if (code>=300) { if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0){ - ms_message("subscription to [%s] rejected",op->get_to()); - if (!op->op_released){ - op->root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ + ms_message("subscription to [%s] rejected",op->getTo()); + if (!op->mOpReleased){ + op->mRoot->mCallbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ } return; } } - op->set_or_update_dialog(belle_sip_response_event_get_dialog(event)); - if (!op->dialog) { + op->setOrUpdateDialog(belle_sip_response_event_get_dialog(event)); + if (!op->mDialog) { ms_message("presence op [%p] receive out of dialog answer [%i]",op,code); return; } - dialog_state=belle_sip_dialog_get_state(op->dialog); + dialog_state=belle_sip_dialog_get_state(op->mDialog); switch(dialog_state) { case BELLE_SIP_DIALOG_NULL: @@ -113,15 +113,15 @@ void SalPresenceOp::presence_response_event_cb(void *op_base, const belle_sip_re case BELLE_SIP_DIALOG_CONFIRMED: { if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0) { expires=belle_sip_message_get_header_by_type(request,belle_sip_header_expires_t); - if(op->refresher) { - belle_sip_refresher_stop(op->refresher); - belle_sip_object_unref(op->refresher); - op->refresher=NULL; + if(op->mRefresher) { + belle_sip_refresher_stop(op->mRefresher); + belle_sip_object_unref(op->mRefresher); + op->mRefresher=NULL; } if ((expires != NULL) && (belle_sip_header_expires_get_expires(expires) > 0)) { - op->refresher=belle_sip_client_transaction_create_refresher(client_transaction); - belle_sip_refresher_set_listener(op->refresher,presence_refresher_listener_cb,op); - belle_sip_refresher_set_realm(op->refresher,op->realm); + op->mRefresher=belle_sip_client_transaction_create_refresher(client_transaction); + belle_sip_refresher_set_listener(op->mRefresher,presenceRefresherListenerCb,op); + belle_sip_refresher_set_realm(op->mRefresher,op->mRealm); } } break; @@ -133,7 +133,7 @@ void SalPresenceOp::presence_response_event_cb(void *op_base, const belle_sip_re } } -void SalPresenceOp::presence_process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void SalPresenceOp::presenceProcessTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { SalPresenceOp * op = (SalPresenceOp *)user_ctx; belle_sip_client_transaction_t* client_transaction = belle_sip_timeout_event_get_client_transaction(event); belle_sip_request_t* request; @@ -143,18 +143,18 @@ void SalPresenceOp::presence_process_timeout_cb(void *user_ctx, const belle_sip_ request = belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(client_transaction)); if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0){ - ms_message("subscription to [%s] timeout",op->get_to()); - if (!op->op_released){ - op->root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ + ms_message("subscription to [%s] timeout",op->getTo()); + if (!op->mOpReleased){ + op->mRoot->mCallbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ } } } -void SalPresenceOp::presence_process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { +void SalPresenceOp::presenceProcessTransactionTerminatedCb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { ms_message("presence_process_transaction_terminated not implemented yet"); } -SalPresenceModel *SalPresenceOp::process_presence_notification(belle_sip_request_t *req) { +SalPresenceModel *SalPresenceOp::processPresenceNotification(belle_sip_request_t *req) { belle_sip_header_content_type_t *content_type = belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req), belle_sip_header_content_type_t); belle_sip_header_content_length_t *content_length = belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req), belle_sip_header_content_length_t); const char *body = belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)); @@ -166,8 +166,8 @@ SalPresenceModel *SalPresenceOp::process_presence_notification(belle_sip_request return NULL; if (body==NULL) return NULL; - if (!this->op_released){ - this->root->callbacks.parse_presence_requested(this, + if (!mOpReleased){ + mRoot->mCallbacks.parse_presence_requested(this, belle_sip_header_content_type_get_type(content_type), belle_sip_header_content_type_get_subtype(content_type), body, @@ -177,9 +177,9 @@ SalPresenceModel *SalPresenceOp::process_presence_notification(belle_sip_request return result; } -void SalPresenceOp::handle_notify(belle_sip_request_t *req, belle_sip_dialog_t *dialog) { +void SalPresenceOp::handleNotify(belle_sip_request_t *req, belle_sip_dialog_t *dialog) { belle_sip_response_t* resp=NULL; - belle_sip_server_transaction_t* server_transaction= this->pending_server_trans; + belle_sip_server_transaction_t* server_transaction= mPendingServerTransaction; belle_sip_header_subscription_state_t* subscription_state_header=belle_sip_message_get_header_by_type(req,belle_sip_header_subscription_state_t); SalSubscribeStatus sub_state; @@ -187,100 +187,100 @@ void SalPresenceOp::handle_notify(belle_sip_request_t *req, belle_sip_dialog_t * SalPresenceModel *presence_model = NULL; const char* body = belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)); - if (this->dialog !=NULL && dialog != this->dialog){ - ms_warning("Receiving a NOTIFY from a dialog we haven't stored (op->dialog=%p dialog=%p)", this->dialog, dialog); + if (mDialog !=NULL && dialog != mDialog){ + ms_warning("Receiving a NOTIFY from a dialog we haven't stored (op->dialog=%p dialog=%p)", mDialog, dialog); } if (!subscription_state_header || strcasecmp(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,belle_sip_header_subscription_state_get_state(subscription_state_header)) ==0) { sub_state=SalSubscribeTerminated; - ms_message("Outgoing subscription terminated by remote [%s]",get_to()); + ms_message("Outgoing subscription terminated by remote [%s]",getTo()); } else { - sub_state=belle_sip_message_get_subscription_state(BELLE_SIP_MESSAGE(req)); + sub_state=getSubscriptionState(BELLE_SIP_MESSAGE(req)); } - presence_model = process_presence_notification(req); + presence_model = processPresenceNotification(req); if (presence_model != NULL || body==NULL) { /* Presence notification body parsed successfully. */ - resp = create_response_from_request(req, 200); /*create first because the op may be destroyed by notify_presence */ - if (!this->op_released){ - this->root->callbacks.notify_presence(this, sub_state, presence_model, NULL); + resp = createResponseFromRequest(req, 200); /*create first because the op may be destroyed by notify_presence */ + if (!mOpReleased){ + mRoot->mCallbacks.notify_presence(this, sub_state, presence_model, NULL); } } else if (body){ /* Formatting error in presence notification body. */ ms_warning("Wrongly formatted presence document."); - resp = create_response_from_request(req, 488); + resp = createResponseFromRequest(req, 488); } if (resp) belle_sip_server_transaction_send_response(server_transaction,resp); } } -void SalPresenceOp::presence_process_request_event_cb(void *op_base, const belle_sip_request_event_t *event) { +void SalPresenceOp::presenceProcessRequestEventCb(void *op_base, const belle_sip_request_event_t *event) { SalPresenceOp * op = (SalPresenceOp *)op_base; - belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(op->root->prov,belle_sip_request_event_get_request(event)); + belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(op->mRoot->mProvider,belle_sip_request_event_get_request(event)); belle_sip_request_t* req = belle_sip_request_event_get_request(event); belle_sip_dialog_state_t dialog_state; belle_sip_response_t* resp; const char *method=belle_sip_request_get_method(req); belle_sip_header_event_t *event_header; belle_sip_object_ref(server_transaction); - if (op->pending_server_trans) belle_sip_object_unref(op->pending_server_trans); - op->pending_server_trans=server_transaction; + if (op->mPendingServerTransaction) belle_sip_object_unref(op->mPendingServerTransaction); + op->mPendingServerTransaction=server_transaction; event_header=belle_sip_message_get_header_by_type(req,belle_sip_header_event_t); if (event_header==NULL){ ms_warning("No event header in incoming SUBSCRIBE."); - resp=op->create_response_from_request(req,400); + resp=op->createResponseFromRequest(req,400); belle_sip_server_transaction_send_response(server_transaction,resp); - if (!op->dialog) op->release(); + if (!op->mDialog) op->release(); return; } - if (op->event==NULL) { - op->event=event_header; - belle_sip_object_ref(op->event); + if (op->mEvent==NULL) { + op->mEvent=event_header; + belle_sip_object_ref(op->mEvent); } - if (!op->dialog) { + if (!op->mDialog) { if (strcmp(method,"SUBSCRIBE")==0){ - belle_sip_dialog_t *dialog = belle_sip_provider_create_dialog(op->root->prov,BELLE_SIP_TRANSACTION(server_transaction)); + belle_sip_dialog_t *dialog = belle_sip_provider_create_dialog(op->mRoot->mProvider,BELLE_SIP_TRANSACTION(server_transaction)); if (!dialog){ - resp=op->create_response_from_request(req,481); + resp=op->createResponseFromRequest(req,481); belle_sip_server_transaction_send_response(server_transaction,resp); op->release(); return; } - op->set_or_update_dialog(dialog); - ms_message("new incoming subscription from [%s] to [%s]",op->get_from(),op->get_to()); + op->setOrUpdateDialog(dialog); + ms_message("new incoming subscription from [%s] to [%s]",op->getFrom(),op->getTo()); }else if (strcmp(method,"NOTIFY")==0 && belle_sip_request_event_get_dialog(event)) { /*special case of dialog created by notify matching subscribe*/ - op->set_or_update_dialog(belle_sip_request_event_get_dialog(event)); + op->setOrUpdateDialog(belle_sip_request_event_get_dialog(event)); } else {/* this is a NOTIFY */ ms_message("Receiving out of dialog notify"); - op->handle_notify(req, belle_sip_request_event_get_dialog(event)); + op->handleNotify(req, belle_sip_request_event_get_dialog(event)); return; } } - dialog_state=belle_sip_dialog_get_state(op->dialog); + dialog_state=belle_sip_dialog_get_state(op->mDialog); switch(dialog_state) { case BELLE_SIP_DIALOG_NULL: { if (strcmp("NOTIFY",method)==0) { - op->handle_notify(req, belle_sip_request_event_get_dialog(event)); + op->handleNotify(req, belle_sip_request_event_get_dialog(event)); } else if (strcmp("SUBSCRIBE",method)==0) { - op->root->callbacks.subscribe_presence_received(op,op->get_from()); + op->mRoot->mCallbacks.subscribe_presence_received(op,op->getFrom()); } break; } case BELLE_SIP_DIALOG_EARLY: - ms_error("unexpected method [%s] for dialog [%p] in state BELLE_SIP_DIALOG_EARLY ",method,op->dialog); + ms_error("unexpected method [%s] for dialog [%p] in state BELLE_SIP_DIALOG_EARLY ",method,op->mDialog); break; case BELLE_SIP_DIALOG_CONFIRMED: if (strcmp("NOTIFY",method)==0) { - op->handle_notify(req, belle_sip_request_event_get_dialog(event)); + op->handleNotify(req, belle_sip_request_event_get_dialog(event)); } else if (strcmp("SUBSCRIBE",method)==0) { /*either a refresh or an unsubscribe. If it is a refresh there is nothing to notify to the app. If it is an unSUBSCRIBE, then the dialog will be terminated shortly, and this will be notified to the app through the dialog_terminated callback.*/ - resp=op->create_response_from_request(req,200); + resp=op->createResponseFromRequest(req,200); belle_sip_server_transaction_send_response(server_transaction,resp); } break; @@ -290,78 +290,78 @@ void SalPresenceOp::presence_process_request_event_cb(void *op_base, const belle } } -void SalPresenceOp::presence_process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { +void SalPresenceOp::presenceProcessDialogTerminatedCb(void *ctx, const belle_sip_dialog_terminated_event_t *event) { SalPresenceOp * op= (SalPresenceOp *)ctx; - if (op->dialog && belle_sip_dialog_is_server(op->dialog)) { - ms_message("Incoming subscribtion from [%s] terminated",op->get_from()); - if (!op->op_released){ - op->root->callbacks.subscribe_presence_closed(op, op->get_from()); + if (op->mDialog && belle_sip_dialog_is_server(op->mDialog)) { + ms_message("Incoming subscribtion from [%s] terminated",op->getFrom()); + if (!op->mOpReleased){ + op->mRoot->mCallbacks.subscribe_presence_closed(op, op->getFrom()); } - op->set_or_update_dialog(NULL); + op->setOrUpdateDialog(NULL); }/* else client dialog is managed by refresher*/ } -void SalPresenceOp::_release_cb(SalOp *op_base) { +void SalPresenceOp::releaseCb(SalOp *op_base) { SalPresenceOp *op =(SalPresenceOp *)op_base; - if(op->refresher) { - belle_sip_refresher_stop(op->refresher); - belle_sip_object_unref(op->refresher); - op->refresher=NULL; - op->set_or_update_dialog(NULL); /*only if we have refresher. else dialog terminated event will remove association*/ + if(op->mRefresher) { + belle_sip_refresher_stop(op->mRefresher); + belle_sip_object_unref(op->mRefresher); + op->mRefresher=NULL; + op->setOrUpdateDialog(NULL); /*only if we have refresher. else dialog terminated event will remove association*/ } } -void SalPresenceOp::fill_cbs() { +void SalPresenceOp::fillCallbacks() { static belle_sip_listener_callbacks_t op_presence_callbacks={0}; if (op_presence_callbacks.process_request_event==NULL){ - op_presence_callbacks.process_io_error=presence_process_io_error_cb; - op_presence_callbacks.process_response_event=presence_response_event_cb; - op_presence_callbacks.process_timeout= presence_process_timeout_cb; - op_presence_callbacks.process_transaction_terminated=presence_process_transaction_terminated_cb; - op_presence_callbacks.process_request_event=presence_process_request_event_cb; - op_presence_callbacks.process_dialog_terminated=presence_process_dialog_terminated_cb; + op_presence_callbacks.process_io_error=presenceProcessIoErrorCb; + op_presence_callbacks.process_response_event=presenceResponseEventCb; + op_presence_callbacks.process_timeout= presenceProcessTimeoutCb; + op_presence_callbacks.process_transaction_terminated=presenceProcessTransactionTerminatedCb; + op_presence_callbacks.process_request_event=presenceProcessRequestEventCb; + op_presence_callbacks.process_dialog_terminated=presenceProcessDialogTerminatedCb; } - this->callbacks=&op_presence_callbacks; - this->type=Type::Presence; - this->release_cb=_release_cb; + mCallbacks=&op_presence_callbacks; + mType=Type::Presence; + mReleaseCb=releaseCb; } int SalPresenceOp::subscribe(const char *from, const char *to, int expires) { belle_sip_request_t *req=NULL; if (from) - set_from(from); + setFrom(from); if (to) - set_to(to); + setTo(to); - fill_cbs(); + fillCallbacks(); if (expires==-1){ - if (this->refresher){ - expires=belle_sip_refresher_get_expires(this->refresher); - belle_sip_object_unref(this->refresher); - this->refresher=NULL; + if (mRefresher){ + expires=belle_sip_refresher_get_expires(mRefresher); + belle_sip_object_unref(mRefresher); + mRefresher=NULL; }else{ ms_error("sal_subscribe_presence(): cannot guess expires from previous refresher."); return -1; } } - if (!this->event){ - this->event=belle_sip_header_event_create("presence"); - belle_sip_object_ref(this->event); + if (!mEvent){ + mEvent=belle_sip_header_event_create("presence"); + belle_sip_object_ref(mEvent); } - belle_sip_parameters_remove_parameter(BELLE_SIP_PARAMETERS(this->from_address),"tag"); - belle_sip_parameters_remove_parameter(BELLE_SIP_PARAMETERS(this->to_address),"tag"); - req=build_request("SUBSCRIBE"); + belle_sip_parameters_remove_parameter(BELLE_SIP_PARAMETERS(mFromAddress),"tag"); + belle_sip_parameters_remove_parameter(BELLE_SIP_PARAMETERS(mToAddress),"tag"); + req=buildRequest("SUBSCRIBE"); if( req ){ - belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(this->event)); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(mEvent)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_expires_create(expires))); } - return send_request(req); + return sendRequest(req); } -int SalPresenceOp::check_dialog_state() { - belle_sip_dialog_state_t state= this->dialog?belle_sip_dialog_get_state(this->dialog): BELLE_SIP_DIALOG_NULL; +int SalPresenceOp::checkDialogState() { + belle_sip_dialog_state_t state= mDialog?belle_sip_dialog_get_state(mDialog): BELLE_SIP_DIALOG_NULL; if (state != BELLE_SIP_DIALOG_CONFIRMED) { ms_warning("Cannot notify presence for op [%p] because dialog in state [%s]", this, belle_sip_dialog_state_to_string(state)); return -1; @@ -369,15 +369,15 @@ int SalPresenceOp::check_dialog_state() { return 0; } -belle_sip_request_t *SalPresenceOp::create_presence_notify() { - belle_sip_request_t* notify=belle_sip_dialog_create_queued_request(this->dialog,"NOTIFY"); +belle_sip_request_t *SalPresenceOp::createPresenceNotify() { + belle_sip_request_t* notify=belle_sip_dialog_create_queued_request(mDialog,"NOTIFY"); if (!notify) return NULL; belle_sip_message_add_header((belle_sip_message_t*)notify,belle_sip_header_create("Event","presence")); return notify; } -void SalPresenceOp::add_presence_info(belle_sip_message_t *notify, SalPresenceModel *presence) { +void SalPresenceOp::addPresenceInfo(belle_sip_message_t *notify, SalPresenceModel *presence) { char *contact_info; char *content = NULL; size_t content_length; @@ -385,7 +385,7 @@ void SalPresenceOp::add_presence_info(belle_sip_message_t *notify, SalPresenceMo if (presence){ belle_sip_header_from_t *from=belle_sip_message_get_header_by_type(notify,belle_sip_header_from_t); contact_info=belle_sip_uri_to_string(belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(from))); - this->root->callbacks.convert_presence_to_xml_requested(this, presence, contact_info, &content); + mRoot->mCallbacks.convert_presence_to_xml_requested(this, presence, contact_info, &content); belle_sip_free(contact_info); if (content == NULL) return; } @@ -404,38 +404,38 @@ void SalPresenceOp::add_presence_info(belle_sip_message_t *notify, SalPresenceMo } } -int SalPresenceOp::notify_presence(SalPresenceModel *presence) { +int SalPresenceOp::notifyPresence(SalPresenceModel *presence) { belle_sip_request_t* notify=NULL; - if (check_dialog_state()) { + if (checkDialogState()) { return -1; } - notify=create_presence_notify(); + notify=createPresenceNotify(); if (!notify) return-1; - add_presence_info(BELLE_SIP_MESSAGE(notify),presence); /*FIXME, what about expires ??*/ + addPresenceInfo(BELLE_SIP_MESSAGE(notify),presence); /*FIXME, what about expires ??*/ belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) ,BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_ACTIVE,600))); - return send_request(notify); + return sendRequest(notify); } -int SalPresenceOp::notify_presence_close() { +int SalPresenceOp::notifyPresenceClose() { belle_sip_request_t* notify=NULL; int status; - if (check_dialog_state()) { + if (checkDialogState()) { return -1; } - notify=create_presence_notify(); + notify=createPresenceNotify(); if (!notify) return-1; - add_presence_info(BELLE_SIP_MESSAGE(notify),NULL); /*FIXME, what about expires ??*/ + addPresenceInfo(BELLE_SIP_MESSAGE(notify),NULL); /*FIXME, what about expires ??*/ belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) ,BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,-1))); - status = send_request(notify); - set_or_update_dialog(NULL); /*because we may be chalanged for the notify, so we must release dialog right now*/ + status = sendRequest(notify); + setOrUpdateDialog(NULL); /*because we may be chalanged for the notify, so we must release dialog right now*/ return status; } -SalSubscribeStatus SalPresenceOp::belle_sip_message_get_subscription_state(const belle_sip_message_t *msg) { +SalSubscribeStatus SalPresenceOp::getSubscriptionState(const belle_sip_message_t *msg) { belle_sip_header_subscription_state_t* subscription_state_header=belle_sip_message_get_header_by_type(msg,belle_sip_header_subscription_state_t); SalSubscribeStatus sss=SalSubscribeNone; if (subscription_state_header){ diff --git a/src/sal/presence-op.h b/src/sal/presence-op.h index d0cf26b9a..72e5238a5 100644 --- a/src/sal/presence-op.h +++ b/src/sal/presence-op.h @@ -24,33 +24,33 @@ LINPHONE_BEGIN_NAMESPACE -class SalPresenceOp: public SalSubscribeOp { +class SalPresenceOp : public SalSubscribeOp { public: - SalPresenceOp(Sal *sal): SalSubscribeOp(sal) {} + SalPresenceOp (Sal *sal) : SalSubscribeOp(sal) {} - int subscribe(const char *from, const char *to, int expires); - int unsubscribe() {return SalOp::unsubscribe();} - int notify_presence(SalPresenceModel *presence); - int notify_presence_close(); + int subscribe (const char *from, const char *to, int expires); + int unsubscribe () { return SalOp::unsubscribe(); } + int notifyPresence (SalPresenceModel *presence); + int notifyPresenceClose (); private: - virtual void fill_cbs() override; - void handle_notify(belle_sip_request_t *req, belle_sip_dialog_t *dialog); - SalPresenceModel * process_presence_notification(belle_sip_request_t *req); - int check_dialog_state(); - belle_sip_request_t *create_presence_notify(); - void add_presence_info(belle_sip_message_t *notify, SalPresenceModel *presence); + virtual void fillCallbacks () override; + void handleNotify (belle_sip_request_t *request, belle_sip_dialog_t *dialog); + SalPresenceModel *processPresenceNotification (belle_sip_request_t *request); + int checkDialogState (); + belle_sip_request_t *createPresenceNotify (); + void addPresenceInfo (belle_sip_message_t *notify, SalPresenceModel *presence); - static SalSubscribeStatus belle_sip_message_get_subscription_state(const belle_sip_message_t *msg); + static SalSubscribeStatus getSubscriptionState (const belle_sip_message_t *message); - static void presence_process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static void presence_response_event_cb(void *op_base, const belle_sip_response_event_t *event); - static void presence_refresher_listener_cb(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry); - static void presence_process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void presence_process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event); - static void presence_process_request_event_cb(void *op_base, const belle_sip_request_event_t *event); - static void presence_process_dialog_terminated_cb(void *ctx, const belle_sip_dialog_terminated_event_t *event); - static void _release_cb(SalOp *op_base); + static void presenceProcessIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static void presenceResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void presenceRefresherListenerCb (belle_sip_refresher_t *refresher, void *userCtx, unsigned int statusCode, const char *reasonPhrase, int willRetry); + static void presenceProcessTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void presenceProcessTransactionTerminatedCb (void *userCtx, const belle_sip_transaction_terminated_event_t *event); + static void presenceProcessRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); + static void presenceProcessDialogTerminatedCb (void *userCtx, const belle_sip_dialog_terminated_event_t *event); + static void releaseCb (SalOp *op); }; LINPHONE_END_NAMESPACE diff --git a/src/sal/refer-op.cpp b/src/sal/refer-op.cpp index 6cc1b34b1..93d36e1dd 100644 --- a/src/sal/refer-op.cpp +++ b/src/sal/refer-op.cpp @@ -23,38 +23,38 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -void SalReferOp::process_error() { - this->state=State::Terminated; +void SalReferOp::processError() { + mState=State::Terminated; } -void SalReferOp::process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event) { +void SalReferOp::processIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event) { SalReferOp * op = (SalReferOp *)user_ctx; - sal_error_info_set(&op->error_info,SalReasonIOError, "SIP", 503,"IO Error",NULL); - op->process_error(); + sal_error_info_set(&op->mErrorInfo,SalReasonIOError, "SIP", 503,"IO Error",NULL); + op->processError(); } -void SalReferOp::process_response_event_cb(void *op_base, const belle_sip_response_event_t *event) { +void SalReferOp::processResponseEventCb(void *op_base, const belle_sip_response_event_t *event) { SalReferOp * op = (SalReferOp *)op_base; - op->set_error_info_from_response(belle_sip_response_event_get_response(event)); + op->setErrorInfoFromResponse(belle_sip_response_event_get_response(event)); /*the response is not notified to the app*/ /*To be done when necessary*/ } -void SalReferOp::process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void SalReferOp::processTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { SalReferOp * op=(SalReferOp *)user_ctx; - sal_error_info_set(&op->error_info,SalReasonRequestTimeout, "SIP", 408,"Request timeout",NULL); - op->process_error(); + sal_error_info_set(&op->mErrorInfo,SalReasonRequestTimeout, "SIP", 408,"Request timeout",NULL); + op->processError(); } -void SalReferOp::process_request_event_cb(void *op_base, const belle_sip_request_event_t *event) { +void SalReferOp::processRequestEventCb(void *op_base, const belle_sip_request_event_t *event) { SalReferOp * op = (SalReferOp *)op_base; belle_sip_request_t *req = belle_sip_request_event_get_request(event); belle_sip_header_refer_to_t *refer_to= belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_refer_to_t); - belle_sip_server_transaction_t *server_transaction = belle_sip_provider_create_server_transaction(op->root->prov,belle_sip_request_event_get_request(event)); + belle_sip_server_transaction_t *server_transaction = belle_sip_provider_create_server_transaction(op->mRoot->mProvider,belle_sip_request_event_get_request(event)); belle_sip_object_ref(server_transaction); belle_sip_transaction_set_application_data(BELLE_SIP_TRANSACTION(server_transaction),op->ref()); - op->pending_server_trans = server_transaction; + op->mPendingServerTransaction = server_transaction; if (!refer_to){ ms_warning("cannot do anything with the refer without destination"); @@ -63,49 +63,49 @@ void SalReferOp::process_request_event_cb(void *op_base, const belle_sip_request return; } SalAddress *referToAddr = sal_address_new(belle_sip_header_get_unparsed_value(BELLE_SIP_HEADER(refer_to))); - op->root->callbacks.refer_received(op, referToAddr); + op->mRoot->mCallbacks.refer_received(op, referToAddr); /*the app is expected to reply in the callback*/ sal_address_unref(referToAddr); op->unref(); } -void SalReferOp::fill_cbs() { +void SalReferOp::fillCallbacks() { static belle_sip_listener_callbacks_t op_refer_callbacks = {0}; if (op_refer_callbacks.process_io_error==NULL) { - op_refer_callbacks.process_io_error=process_io_error_cb; - op_refer_callbacks.process_response_event=process_response_event_cb; - op_refer_callbacks.process_timeout=process_timeout_cb; - op_refer_callbacks.process_request_event=process_request_event_cb; + op_refer_callbacks.process_io_error=processIoErrorCb; + op_refer_callbacks.process_response_event=processResponseEventCb; + op_refer_callbacks.process_timeout=processTimeoutCb; + op_refer_callbacks.process_request_event=processRequestEventCb; } - this->callbacks=&op_refer_callbacks; - this->type=Type::Refer; + mCallbacks=&op_refer_callbacks; + mType=Type::Refer; } SalReferOp::SalReferOp(Sal *sal) : SalOp(sal){ - fill_cbs(); + fillCallbacks(); } -int SalReferOp::send_refer(const SalAddress *refer_to) { - this->dir=Dir::Outgoing; +int SalReferOp::sendRefer(const SalAddress *refer_to) { + mDir=Dir::Outgoing; - belle_sip_request_t* req=build_request("REFER"); + belle_sip_request_t* req=buildRequest("REFER"); if (req == NULL ) return -1; - if (get_contact_address()) belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(create_contact())); + if (getContactAddress()) belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(createContact())); belle_sip_header_address_t *address = BELLE_SIP_HEADER_ADDRESS(refer_to); belle_sip_uri_t *uri = belle_sip_header_address_get_uri(address); if (!belle_sip_uri_get_host(uri)) belle_sip_header_address_set_automatic(address, true); belle_sip_header_refer_to_t *refer_to_header = belle_sip_header_refer_to_create(address); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req), BELLE_SIP_HEADER(refer_to_header)); - return send_request(req); + return sendRequest(req); } int SalReferOp::reply(SalReason reason){ - if (this->pending_server_trans){ + if (mPendingServerTransaction){ int code=to_sip_code(reason); belle_sip_response_t *resp = belle_sip_response_create_from_request( - belle_sip_transaction_get_request((belle_sip_transaction_t*)this->pending_server_trans),code); - belle_sip_server_transaction_send_response(this->pending_server_trans,resp); + belle_sip_transaction_get_request((belle_sip_transaction_t*)mPendingServerTransaction),code); + belle_sip_server_transaction_send_response(mPendingServerTransaction,resp); return 0; }else ms_error("SalReferOp::reply: no server transaction"); return -1; diff --git a/src/sal/refer-op.h b/src/sal/refer-op.h index c69b4e362..74300e7f9 100644 --- a/src/sal/refer-op.h +++ b/src/sal/refer-op.h @@ -24,23 +24,23 @@ LINPHONE_BEGIN_NAMESPACE -class SalReferOp: public SalOp{ +class SalReferOp : public SalOp { public: - SalReferOp(Sal *sal); + SalReferOp (Sal *sal); - int send_refer(const SalAddress *refer_to); - int reply(SalReason reason); + int sendRefer (const SalAddress *referTo); + int reply (SalReason reason); private: - virtual void fill_cbs() override; - void process_error(); + virtual void fillCallbacks () override; + void processError (); - static void process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static void process_response_event_cb(void *op_base, const belle_sip_response_event_t *event); - static void process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void process_request_event_cb(void *op_base, const belle_sip_request_event_t *event); + static void processIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static void processResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void processTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void processRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); }; LINPHONE_END_NAMESPACE -#endif // ifndef _L_SAL_MESSAGE_OP_H_ +#endif // ifndef _L_SAL_REFER_OP_H_ diff --git a/src/sal/register-op.cpp b/src/sal/register-op.cpp index 4552bddf8..fe63de045 100644 --- a/src/sal/register-op.cpp +++ b/src/sal/register-op.cpp @@ -24,31 +24,31 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -int SalRegisterOp::register_(const char *proxy, const char *from, int expires, const SalAddress* old_contact) { +int SalRegisterOp::sendRegister(const char *proxy, const char *from, int expires, const SalAddress* old_contact) { belle_sip_request_t *req; belle_sip_uri_t* req_uri; belle_sip_header_t* accept_header; - if (this->refresher){ - belle_sip_refresher_stop(this->refresher); - belle_sip_object_unref(this->refresher); - this->refresher=NULL; + if (mRefresher){ + belle_sip_refresher_stop(mRefresher); + belle_sip_object_unref(mRefresher); + mRefresher=NULL; } - this->type=Type::Register; - set_from(from); - set_to(from); - set_route(proxy); - req = build_request("REGISTER"); + mType=Type::Register; + setFrom(from); + setTo(from); + setRoute(proxy); + req = buildRequest("REGISTER"); req_uri = belle_sip_request_get_uri(req); belle_sip_uri_set_user(req_uri,NULL); /*remove userinfo if any*/ - if (this->root->_use_dates) { + if (mRoot->mUseDates) { time_t curtime=time(NULL); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_date_create_from_time(&curtime))); } accept_header = belle_sip_header_create("Accept", "application/sdp, text/plain, application/vnd.gsma.rcs-ft-http+xml"); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req), accept_header); - belle_sip_message_set_header(BELLE_SIP_MESSAGE(req),(belle_sip_header_t*)create_contact()); + belle_sip_message_set_header(BELLE_SIP_MESSAGE(req),(belle_sip_header_t*)createContact()); if (old_contact) { belle_sip_header_contact_t *contact=belle_sip_header_contact_create((const belle_sip_header_address_t *)old_contact); if (contact) { @@ -62,22 +62,22 @@ int SalRegisterOp::register_(const char *proxy, const char *from, int expires, c ms_error("Cannot add old contact header to op [%p]",this); } } - return send_and_create_refresher(req,expires,register_refresher_listener); + return sendRequestAndCreateRefresher(req,expires,registerRefresherListener); } -void SalRegisterOp::register_refresher_listener(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry) { +void SalRegisterOp::registerRefresherListener(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry) { SalRegisterOp * op = (SalRegisterOp *)user_pointer; belle_sip_response_t* response=belle_sip_transaction_get_response(BELLE_SIP_TRANSACTION(belle_sip_refresher_get_transaction(refresher))); - ms_message("Register refresher [%i] reason [%s] for proxy [%s]",status_code,reason_phrase,op->get_proxy()); + ms_message("Register refresher [%i] reason [%s] for proxy [%s]",status_code,reason_phrase,op->getProxy()); if (belle_sip_refresher_get_auth_events(refresher)) { - if (op->auth_info) sal_auth_info_delete(op->auth_info); + if (op->mAuthInfo) sal_auth_info_delete(op->mAuthInfo); /*only take first one for now*/ - op->auth_info=sal_auth_info_create((belle_sip_auth_event_t*)(belle_sip_refresher_get_auth_events(refresher)->data)); + op->mAuthInfo=sal_auth_info_create((belle_sip_auth_event_t*)(belle_sip_refresher_get_auth_events(refresher)->data)); } - sal_error_info_set(&op->error_info,SalReasonUnknown, "SIP", (int)status_code, reason_phrase, NULL); + sal_error_info_set(&op->mErrorInfo,SalReasonUnknown, "SIP", (int)status_code, reason_phrase, NULL); if (status_code>=200){ - op->assign_recv_headers((belle_sip_message_t*)response); + op->assignRecvHeaders((belle_sip_message_t*)response); } if(status_code == 200) { /*check service route rfc3608*/ @@ -87,24 +87,24 @@ void SalRegisterOp::register_refresher_listener(belle_sip_refresher_t* refresher if ((service_route=belle_sip_message_get_header_by_type(response,belle_sip_header_service_route_t))) { service_route_address=belle_sip_header_address_create(NULL,belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(service_route))); } - op->set_service_route((const SalAddress*)service_route_address); + op->setServiceRoute((const SalAddress*)service_route_address); if (service_route_address) belle_sip_object_unref(service_route_address); - op->root->remove_pending_auth(op); /*just in case*/ + op->mRoot->removePendingAuth(op); /*just in case*/ if (contact) { const char *gruu; belle_sip_parameters_t* p = (BELLE_SIP_PARAMETERS(contact)); if((gruu = belle_sip_parameters_get_parameter(p, "pub-gruu"))) { char *unquoted = belle_sip_unquote_strdup(gruu); - op->set_contact_address((SalAddress*)belle_sip_header_address_parse(unquoted)); + op->setContactAddress((SalAddress*)belle_sip_header_address_parse(unquoted)); bctbx_free(unquoted); belle_sip_parameters_remove_parameter(p, "pub-gruu"); } else { - op->set_contact_address((SalAddress*)(BELLE_SIP_HEADER_ADDRESS(contact))); /*update contact with real value*/ + op->setContactAddress((SalAddress*)(BELLE_SIP_HEADER_ADDRESS(contact))); /*update contact with real value*/ } } - op->root->callbacks.register_success(op,belle_sip_refresher_get_expires(op->refresher)>0); + op->mRoot->mCallbacks.register_success(op,belle_sip_refresher_get_expires(op->mRefresher)>0); } else if (status_code>=400) { /* from rfc3608, 6.1. If the UA refreshes the registration, the stored value of the Service- @@ -115,14 +115,14 @@ void SalRegisterOp::register_refresher_listener(belle_sip_refresher_t* refresher request is refused or if an existing registration expires and the UA chooses not to re-register, the UA SHOULD discard any stored service route for that address-of-record. */ - op->set_service_route(NULL); + op->setServiceRoute(NULL); op->ref(); /*take a ref while invoking the callback to make sure the operations done after are valid*/ - op->root->callbacks.register_failure(op); - if (op->state!=State::Terminated && op->auth_info) { + op->mRoot->mCallbacks.register_failure(op); + if (op->mState!=State::Terminated && op->mAuthInfo) { /*add pending auth*/ - op->root->add_pending_auth(op); + op->mRoot->addPendingAuth(op); if (status_code==403 || status_code==401 || status_code==407 ) - op->root->callbacks.auth_failure(op,op->auth_info); + op->mRoot->mCallbacks.auth_failure(op,op->mAuthInfo); } op->unref(); } diff --git a/src/sal/register-op.h b/src/sal/register-op.h index d14b9612a..e7e06791c 100644 --- a/src/sal/register-op.h +++ b/src/sal/register-op.h @@ -24,19 +24,22 @@ LINPHONE_BEGIN_NAMESPACE -class SalRegisterOp: public SalOp { +class SalRegisterOp : public SalOp { public: - SalRegisterOp(Sal *sal): SalOp(sal) {} + SalRegisterOp(Sal *sal) : SalOp(sal) {} - int register_(const char *proxy, const char *from, int expires, const SalAddress* old_contact); - int register_refresh(int expires) {return this->refresher ? belle_sip_refresher_refresh(this->refresher,expires) : -1;} - int unregister() {return register_refresh(0);} + int sendRegister (const char *proxy, const char *from, int expires, const SalAddress *oldContact); + int refreshRegister (int expires) { + return mRefresher ? belle_sip_refresher_refresh(mRefresher, expires) : -1; + } + int unregister() { return refreshRegister(0); } - virtual void authenticate(const SalAuthInfo *info) override {register_refresh(-1);} + void authenticate (const SalAuthInfo *info) override { + refreshRegister(-1); } private: - virtual void fill_cbs() override {}; - static void register_refresher_listener(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase, int will_retry); + virtual void fillCallbacks () override {}; + static void registerRefresherListener (belle_sip_refresher_t *refresher, void *userCtx, unsigned int statusCode, const char *reasonPhrase, int willRetry); }; LINPHONE_END_NAMESPACE diff --git a/src/sal/sal.cpp b/src/sal/sal.cpp index 5c3a58385..13e71970e 100644 --- a/src/sal/sal.cpp +++ b/src/sal/sal.cpp @@ -31,26 +31,26 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -void Sal::process_dialog_terminated_cb(void *sal, const belle_sip_dialog_terminated_event_t *event) { +void Sal::processDialogTerminatedCb(void *sal, const belle_sip_dialog_terminated_event_t *event) { belle_sip_dialog_t* dialog = belle_sip_dialog_terminated_event_get_dialog(event); SalOp* op = reinterpret_cast(belle_sip_dialog_get_application_data(dialog)); - if (op && op->callbacks && op->callbacks->process_dialog_terminated) { - op->callbacks->process_dialog_terminated(op,event); + if (op && op->mCallbacks && op->mCallbacks->process_dialog_terminated) { + op->mCallbacks->process_dialog_terminated(op,event); } else { ms_error("sal process_dialog_terminated no op found for this dialog [%p], ignoring",dialog); } } -void Sal::process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event){ +void Sal::processIoErrorCb(void *user_ctx, const belle_sip_io_error_event_t *event){ belle_sip_client_transaction_t*client_transaction; SalOp* op; if (BELLE_SIP_OBJECT_IS_INSTANCE_OF(belle_sip_io_error_event_get_source(event),belle_sip_client_transaction_t)) { client_transaction=BELLE_SIP_CLIENT_TRANSACTION(belle_sip_io_error_event_get_source(event)); op = (SalOp*)belle_sip_transaction_get_application_data(BELLE_SIP_TRANSACTION(client_transaction)); /*also reset auth count on IO error*/ - op->auth_requests=0; - if (op->callbacks && op->callbacks->process_io_error) { - op->callbacks->process_io_error(op,event); + op->mAuthRequests=0; + if (op->mCallbacks && op->mCallbacks->process_io_error) { + op->mCallbacks->process_io_error(op,event); } } else { /*ms_error("sal process_io_error not implemented yet for non transaction");*/ @@ -58,7 +58,7 @@ void Sal::process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t * } } -void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *event) { +void Sal::processRequestEventCb (void *ud, const belle_sip_request_event_t *event) { Sal *sal = (Sal *)ud; SalOp *op = NULL; belle_sip_request_t *req = belle_sip_request_event_get_request(event); @@ -84,7 +84,7 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e belle_sip_transaction_t * sub_trans = belle_sip_dialog_get_last_transaction(dialog); op = (SalOp*)belle_sip_transaction_get_application_data(sub_trans); } - if (op == NULL || op->state == SalOp::State::Terminated){ + if (op == NULL || op->mState == SalOp::State::Terminated){ ms_warning("Receiving request for null or terminated op [%p], ignored",op); return; } @@ -94,7 +94,7 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e if ((strcmp("INVITE",method)==0 || strcmp("NOTIFY",method)==0) && (belle_sip_header_to_get_tag(to) != NULL)) { ms_warning("Receiving %s with to-tag but no know dialog here. Rejecting.", method); resp=belle_sip_response_create_from_request(req,481); - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; /* by default (eg. when a to-tag is present), out of dialog ACK are automatically handled in lower layers (belle-sip) but in case it misses, it will be forwarded to us */ @@ -105,52 +105,52 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e if (strcmp("INVITE",method)==0) { op=new SalCallOp(sal); - op->fill_cbs(); + op->fillCallbacks(); }else if ((strcmp("SUBSCRIBE",method)==0 || strcmp("NOTIFY",method)==0) && (evh=belle_sip_message_get_header(BELLE_SIP_MESSAGE(req),"Event"))!=NULL) { if (strncmp(belle_sip_header_get_unparsed_value(evh),"presence",strlen("presence"))==0){ op=new SalPresenceOp(sal); } else { op=new SalSubscribeOp(sal); } - op->fill_cbs(); + op->fillCallbacks(); }else if (strcmp("MESSAGE",method)==0) { op=new SalMessageOp(sal); - op->fill_cbs(); + op->fillCallbacks(); }else if (strcmp("REFER",method)==0) { op=new SalReferOp(sal); }else if (strcmp("OPTIONS",method)==0) { resp=belle_sip_response_create_from_request(req,200); - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; }else if (strcmp("INFO",method)==0) { resp=belle_sip_response_create_from_request(req,481);/*INFO out of call dialogs are not allowed*/ - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; }else if (strcmp("BYE",method)==0) { resp=belle_sip_response_create_from_request(req,481);/*out of dialog BYE */ - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; }else if (strcmp("CANCEL",method)==0) { resp=belle_sip_response_create_from_request(req,481);/*out of dialog CANCEL */ - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; - }else if (sal->_enable_test_features && strcmp("PUBLISH",method)==0) { + }else if (sal->mEnableTestFeatures && strcmp("PUBLISH",method)==0) { resp=belle_sip_response_create_from_request(req,200);/*out of dialog PUBLISH */ belle_sip_message_add_header((belle_sip_message_t*)resp,belle_sip_header_create("SIP-Etag","4441929FFFZQOA")); - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; }else { ms_error("sal process_request_event not implemented yet for method [%s]",belle_sip_request_get_method(req)); resp=belle_sip_response_create_from_request(req,405); belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp) ,BELLE_SIP_HEADER(belle_sip_header_allow_create("INVITE, CANCEL, ACK, BYE, SUBSCRIBE, NOTIFY, MESSAGE, OPTIONS, INFO"))); - belle_sip_provider_send_response(sal->prov,resp); + belle_sip_provider_send_response(sal->mProvider,resp); return; } - op->dir=SalOp::Dir::Incoming; + op->mDir=SalOp::Dir::Incoming; } - if (!op->from_address) { + if (!op->mFromAddress) { if (belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(from_header))) address=belle_sip_header_address_create(belle_sip_header_address_get_displayname(BELLE_SIP_HEADER_ADDRESS(from_header)) ,belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(from_header))); @@ -159,15 +159,15 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e ,belle_sip_header_address_get_absolute_uri(BELLE_SIP_HEADER_ADDRESS(from_header))); else ms_error("Cannot not find from uri from request [%p]",req); - op->set_from_address((SalAddress*)address); + op->setFromAddress((SalAddress*)address); belle_sip_object_unref(address); } if( remote_contact ){ - op->set_remote_contact(belle_sip_header_get_unparsed_value(BELLE_SIP_HEADER(remote_contact))); + op->setRemoteContact(belle_sip_header_get_unparsed_value(BELLE_SIP_HEADER(remote_contact))); } - if (!op->to_address) { + if (!op->mToAddress) { to=belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_to_t); if (belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(to))) address=belle_sip_header_address_create(belle_sip_header_address_get_displayname(BELLE_SIP_HEADER_ADDRESS(to)) @@ -178,16 +178,16 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e else ms_error("Cannot not find to uri from request [%p]",req); - op->set_to_address((SalAddress*)address); + op->setToAddress((SalAddress*)address); belle_sip_object_unref(address); } if (subjectHeader) { const char *subject = belle_sip_header_get_unparsed_value(subjectHeader); - op->set_subject(subject); + op->setSubject(subject); } - if(!op->diversion_address){ + if(!op->mDiversionAddress){ diversion=belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req),belle_sip_header_diversion_t); if (diversion) { if (belle_sip_header_address_get_uri(BELLE_SIP_HEADER_ADDRESS(diversion))) @@ -199,42 +199,42 @@ void Sal::process_request_event_cb (void *ud, const belle_sip_request_event_t *e else ms_warning("Cannot not find diversion header from request [%p]",req); if (address) { - op->set_diversion_address((SalAddress*)address); + op->setDiversionAddress((SalAddress*)address); belle_sip_object_unref(address); } } } - if (!op->origin) { + if (!op->mOrigin) { /*set origin uri*/ origin_address=belle_sip_header_address_create(NULL,belle_sip_request_extract_origin(req)); - op->set_network_origin_address((SalAddress*)origin_address); + op->setNetworkOriginAddress((SalAddress*)origin_address); belle_sip_object_unref(origin_address); } - if (!op->remote_ua) { - op->set_remote_ua(BELLE_SIP_MESSAGE(req)); + if (!op->mRemoteUserAgent) { + op->setRemoteUserAgent(BELLE_SIP_MESSAGE(req)); } - if (!op->call_id) { - op->call_id=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req), belle_sip_header_call_id_t)))); + if (!op->mCallId) { + op->mCallId=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(req), belle_sip_header_call_id_t)))); } /*It is worth noting that proxies can (and will) remove this header field*/ - op->set_privacy_from_message((belle_sip_message_t*)req); + op->setPrivacyFromMessage((belle_sip_message_t*)req); if (strcmp("ACK",method) != 0){ /*The ACK custom header is processed specifically later on*/ - op->assign_recv_headers((belle_sip_message_t*)req); + op->assignRecvHeaders((belle_sip_message_t*)req); } - if (op->callbacks && op->callbacks->process_request_event) { - op->callbacks->process_request_event(op,event); + if (op->mCallbacks && op->mCallbacks->process_request_event) { + op->mCallbacks->process_request_event(op,event); } else { ms_error("sal process_request_event not implemented yet"); } } -void Sal::process_response_event_cb(void *user_ctx, const belle_sip_response_event_t *event) { +void Sal::processResponseEventCb(void *user_ctx, const belle_sip_response_event_t *event) { belle_sip_client_transaction_t* client_transaction = belle_sip_response_event_get_client_transaction(event); belle_sip_response_t* response = belle_sip_response_event_get_response(event); int response_code = belle_sip_response_get_status_code(response); @@ -247,81 +247,81 @@ void Sal::process_response_event_cb(void *user_ctx, const belle_sip_response_eve belle_sip_request_t* request=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(client_transaction)); belle_sip_header_contact_t* remote_contact = belle_sip_message_get_header_by_type(response, belle_sip_header_contact_t); - if (op->state == SalOp::State::Terminated) { + if (op->mState == SalOp::State::Terminated) { belle_sip_message("Op [%p] is terminated, nothing to do with this [%i]", op, response_code); return; } /*do it all the time, since we can receive provisional responses from a different instance than the final one*/ - op->set_remote_ua(BELLE_SIP_MESSAGE(response)); + op->setRemoteUserAgent(BELLE_SIP_MESSAGE(response)); if(remote_contact) { - op->set_remote_contact(belle_sip_header_get_unparsed_value(BELLE_SIP_HEADER(remote_contact))); + op->setRemoteContact(belle_sip_header_get_unparsed_value(BELLE_SIP_HEADER(remote_contact))); } - if (!op->call_id) { - op->call_id=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(response), belle_sip_header_call_id_t)))); + if (!op->mCallId) { + op->mCallId=ms_strdup(belle_sip_header_call_id_get_call_id(BELLE_SIP_HEADER_CALL_ID(belle_sip_message_get_header_by_type(BELLE_SIP_MESSAGE(response), belle_sip_header_call_id_t)))); } - op->assign_recv_headers((belle_sip_message_t*)response); + op->assignRecvHeaders((belle_sip_message_t*)response); - if (op->callbacks && op->callbacks->process_response_event) { + if (op->mCallbacks && op->mCallbacks->process_response_event) { /*handle authorization*/ switch (response_code) { case 200: break; case 401: case 407: - if (op->state == SalOp::State::Terminating && strcmp("BYE",belle_sip_request_get_method(request))!=0) { + if (op->mState == SalOp::State::Terminating && strcmp("BYE",belle_sip_request_get_method(request))!=0) { /*only bye are completed*/ belle_sip_message("Op is in state terminating, nothing else to do "); } else { - if (op->pending_auth_transaction){ - belle_sip_object_unref(op->pending_auth_transaction); - op->pending_auth_transaction=NULL; + if (op->mPendingAuthTransaction){ + belle_sip_object_unref(op->mPendingAuthTransaction); + op->mPendingAuthTransaction=NULL; } - if (++op->auth_requests > 2) { - ms_warning("Auth info cannot be found for op [%s/%s] after 2 attempts, giving up",op->get_from() - ,op->get_to()); - op->root->callbacks.auth_failure(op,op->auth_info); - op->root->remove_pending_auth(op); + if (++op->mAuthRequests > 2) { + ms_warning("Auth info cannot be found for op [%s/%s] after 2 attempts, giving up",op->getFrom() + ,op->getTo()); + op->mRoot->mCallbacks.auth_failure(op,op->mAuthInfo); + op->mRoot->removePendingAuth(op); } else { - op->pending_auth_transaction=(belle_sip_client_transaction_t*)belle_sip_object_ref(client_transaction); - op->process_authentication(); + op->mPendingAuthTransaction=(belle_sip_client_transaction_t*)belle_sip_object_ref(client_transaction); + op->processAuthentication(); return; } } break; case 403: - if (op->auth_info) op->root->callbacks.auth_failure(op,op->auth_info); + if (op->mAuthInfo) op->mRoot->mCallbacks.auth_failure(op,op->mAuthInfo); break; case 302: case 301: - if (op->process_redirect() == 0) + if (op->processRedirect() == 0) return; break; } if (response_code >= 180 && response_code !=401 && response_code !=407 && response_code !=403) { /*not an auth request*/ - op->auth_requests=0; + op->mAuthRequests=0; } - op->callbacks->process_response_event(op,event); + op->mCallbacks->process_response_event(op,event); } else { ms_error("Unhandled event response [%p]",event); } } } -void Sal::process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event) { +void Sal::processTimeoutCb(void *user_ctx, const belle_sip_timeout_event_t *event) { belle_sip_client_transaction_t* client_transaction = belle_sip_timeout_event_get_client_transaction(event); SalOp* op = (SalOp*)belle_sip_transaction_get_application_data(BELLE_SIP_TRANSACTION(client_transaction)); - if (op && op->callbacks && op->callbacks->process_timeout) { - op->callbacks->process_timeout(op,event); + if (op && op->mCallbacks && op->mCallbacks->process_timeout) { + op->mCallbacks->process_timeout(op,event); } else { ms_error("Unhandled event timeout [%p]",event); } } -void Sal::process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { +void Sal::processTransactionTerminatedCb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { belle_sip_client_transaction_t* client_transaction = belle_sip_transaction_terminated_event_get_client_transaction(event); belle_sip_server_transaction_t* server_transaction = belle_sip_transaction_terminated_event_get_server_transaction(event); belle_sip_transaction_t* trans; @@ -333,8 +333,8 @@ void Sal::process_transaction_terminated_cb(void *user_ctx, const belle_sip_tran trans=BELLE_SIP_TRANSACTION(server_transaction); op = (SalOp*)belle_sip_transaction_get_application_data(trans); - if (op && op->callbacks && op->callbacks->process_transaction_terminated) { - op->callbacks->process_transaction_terminated(op,event); + if (op && op->mCallbacks && op->mCallbacks->process_transaction_terminated) { + op->mCallbacks->process_transaction_terminated(op,event); } else { ms_message("Unhandled transaction terminated [%p]",trans); } @@ -344,9 +344,9 @@ void Sal::process_transaction_terminated_cb(void *user_ctx, const belle_sip_tran } } -void Sal::process_auth_requested_cb(void *sal, belle_sip_auth_event_t *event) { +void Sal::processAuthRequestedCb(void *sal, belle_sip_auth_event_t *event) { SalAuthInfo* auth_info = sal_auth_info_create(event); - ((Sal*)sal)->callbacks.auth_requested(reinterpret_cast(sal),auth_info); + ((Sal*)sal)->mCallbacks.auth_requested(reinterpret_cast(sal),auth_info); belle_sip_auth_event_set_passwd(event,(const char*)auth_info->password); belle_sip_auth_event_set_ha1(event,(const char*)auth_info->ha1); belle_sip_auth_event_set_userid(event,(const char*)auth_info->userid); @@ -359,117 +359,117 @@ Sal::Sal(MSFactory *factory){ belle_sip_listener_callbacks_t listener_callbacks = {0}; /*belle_sip_object_enable_marshal_check(TRUE);*/ - this->factory = factory; + mFactory = factory; /*first create the stack, which initializes the belle-sip object's pool for this thread*/ - this->stack = belle_sip_stack_new(NULL); + mStack = belle_sip_stack_new(NULL); - this->user_agent=belle_sip_header_user_agent_new(); + mUserAgent=belle_sip_header_user_agent_new(); #if defined(PACKAGE_NAME) && defined(LIBLINPHONE_VERSION) - belle_sip_header_user_agent_add_product(this->user_agent, PACKAGE_NAME "/" LIBLINPHONE_VERSION); + belle_sip_header_user_agent_add_product(user_agent, PACKAGE_NAME "/" LIBLINPHONE_VERSION); #else - belle_sip_header_user_agent_add_product(this->user_agent, "Unknown"); + belle_sip_header_user_agent_add_product(mUserAgent, "Unknown"); #endif - append_stack_string_to_user_agent(); - belle_sip_object_ref(this->user_agent); + appendStackStringToUserAgent(); + belle_sip_object_ref(mUserAgent); - this->prov = belle_sip_stack_create_provider(this->stack,NULL); - enable_nat_helper(TRUE); + mProvider = belle_sip_stack_create_provider(mStack,NULL); + enableNatHelper(TRUE); - listener_callbacks.process_dialog_terminated=process_dialog_terminated_cb; - listener_callbacks.process_io_error=process_io_error_cb; - listener_callbacks.process_request_event=process_request_event_cb; - listener_callbacks.process_response_event=process_response_event_cb; - listener_callbacks.process_timeout=process_timeout_cb; - listener_callbacks.process_transaction_terminated=process_transaction_terminated_cb; - listener_callbacks.process_auth_requested=process_auth_requested_cb; - this->listener=belle_sip_listener_create_from_callbacks(&listener_callbacks, this); - belle_sip_provider_add_sip_listener(this->prov, this->listener); + listener_callbacks.process_dialog_terminated=processDialogTerminatedCb; + listener_callbacks.process_io_error=processIoErrorCb; + listener_callbacks.process_request_event=processRequestEventCb; + listener_callbacks.process_response_event=processResponseEventCb; + listener_callbacks.process_timeout=processTimeoutCb; + listener_callbacks.process_transaction_terminated=processTransactionTerminatedCb; + listener_callbacks.process_auth_requested=processAuthRequestedCb; + mListener=belle_sip_listener_create_from_callbacks(&listener_callbacks, this); + belle_sip_provider_add_sip_listener(mProvider, mListener); } Sal::~Sal() { - belle_sip_object_unref(this->user_agent); - belle_sip_object_unref(this->prov); - belle_sip_object_unref(this->stack); - belle_sip_object_unref(this->listener); - if (this->supported) belle_sip_object_unref(this->supported); - bctbx_list_free_with_data(this->supported_tags,ms_free); - bctbx_list_free_with_data(this->supported_content_types, ms_free); - if (this->uuid) ms_free(this->uuid); - if (this->root_ca) ms_free(this->root_ca); - if (this->root_ca_data) ms_free(this->root_ca_data); - if (this->linphone_specs) ms_free(this->linphone_specs); + belle_sip_object_unref(mUserAgent); + belle_sip_object_unref(mProvider); + belle_sip_object_unref(mStack); + belle_sip_object_unref(mListener); + if (mSupported) belle_sip_object_unref(mSupported); + bctbx_list_free_with_data(mSupportedTags,ms_free); + bctbx_list_free_with_data(mSupportedContentTypes, ms_free); + if (mUuid) ms_free(mUuid); + if (mRootCa) ms_free(mRootCa); + if (mRootCaData) ms_free(mRootCaData); + if (mLinphoneSpecs) ms_free(mLinphoneSpecs); } -void Sal::set_callbacks(const Callbacks *cbs) { - memcpy(&this->callbacks,cbs,sizeof(*cbs)); - if (this->callbacks.call_received==NULL) - this->callbacks.call_received=(OnCallReceivedCb)unimplemented_stub; - if (this->callbacks.call_ringing==NULL) - this->callbacks.call_ringing=(OnCallRingingCb)unimplemented_stub; - if (this->callbacks.call_accepted==NULL) - this->callbacks.call_accepted=(OnCallAcceptedCb)unimplemented_stub; - if (this->callbacks.call_failure==NULL) - this->callbacks.call_failure=(OnCallFailureCb)unimplemented_stub; - if (this->callbacks.call_terminated==NULL) - this->callbacks.call_terminated=(OnCallTerminatedCb)unimplemented_stub; - if (this->callbacks.call_released==NULL) - this->callbacks.call_released=(OnCallReleasedCb)unimplemented_stub; - if (this->callbacks.call_updating==NULL) - this->callbacks.call_updating=(OnCallUpdatingCb)unimplemented_stub; - if (this->callbacks.auth_failure==NULL) - this->callbacks.auth_failure=(OnAuthFailureCb)unimplemented_stub; - if (this->callbacks.register_success==NULL) - this->callbacks.register_success=(OnRegisterSuccessCb)unimplemented_stub; - if (this->callbacks.register_failure==NULL) - this->callbacks.register_failure=(OnRegisterFailureCb)unimplemented_stub; - if (this->callbacks.dtmf_received==NULL) - this->callbacks.dtmf_received=(OnDtmfReceivedCb)unimplemented_stub; - if (this->callbacks.notify==NULL) - this->callbacks.notify=(OnNotifyCb)unimplemented_stub; - if (this->callbacks.subscribe_received==NULL) - this->callbacks.subscribe_received=(OnSubscribeReceivedCb)unimplemented_stub; - if (this->callbacks.incoming_subscribe_closed==NULL) - this->callbacks.incoming_subscribe_closed=(OnIncomingSubscribeClosedCb)unimplemented_stub; - if (this->callbacks.parse_presence_requested==NULL) - this->callbacks.parse_presence_requested=(OnParsePresenceRequestedCb)unimplemented_stub; - if (this->callbacks.convert_presence_to_xml_requested==NULL) - this->callbacks.convert_presence_to_xml_requested=(OnConvertPresenceToXMLRequestedCb)unimplemented_stub; - if (this->callbacks.notify_presence==NULL) - this->callbacks.notify_presence=(OnNotifyPresenceCb)unimplemented_stub; - if (this->callbacks.subscribe_presence_received==NULL) - this->callbacks.subscribe_presence_received=(OnSubscribePresenceReceivedCb)unimplemented_stub; - if (this->callbacks.message_received==NULL) - this->callbacks.message_received=(OnMessageReceivedCb)unimplemented_stub; - if (this->callbacks.ping_reply==NULL) - this->callbacks.ping_reply=(OnPingReplyCb)unimplemented_stub; - if (this->callbacks.auth_requested==NULL) - this->callbacks.auth_requested=(OnAuthRequestedCb)unimplemented_stub; - if (this->callbacks.info_received==NULL) - this->callbacks.info_received=(OnInfoReceivedCb)unimplemented_stub; - if (this->callbacks.on_publish_response==NULL) - this->callbacks.on_publish_response=(OnPublishResponseCb)unimplemented_stub; - if (this->callbacks.on_expire==NULL) - this->callbacks.on_expire=(OnExpireCb)unimplemented_stub; +void Sal::setCallbacks(const Callbacks *cbs) { + memcpy(&mCallbacks,cbs,sizeof(*cbs)); + if (mCallbacks.call_received==NULL) + mCallbacks.call_received=(OnCallReceivedCb)unimplementedStub; + if (mCallbacks.call_ringing==NULL) + mCallbacks.call_ringing=(OnCallRingingCb)unimplementedStub; + if (mCallbacks.call_accepted==NULL) + mCallbacks.call_accepted=(OnCallAcceptedCb)unimplementedStub; + if (mCallbacks.call_failure==NULL) + mCallbacks.call_failure=(OnCallFailureCb)unimplementedStub; + if (mCallbacks.call_terminated==NULL) + mCallbacks.call_terminated=(OnCallTerminatedCb)unimplementedStub; + if (mCallbacks.call_released==NULL) + mCallbacks.call_released=(OnCallReleasedCb)unimplementedStub; + if (mCallbacks.call_updating==NULL) + mCallbacks.call_updating=(OnCallUpdatingCb)unimplementedStub; + if (mCallbacks.auth_failure==NULL) + mCallbacks.auth_failure=(OnAuthFailureCb)unimplementedStub; + if (mCallbacks.register_success==NULL) + mCallbacks.register_success=(OnRegisterSuccessCb)unimplementedStub; + if (mCallbacks.register_failure==NULL) + mCallbacks.register_failure=(OnRegisterFailureCb)unimplementedStub; + if (mCallbacks.dtmf_received==NULL) + mCallbacks.dtmf_received=(OnDtmfReceivedCb)unimplementedStub; + if (mCallbacks.notify==NULL) + mCallbacks.notify=(OnNotifyCb)unimplementedStub; + if (mCallbacks.subscribe_received==NULL) + mCallbacks.subscribe_received=(OnSubscribeReceivedCb)unimplementedStub; + if (mCallbacks.incoming_subscribe_closed==NULL) + mCallbacks.incoming_subscribe_closed=(OnIncomingSubscribeClosedCb)unimplementedStub; + if (mCallbacks.parse_presence_requested==NULL) + mCallbacks.parse_presence_requested=(OnParsePresenceRequestedCb)unimplementedStub; + if (mCallbacks.convert_presence_to_xml_requested==NULL) + mCallbacks.convert_presence_to_xml_requested=(OnConvertPresenceToXMLRequestedCb)unimplementedStub; + if (mCallbacks.notify_presence==NULL) + mCallbacks.notify_presence=(OnNotifyPresenceCb)unimplementedStub; + if (mCallbacks.subscribe_presence_received==NULL) + mCallbacks.subscribe_presence_received=(OnSubscribePresenceReceivedCb)unimplementedStub; + if (mCallbacks.message_received==NULL) + mCallbacks.message_received=(OnMessageReceivedCb)unimplementedStub; + if (mCallbacks.ping_reply==NULL) + mCallbacks.ping_reply=(OnPingReplyCb)unimplementedStub; + if (mCallbacks.auth_requested==NULL) + mCallbacks.auth_requested=(OnAuthRequestedCb)unimplementedStub; + if (mCallbacks.info_received==NULL) + mCallbacks.info_received=(OnInfoReceivedCb)unimplementedStub; + if (mCallbacks.on_publish_response==NULL) + mCallbacks.on_publish_response=(OnPublishResponseCb)unimplementedStub; + if (mCallbacks.on_expire==NULL) + mCallbacks.on_expire=(OnExpireCb)unimplementedStub; } -void Sal::set_tls_properties(){ - belle_sip_listening_point_t *lp=belle_sip_provider_get_listening_point(this->prov,"TLS"); +void Sal::setTlsProperties(){ + belle_sip_listening_point_t *lp=belle_sip_provider_get_listening_point(mProvider,"TLS"); if (lp){ belle_sip_tls_listening_point_t *tlp=BELLE_SIP_TLS_LISTENING_POINT(lp); belle_tls_crypto_config_t *crypto_config = belle_tls_crypto_config_new(); int verify_exceptions = BELLE_TLS_VERIFY_NONE; - if (!this->tls_verify) verify_exceptions = BELLE_TLS_VERIFY_ANY_REASON; - else if (!this->tls_verify_cn) verify_exceptions = BELLE_TLS_VERIFY_CN_MISMATCH; + if (!mTlsVerify) verify_exceptions = BELLE_TLS_VERIFY_ANY_REASON; + else if (!mTlsVerifyCn) verify_exceptions = BELLE_TLS_VERIFY_CN_MISMATCH; belle_tls_crypto_config_set_verify_exceptions(crypto_config, verify_exceptions); - if (this->root_ca != NULL) belle_tls_crypto_config_set_root_ca(crypto_config, this->root_ca); - if (this->root_ca_data != NULL) belle_tls_crypto_config_set_root_ca_data(crypto_config, this->root_ca_data); - if (this->ssl_config != NULL) belle_tls_crypto_config_set_ssl_config(crypto_config, this->ssl_config); + if (mRootCa != NULL) belle_tls_crypto_config_set_root_ca(crypto_config, mRootCa); + if (mRootCaData != NULL) belle_tls_crypto_config_set_root_ca_data(crypto_config, mRootCaData); + if (mSslConfig != NULL) belle_tls_crypto_config_set_ssl_config(crypto_config, mSslConfig); belle_sip_tls_listening_point_set_crypto_config(tlp, crypto_config); belle_sip_object_unref(crypto_config); } } -int Sal::add_listen_port(SalAddress* addr, bool_t is_tunneled) { +int Sal::addListenPort(SalAddress* addr, bool_t is_tunneled) { int result; belle_sip_listening_point_t* lp; if (is_tunneled){ @@ -478,7 +478,7 @@ int Sal::add_listen_port(SalAddress* addr, bool_t is_tunneled) { ms_error("Tunneled mode is only available for UDP kind of transports."); return -1; } - lp = belle_sip_tunnel_listening_point_new(this->stack, this->tunnel_client); + lp = belle_sip_tunnel_listening_point_new(stack, tunnel_client); if (!lp){ ms_error("Could not create tunnel listening point."); return -1; @@ -488,16 +488,16 @@ int Sal::add_listen_port(SalAddress* addr, bool_t is_tunneled) { return -1; #endif }else{ - lp = belle_sip_stack_create_listening_point(this->stack, + lp = belle_sip_stack_create_listening_point(mStack, sal_address_get_domain(addr), sal_address_get_port(addr), sal_transport_to_string(sal_address_get_transport(addr))); } if (lp) { - belle_sip_listening_point_set_keep_alive(lp,(int)this->keep_alive); - result = belle_sip_provider_add_listening_point(this->prov,lp); + belle_sip_listening_point_set_keep_alive(lp,(int)mKeepAlive); + result = belle_sip_provider_add_listening_point(mProvider,lp); if (sal_address_get_transport(addr)==SalTransportTLS) { - set_tls_properties(); + setTlsProperties(); } } else { return -1; @@ -505,75 +505,75 @@ int Sal::add_listen_port(SalAddress* addr, bool_t is_tunneled) { return result; } -int Sal::set_listen_port(const char *addr, int port, SalTransport tr, bool_t is_tunneled) { +int Sal::setListenPort(const char *addr, int port, SalTransport tr, bool_t is_tunneled) { SalAddress* sal_addr = sal_address_new(NULL); int result; sal_address_set_domain(sal_addr,addr); sal_address_set_port(sal_addr,port); sal_address_set_transport(sal_addr,tr); - result = add_listen_port(sal_addr, is_tunneled); + result = addListenPort(sal_addr, is_tunneled); sal_address_destroy(sal_addr); return result; } -int Sal::get_listening_port(SalTransport tr){ +int Sal::getListeningPort(SalTransport tr){ const char *tpn=sal_transport_to_string(tr); - belle_sip_listening_point_t *lp=belle_sip_provider_get_listening_point(this->prov, tpn); + belle_sip_listening_point_t *lp=belle_sip_provider_get_listening_point(mProvider, tpn); if (lp){ return belle_sip_listening_point_get_port(lp); } return 0; } -int Sal::unlisten_ports(){ - const belle_sip_list_t * lps = belle_sip_provider_get_listening_points(this->prov); +int Sal::unlistenPorts(){ + const belle_sip_list_t * lps = belle_sip_provider_get_listening_points(mProvider); belle_sip_list_t * tmp_list = belle_sip_list_copy(lps); - belle_sip_list_for_each2 (tmp_list,(void (*)(void*,void*))remove_listening_point,this->prov); + belle_sip_list_for_each2 (tmp_list,(void (*)(void*,void*))removeListeningPoint,mProvider); belle_sip_list_free(tmp_list); ms_message("sal_unlisten_ports done"); return 0; } -int Sal::transport_available(SalTransport t) { +int Sal::isTransportAvailable(SalTransport t) { switch(t){ case SalTransportUDP: case SalTransportTCP: return TRUE; case SalTransportTLS: - return belle_sip_stack_tls_available(this->stack); + return belle_sip_stack_tls_available(mStack); case SalTransportDTLS: return FALSE; } return FALSE; } -void Sal::make_supported_header(){ +void Sal::makeSupportedHeader(){ bctbx_list_t *it; char *alltags=NULL; size_t buflen=64; size_t written=0; - if (this->supported){ - belle_sip_object_unref(this->supported); - this->supported=NULL; + if (mSupported){ + belle_sip_object_unref(mSupported); + mSupported=NULL; } - for(it=this->supported_tags;it!=NULL;it=it->next){ + for(it=mSupportedTags;it!=NULL;it=it->next){ const char *tag=(const char*)it->data; size_t taglen=strlen(tag); if (alltags==NULL || (written+taglen+1>=buflen)) alltags=reinterpret_cast(ms_realloc(alltags,(buflen=buflen*2))); written+=(size_t)snprintf(alltags+written,buflen-written,it->next ? "%s, " : "%s",tag); } if (alltags){ - this->supported=belle_sip_header_create("Supported",alltags); - if (this->supported){ - belle_sip_object_ref(this->supported); + mSupported=belle_sip_header_create("Supported",alltags); + if (mSupported){ + belle_sip_object_ref(mSupported); } ms_free(alltags); } } -void Sal::set_supported_tags(const char* tags){ - this->supported_tags=bctbx_list_free_with_data(this->supported_tags,ms_free); +void Sal::setSupportedTags(const char* tags){ + mSupportedTags=bctbx_list_free_with_data(mSupportedTags,ms_free); if (tags){ char *iter; char *buffer=ms_strdup(tags); @@ -582,170 +582,170 @@ void Sal::set_supported_tags(const char* tags){ iter=buffer; while((tag=strtok_r(iter,", ",&context))!=NULL){ iter=NULL; - this->supported_tags=bctbx_list_append(this->supported_tags,ms_strdup(tag)); + mSupportedTags=bctbx_list_append(mSupportedTags,ms_strdup(tag)); } ms_free(buffer); } - make_supported_header(); + makeSupportedHeader(); } -void Sal::add_supported_tag(const char* tag){ - bctbx_list_t *elem=bctbx_list_find_custom(this->supported_tags,(bctbx_compare_func)strcasecmp,tag); +void Sal::addSupportedTag(const char* tag){ + bctbx_list_t *elem=bctbx_list_find_custom(mSupportedTags,(bctbx_compare_func)strcasecmp,tag); if (!elem){ - this->supported_tags=bctbx_list_append(this->supported_tags,ms_strdup(tag)); - make_supported_header(); + mSupportedTags=bctbx_list_append(mSupportedTags,ms_strdup(tag)); + makeSupportedHeader(); } } -void Sal::remove_supported_tag(const char* tag){ - bctbx_list_t *elem=bctbx_list_find_custom(this->supported_tags,(bctbx_compare_func)strcasecmp,tag); +void Sal::removeSupportedTag(const char* tag){ + bctbx_list_t *elem=bctbx_list_find_custom(mSupportedTags,(bctbx_compare_func)strcasecmp,tag); if (elem){ ms_free(elem->data); - this->supported_tags=bctbx_list_erase_link(this->supported_tags,elem); - make_supported_header(); + mSupportedTags=bctbx_list_erase_link(mSupportedTags,elem); + makeSupportedHeader(); } } -int Sal::reset_transports() { +int Sal::resetTransports() { ms_message("Reseting transports"); - belle_sip_provider_clean_channels(this->prov); + belle_sip_provider_clean_channels(mProvider); return 0; } -ortp_socket_t Sal::get_socket() const { +ortp_socket_t Sal::getSocket() const { ms_warning("sal_get_socket is deprecated"); return -1; } -void Sal::set_user_agent(const char *user_agent) { - belle_sip_header_user_agent_set_products(this->user_agent,NULL); - belle_sip_header_user_agent_add_product(this->user_agent,user_agent); +void Sal::setUserAgent(const char *user_agent) { + belle_sip_header_user_agent_set_products(mUserAgent,NULL); + belle_sip_header_user_agent_add_product(mUserAgent,user_agent); } -const char* Sal::get_user_agent() const { +const char* Sal::getUserAgent() const { static char user_agent[255]; - belle_sip_header_user_agent_get_products_as_string(this->user_agent, user_agent, 254); + belle_sip_header_user_agent_get_products_as_string(mUserAgent, user_agent, 254); return user_agent; } -void Sal::append_stack_string_to_user_agent() { +void Sal::appendStackStringToUserAgent() { char stack_string[64]; snprintf(stack_string, sizeof(stack_string) - 1, "(belle-sip/%s)", belle_sip_version_to_string()); - belle_sip_header_user_agent_add_product(this->user_agent, stack_string); + belle_sip_header_user_agent_add_product(mUserAgent, stack_string); } -void Sal::set_keepalive_period(unsigned int value) { +void Sal::setKeepAlivePeriod(unsigned int value) { const belle_sip_list_t* iterator; belle_sip_listening_point_t* lp; - this->keep_alive=value; - for (iterator=belle_sip_provider_get_listening_points(this->prov);iterator!=NULL;iterator=iterator->next) { + mKeepAlive=value; + for (iterator=belle_sip_provider_get_listening_points(mProvider);iterator!=NULL;iterator=iterator->next) { lp=(belle_sip_listening_point_t*)iterator->data; - if (this->use_tcp_tls_keep_alive || strcasecmp(belle_sip_listening_point_get_transport(lp),"udp")==0) { - belle_sip_listening_point_set_keep_alive(lp,(int)this->keep_alive); + if (mUseTcpTlsKeepAlive || strcasecmp(belle_sip_listening_point_get_transport(lp),"udp")==0) { + belle_sip_listening_point_set_keep_alive(lp,(int)mKeepAlive); } } } -int Sal::set_tunnel(void *tunnelclient) { +int Sal::setTunnel(void *tunnelclient) { #ifdef TUNNEL_ENABLED - this->tunnel_client=tunnelclient; + tunnel_client=tunnelclient; return 0; #else return -1; #endif } -bool_t Sal::is_content_type_supported(const char *content_type) const { +bool_t Sal::isContentTypeSupported(const char *content_type) const { bctbx_list_t *item; - for (item = this->supported_content_types; item != NULL; item = bctbx_list_next(item)) { + for (item = mSupportedContentTypes; item != NULL; item = bctbx_list_next(item)) { const char *item_content_type = (const char *)bctbx_list_get_data(item); if (strcmp(item_content_type, content_type) == 0) return TRUE; } return FALSE; } -void Sal::add_content_type_support(const char *content_type) { - if ((content_type != NULL) && (is_content_type_supported(content_type) == FALSE)) { - this->supported_content_types = bctbx_list_append(this->supported_content_types, ms_strdup(content_type)); +void Sal::addContentTypeSupport(const char *content_type) { + if ((content_type != NULL) && (isContentTypeSupported(content_type) == FALSE)) { + mSupportedContentTypes = bctbx_list_append(mSupportedContentTypes, ms_strdup(content_type)); } } -void Sal::remove_content_type_support(const char *content_type) { +void Sal::removeContentTypeSupport(const char *content_type) { if (content_type != NULL) { - if (bctbx_list_find(this->supported_content_types, content_type)) { - this->supported_content_types = bctbx_list_remove(this->supported_content_types, (char *)content_type); + if (bctbx_list_find(mSupportedContentTypes, content_type)) { + mSupportedContentTypes = bctbx_list_remove(mSupportedContentTypes, (char *)content_type); } } } -void Sal::use_rport(bool_t use_rports) { - belle_sip_provider_enable_rport(this->prov,use_rports); +void Sal::useRport(bool_t use_rports) { + belle_sip_provider_enable_rport(mProvider,use_rports); ms_message("Sal use rport [%s]", use_rports ? "enabled" : "disabled"); } -void Sal::set_contact_linphone_specs(const char *specs) { - if (this->linphone_specs) { - ms_free(this->linphone_specs); - this->linphone_specs = NULL; +void Sal::setContactLinphoneSpecs(const char *specs) { + if (mLinphoneSpecs) { + ms_free(mLinphoneSpecs); + mLinphoneSpecs = NULL; } if (specs) { - this->linphone_specs = ms_strdup(specs); + mLinphoneSpecs = ms_strdup(specs); } } -void Sal::set_root_ca(const char* rootCa) { - if (this->root_ca) { - ms_free(this->root_ca); - this->root_ca = NULL; +void Sal::setRootCa(const char* rootCa) { + if (mRootCa) { + ms_free(mRootCa); + mRootCa = NULL; } if (rootCa) - this->root_ca = ms_strdup(rootCa); - set_tls_properties(); + mRootCa = ms_strdup(rootCa); + setTlsProperties(); } -void Sal::set_root_ca_data(const char* data) { - if (this->root_ca_data) { - ms_free(this->root_ca_data); - this->root_ca_data = NULL; +void Sal::setRootCaData(const char* data) { + if (mRootCaData) { + ms_free(mRootCaData); + mRootCaData = NULL; } if (data) - this->root_ca_data = ms_strdup(data); - set_tls_properties(); + mRootCaData = ms_strdup(data); + setTlsProperties(); } -void Sal::verify_server_certificates(bool_t verify) { - this->tls_verify=verify; - set_tls_properties(); +void Sal::verifyServerCertificates(bool_t verify) { + mTlsVerify=verify; + setTlsProperties(); } -void Sal::verify_server_cn(bool_t verify) { - this->tls_verify_cn = verify; - set_tls_properties(); +void Sal::verifyServerCn(bool_t verify) { + mTlsVerifyCn = verify; + setTlsProperties(); } -void Sal::set_ssl_config(void *ssl_config) { - this->ssl_config = ssl_config; - set_tls_properties(); +void Sal::setSslConfig(void *ssl_config) { + mSslConfig = ssl_config; + setTlsProperties(); } -void Sal::set_uuid(const char *uuid){ - if (this->uuid){ - ms_free(this->uuid); - this->uuid=NULL; +void Sal::setUuid(const char *uuid){ + if (mUuid){ + ms_free(mUuid); + mUuid=NULL; } if (uuid) - this->uuid=ms_strdup(uuid); + mUuid=ms_strdup(uuid); } -int Sal::create_uuid(char *uuid, size_t len) { - if (generate_uuid(uuid, len) == 0) { - set_uuid(uuid); +int Sal::createUuid(char *uuid, size_t len) { + if (generateUuid(uuid, len) == 0) { + setUuid(uuid); return 0; } return -1; } -int Sal::generate_uuid(char *uuid, size_t len) { +int Sal::generateUuid(char *uuid, size_t len) { sal_uuid_t uuid_struct; int i; int written; @@ -771,63 +771,63 @@ int Sal::generate_uuid(char *uuid, size_t len) { return 0; } -void Sal::add_pending_auth(SalOp *op){ - if (bctbx_list_find(this->pending_auths,op)==NULL){ - this->pending_auths=bctbx_list_append(this->pending_auths,op); - op->has_auth_pending=TRUE; +void Sal::addPendingAuth(SalOp *op){ + if (bctbx_list_find(mPendingAuths,op)==NULL){ + mPendingAuths=bctbx_list_append(mPendingAuths,op); + op->mHasAuthPending=TRUE; } } -void Sal::remove_pending_auth(SalOp *op){ - if (op->has_auth_pending){ - op->has_auth_pending=FALSE; - if (bctbx_list_find(this->pending_auths,op)){ - this->pending_auths=bctbx_list_remove(this->pending_auths,op); +void Sal::removePendingAuth(SalOp *op){ + if (op->mHasAuthPending){ + op->mHasAuthPending=FALSE; + if (bctbx_list_find(mPendingAuths,op)){ + mPendingAuths=bctbx_list_remove(mPendingAuths,op); } } } -void Sal::set_default_sdp_handling(SalOpSDPHandling sdp_handling_method) { +void Sal::setDefaultSdpHandling(SalOpSDPHandling sdp_handling_method) { if (sdp_handling_method != SalOpSDPNormal ) ms_message("Enabling special SDP handling for all new SalOp in Sal[%p]!", this); - this->default_sdp_handling = sdp_handling_method; + mDefaultSdpHandling = sdp_handling_method; } -void Sal::enable_nat_helper(bool_t enable) { - this->_nat_helper_enabled=enable; - belle_sip_provider_enable_nat_helper(this->prov,enable); +void Sal::enableNatHelper(bool_t enable) { + mNatHelperEnabled=enable; + belle_sip_provider_enable_nat_helper(mProvider,enable); ms_message("Sal nat helper [%s]",enable?"enabled":"disabled"); } -void Sal::get_default_local_ip(int address_family, char *ip, size_t iplen) { +void Sal::getDefaultLocalIp(int address_family, char *ip, size_t iplen) { strncpy(ip,address_family==AF_INET6 ? "::1" : "127.0.0.1",iplen); ms_error("sal_get_default_local_ip() is deprecated."); } -void Sal::set_dns_servers(const bctbx_list_t *servers){ +void Sal::setDnsServers(const bctbx_list_t *servers){ belle_sip_list_t *l = NULL; /*we have to convert the bctbx_list_t into a belle_sip_list_t first*/ for (; servers != NULL; servers = servers->next){ l = belle_sip_list_append(l, servers->data); } - belle_sip_stack_set_dns_servers(this->stack, l); + belle_sip_stack_set_dns_servers(mStack, l); belle_sip_list_free(l); } -belle_sip_source_t *Sal::create_timer(belle_sip_source_func_t func, void *data, unsigned int timeout_value_ms, const char* timer_name) { - belle_sip_main_loop_t *ml = belle_sip_stack_get_main_loop(this->stack); +belle_sip_source_t *Sal::createTimer(belle_sip_source_func_t func, void *data, unsigned int timeout_value_ms, const char* timer_name) { + belle_sip_main_loop_t *ml = belle_sip_stack_get_main_loop(mStack); return belle_sip_main_loop_create_timeout(ml, func, data, timeout_value_ms, timer_name); } -void Sal::cancel_timer(belle_sip_source_t *timer) { - belle_sip_main_loop_t *ml = belle_sip_stack_get_main_loop(this->stack); +void Sal::cancelTimer(belle_sip_source_t *timer) { + belle_sip_main_loop_t *ml = belle_sip_stack_get_main_loop(mStack); belle_sip_main_loop_remove_source(ml, timer); } -belle_sip_response_t* Sal::create_response_from_request (belle_sip_request_t* req, int code ) { +belle_sip_response_t* Sal::createResponseFromRequest (belle_sip_request_t* req, int code ) { belle_sip_response_t *resp=belle_sip_response_create_from_request(req,code); - belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp),BELLE_SIP_HEADER(this->user_agent)); - belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp), this->supported); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp),BELLE_SIP_HEADER(mUserAgent)); + belle_sip_message_add_header(BELLE_SIP_MESSAGE(resp), mSupported); return resp; } @@ -948,90 +948,90 @@ void sal_uninit(Sal* sal) { } int sal_create_uuid(Sal *ctx, char *uuid, size_t len) { - return ctx->create_uuid(uuid, len); + return ctx->createUuid(uuid, len); } void sal_set_uuid(Sal *ctx, const char *uuid) { - ctx->set_uuid(uuid); + ctx->setUuid(uuid); } void sal_default_set_sdp_handling(Sal* h, SalOpSDPHandling handling_method) { - h->set_default_sdp_handling(handling_method); + h->setDefaultSdpHandling(handling_method); } void sal_set_send_error(Sal *sal,int value) { - sal->set_send_error(value); + sal->setSendError(value); } void sal_set_recv_error(Sal *sal,int value) { - sal->set_recv_error(value); + sal->setRecvError(value); } int sal_enable_pending_trans_checking(Sal *sal, bool_t value) { - return sal->enable_pending_trans_checking(value); + return sal->enablePendingTransactionChecking(value); } void sal_enable_unconditional_answer(Sal *sal,int value) { - sal->enable_unconditional_answer(value); + sal->enableUnconditionalAnswer(value); } void sal_set_dns_timeout(Sal* sal,int timeout) { - sal->set_dns_timeout(timeout); + sal->setDnsTimeout(timeout); } void sal_set_dns_user_hosts_file(Sal *sal, const char *hosts_file) { - sal->set_dns_user_hosts_file(hosts_file); + sal->setDnsUserHostsFile(hosts_file); } void *sal_get_stack_impl(Sal *sal) { - return sal->get_stack_impl(); + return sal->getStackImpl(); } void sal_set_refresher_retry_after(Sal *sal,int value) { - sal->set_refresher_retry_after(value); + sal->setRefresherRetryAfter(value); } int sal_get_refresher_retry_after(const Sal *sal) { - return sal->get_refresher_retry_after(); + return sal->getRefresherRetryAfter(); } void sal_set_transport_timeout(Sal* sal,int timeout) { - sal->set_transport_timeout(timeout); + sal->setTransportTimeout(timeout); } void sal_enable_test_features(Sal*ctx, bool_t enabled) { - ctx->enable_test_features(enabled); + ctx->enableTestFeatures(enabled); } int sal_transport_available(Sal *ctx, SalTransport t) { - return ctx->transport_available(t); + return ctx->isTransportAvailable(t); } const SalErrorInfo *sal_op_get_error_info(const SalOp *op) { - return op->get_error_info(); + return op->getErrorInfo(); } bool_t sal_call_dialog_request_pending(const SalOp *op) { auto callOp = dynamic_cast(op); - return callOp->dialog_request_pending(); + return callOp->dialogRequestPending(); } void sal_call_set_sdp_handling(SalOp *h, SalOpSDPHandling handling) { auto callOp = dynamic_cast(h); - callOp->set_sdp_handling(handling); + callOp->setSdpHandling(handling); } SalMediaDescription * sal_call_get_final_media_description(SalOp *h) { auto callOp = dynamic_cast(h); - return callOp->get_final_media_description(); + return callOp->getFinalMediaDescription(); } belle_sip_resolver_context_t *sal_resolve_a(Sal *sal, const char *name, int port, int family, belle_sip_resolver_callback_t cb, void *data) { - return sal->resolve_a(name, port, family, cb, data); + return sal->resolveA(name, port, family, cb, data); } Sal *sal_op_get_sal(SalOp *op) { - return op->get_sal(); + return op->getSal(); } SalOp *sal_create_refer_op(Sal *sal) { @@ -1044,31 +1044,31 @@ void sal_release_op(SalOp *op) { void sal_op_set_from(SalOp *sal_refer_op, const char* from) { auto referOp = dynamic_cast(sal_refer_op); - referOp->set_from(from); + referOp->setFrom(from); } void sal_op_set_to(SalOp *sal_refer_op, const char* to) { auto referOp = dynamic_cast(sal_refer_op); - referOp->set_to(to); + referOp->setTo(to); } void sal_op_send_refer(SalOp *sal_refer_op, SalAddress* refer_to) { auto referOp = dynamic_cast(sal_refer_op); - referOp->send_refer(refer_to); + referOp->sendRefer(refer_to); } void sal_set_user_pointer(Sal *sal, void *user_pointer) { - sal->set_user_pointer(user_pointer); + sal->setUserPointer(user_pointer); } void *sal_get_user_pointer(Sal *sal) { - return sal->get_user_pointer(); + return sal->getUserPointer(); } void sal_set_call_refer_callback(Sal *sal, void (*OnReferCb)(SalOp *op, const SalAddress *referto)) { struct Sal::Callbacks cbs = {NULL}; cbs.refer_received = OnReferCb; - sal->set_callbacks(&cbs); + sal->setCallbacks(&cbs); } } diff --git a/src/sal/sal.h b/src/sal/sal.h index 0bfd2afec..51af47e57 100644 --- a/src/sal/sal.h +++ b/src/sal/sal.h @@ -20,9 +20,11 @@ #ifndef _L_SAL_H_ #define _L_SAL_H_ -#include "c-wrapper/internal/c-sal.h" #include "linphone/utils/general.h" +#include "c-wrapper/internal/c-sal.h" +#include "logger/logger.h" + LINPHONE_BEGIN_NAMESPACE class SalOp; @@ -34,42 +36,42 @@ class SalReferOp; class Sal{ public: - typedef void (*OnCallReceivedCb)(SalCallOp *op); - typedef void (*OnCallRingingCb)(SalOp *op); - typedef void (*OnCallAcceptedCb)(SalOp *op); - typedef void (*OnCallAckReceivedCb)(SalOp *op, SalCustomHeader *ack); - typedef void (*OnCallAckBeingSentCb)(SalOp *op, SalCustomHeader *ack); - typedef void (*OnCallUpdatingCb)(SalOp *op, bool_t is_update);/* Called when a reINVITE/UPDATE is received*/ - typedef void (*OnCallTerminatedCb)(SalOp *op, const char *from); - typedef void (*OnCallFailureCb)(SalOp *op); - typedef void (*OnCallReleasedCb)(SalOp *salop); - typedef void (*OnCallCancelDoneCb)(SalOp *salop); - typedef void (*OnAuthRequestedLegacyCb)(SalOp *op, const char *realm, const char *username); - typedef bool_t (*OnAuthRequestedCb)(Sal *sal,SalAuthInfo* info); - typedef void (*OnAuthFailureCb)(SalOp *op, SalAuthInfo* info); - typedef void (*OnRegisterSuccessCb)(SalOp *op, bool_t registered); - typedef void (*OnRegisterFailureCb)(SalOp *op); - typedef void (*OnVfuRequestCb)(SalOp *op); - typedef void (*OnDtmfReceivedCb)(SalOp *op, char dtmf); - typedef void (*OnCallReferCb)(SalOp *op, const SalAddress *referto); - typedef void (*OnReferCb)(SalOp *op, const SalAddress *referto); - typedef void (*OnMessageReceivedCb)(SalOp *op, const SalMessage *msg); - typedef void (*OnMessageDeliveryUpdateCb)(SalOp *op, SalMessageDeliveryStatus); - typedef void (*OnNotifyReferCb)(SalOp *op, SalReferStatus state); - typedef void (*OnSubscribeResponseCb)(SalOp *op, SalSubscribeStatus status, int will_retry); - typedef void (*OnNotifyCb)(SalSubscribeOp *op, SalSubscribeStatus status, const char *event, SalBodyHandler *body); - typedef void (*OnSubscribeReceivedCb)(SalSubscribeOp *salop, const char *event, const SalBodyHandler *body); - typedef void (*OnIncomingSubscribeClosedCb)(SalOp *salop); - typedef void (*OnParsePresenceRequestedCb)(SalOp *salop, const char *content_type, const char *content_subtype, const char *content, SalPresenceModel **result); - typedef void (*OnConvertPresenceToXMLRequestedCb)(SalOp *salop, SalPresenceModel *presence, const char *contact, char **content); - typedef void (*OnNotifyPresenceCb)(SalOp *op, SalSubscribeStatus ss, SalPresenceModel *model, const char *msg); - typedef void (*OnSubscribePresenceReceivedCb)(SalPresenceOp *salop, const char *from); - typedef void (*OnSubscribePresenceClosedCb)(SalPresenceOp *salop, const char *from); - typedef void (*OnPingReplyCb)(SalOp *salop); - typedef void (*OnInfoReceivedCb)(SalOp *salop, SalBodyHandler *body); - typedef void (*OnPublishResponseCb)(SalOp *salop); - typedef void (*OnNotifyResponseCb)(SalOp *salop); - typedef void (*OnExpireCb)(SalOp *salop); + using OnCallReceivedCb = void (*) (SalCallOp *op); + using OnCallRingingCb = void (*) (SalOp *op); + using OnCallAcceptedCb = void (*) (SalOp *op); + using OnCallAckReceivedCb = void (*) (SalOp *op, SalCustomHeader *ack); + using OnCallAckBeingSentCb = void (*) (SalOp *op, SalCustomHeader *ack); + using OnCallUpdatingCb = void (*) (SalOp *op, bool_t isUpdate); // Called when a reINVITE/UPDATE is received + using OnCallTerminatedCb = void (*) (SalOp *op, const char *from); + using OnCallFailureCb = void (*) (SalOp *op); + using OnCallReleasedCb = void (*) (SalOp *op); + using OnCallCancelDoneCb = void (*) (SalOp *op); + using OnAuthRequestedLegacyCb = void (*) (SalOp *op, const char *realm, const char *username); + using OnAuthRequestedCb = bool_t (*) (Sal *sal, SalAuthInfo *info); + using OnAuthFailureCb = void (*) (SalOp *op, SalAuthInfo *info); + using OnRegisterSuccessCb = void (*) (SalOp *op, bool_t registered); + using OnRegisterFailureCb = void (*) (SalOp *op); + using OnVfuRequestCb = void (*) (SalOp *op); + using OnDtmfReceivedCb = void (*) (SalOp *op, char dtmf); + using OnCallReferCb = void (*) (SalOp *op, const SalAddress *referTo); + using OnReferCb = void (*) (SalOp *op, const SalAddress *referTo); + using OnMessageReceivedCb = void (*) (SalOp *op, const SalMessage *msg); + using OnMessageDeliveryUpdateCb = void (*) (SalOp *op, SalMessageDeliveryStatus status); + using OnNotifyReferCb = void (*) (SalOp *op, SalReferStatus status); + using OnSubscribeResponseCb = void (*) (SalOp *op, SalSubscribeStatus status, int willRetry); + using OnNotifyCb = void (*) (SalSubscribeOp *op, SalSubscribeStatus status, const char *event, SalBodyHandler *body); + using OnSubscribeReceivedCb = void (*) (SalSubscribeOp *op, const char *event, const SalBodyHandler *body); + using OnIncomingSubscribeClosedCb = void (*) (SalOp *op); + using OnParsePresenceRequestedCb = void (*) (SalOp *op, const char *contentType, const char *contentSubtype, const char *content, SalPresenceModel **result); + using OnConvertPresenceToXMLRequestedCb = void (*) (SalOp *op, SalPresenceModel *presence, const char *contact, char **content); + using OnNotifyPresenceCb = void (*) (SalOp *op, SalSubscribeStatus ss, SalPresenceModel *model, const char *msg); + using OnSubscribePresenceReceivedCb = void (*) (SalPresenceOp *op, const char *from); + using OnSubscribePresenceClosedCb = void (*) (SalPresenceOp *op, const char *from); + using OnPingReplyCb = void (*) (SalOp *op); + using OnInfoReceivedCb = void (*) (SalOp *op, SalBodyHandler *body); + using OnPublishResponseCb = void (*) (SalOp *op); + using OnNotifyResponseCb = void (*) (SalOp *op); + using OnExpireCb = void (*) (SalOp *op); struct Callbacks { OnCallReceivedCb call_received; @@ -108,148 +110,153 @@ public: OnPublishResponseCb on_publish_response; OnExpireCb on_expire; OnNotifyResponseCb on_notify_response; - OnReferCb refer_received; /*for out of dialog refer*/ + OnReferCb refer_received; // For out of dialog refer }; Sal(MSFactory *factory); ~Sal(); - void set_factory(MSFactory *factory) { - this->factory = factory; + void setFactory (MSFactory *value) { mFactory = value; } + + void setUserPointer (void *value) { mUserPointer = value; } + void *getUserPointer () const { return mUserPointer; } + + void setCallbacks (const Callbacks *cbs); + + void *getStackImpl() const { return mStack; } + + int iterate () { belle_sip_stack_sleep(mStack, 0); return 0; } + + void setSendError (int value) { belle_sip_stack_set_send_error(mStack, value); } + void setRecvError (int value) { belle_sip_provider_set_recv_error(mProvider, value); } + + + // --------------------------------------------------------------------------- + // SIP parameters + // --------------------------------------------------------------------------- + void setSupportedTags (const char *tags); + const char *getSupportedTags () const { + return mSupported ? belle_sip_header_get_unparsed_value(mSupported) : nullptr; + } + void addSupportedTag (const char *tag); + void removeSupportedTag (const char *tag); + + void setUserAgent (const char *userAgent); + const char *getUserAgent() const; + void appendStackStringToUserAgent (); + + bool_t isContentEncodingAvailable (const char *contentEncoding) { + return (bool_t)belle_sip_stack_content_encoding_available(mStack, contentEncoding); + } + bool_t isContentTypeSupported (const char *contentType) const; + void addContentTypeSupport (const char *contentType); + void removeContentTypeSupport (const char *contentType); + + void setDefaultSdpHandling (SalOpSDPHandling sdpHandlingMethod); + + void setUuid (const char *uuid); + int createUuid (char *uuid, size_t len); + static int generateUuid (char *uuid, size_t len); + + void enableNatHelper (bool_t enable); + bool_t natHelperEnabled () const { return mNatHelperEnabled; } + + bool_t pendingTransactionCheckingEnabled () const { return mPendingTransactionChecking; } + int enablePendingTransactionChecking (bool_t value) { mPendingTransactionChecking = value; return 0; } + + void setRefresherRetryAfter (int value) { mRefresherRetryAfter = value; } + int getRefresherRetryAfter () const { return mRefresherRetryAfter; } + + void enableSipUpdateMethod (bool_t value) { mEnableSipUpdate = value; } + void useSessionTimers (int expires) { mSessionExpires = expires; } + void useDates (bool_t value) { mUseDates = value; } + void useOneMatchingCodecPolicy (bool_t value) { mOneMatchingCodec = value; } + void useRport (bool_t value); + void enableAutoContacts (bool_t value) { mAutoContacts = value; } + void enableTestFeatures (bool_t value) { mEnableTestFeatures = value; } + void useNoInitialRoute (bool_t value) { mNoInitialRoute = value; } + void enableUnconditionalAnswer (int value) { belle_sip_provider_enable_unconditional_answer(mProvider, value); } + void enableReconnectToPrimaryAsap (bool_t value) { belle_sip_stack_enable_reconnect_to_primary_asap(mStack, value); } + + bctbx_list_t *getPendingAuths () const { return bctbx_list_copy(mPendingAuths); } + + void setContactLinphoneSpecs (const char *specs); + + + // --------------------------------------------------------------------------- + // Network parameters + // --------------------------------------------------------------------------- + int setListenPort (const char *addr, int port, SalTransport tr, bool_t isTunneled); + int getListeningPort (SalTransport tr); + int isTransportAvailable (SalTransport t); + + void getDefaultLocalIp (int addressFamily, char *ip, size_t ipLen); + + void setTransportTimeout (int value) { belle_sip_stack_set_transport_timeout(mStack, value); } + int getTransportTimeout () const { return belle_sip_stack_get_transport_timeout(mStack); } + + void setKeepAlivePeriod (unsigned int value); + unsigned int getKeepAlivePeriod () const { return mKeepAlive; } + void useTcpTlsKeepAlive (bool_t value) { mUseTcpTlsKeepAlive = value; } + + void setDscp (int dscp) { belle_sip_stack_set_default_dscp(mStack, dscp); } + + int setTunnel (void *tunnelClient); + + void setHttpProxyHost (const char *value) { belle_sip_stack_set_http_proxy_host(mStack, value); } + const char *getHttpProxyHost () const { return belle_sip_stack_get_http_proxy_host(mStack); } + + void setHttpProxyPort (int value) { belle_sip_stack_set_http_proxy_port(mStack, value); } + int getHttpProxyPort () const { return belle_sip_stack_get_http_proxy_port(mStack); } + + ortp_socket_t getSocket () const; + + int unlistenPorts (); + int resetTransports (); + + + // --------------------------------------------------------------------------- + // TLS parameters + // --------------------------------------------------------------------------- + void setSslConfig (void *sslConfig); + void setRootCa (const char *value); + void setRootCaData (const char *data); + const char *getRootCa () const { return mRootCa; } + + void verifyServerCertificates (bool_t value); + void verifyServerCn (bool_t value); + + + // --------------------------------------------------------------------------- + // DNS resolution + // --------------------------------------------------------------------------- + void setDnsTimeout (int value) { belle_sip_stack_set_dns_timeout(mStack, value); } + int getDnsTimeout () const { return belle_sip_stack_get_dns_timeout(mStack); } + + void setDnsServers (const bctbx_list_t *servers); + + void enableDnsSearch (bool_t value) { belle_sip_stack_enable_dns_search(mStack, (unsigned char)value); } + bool_t dnsSearchEnabled () const { return (bool_t)belle_sip_stack_dns_search_enabled(mStack); } + + void enableDnsSrv (bool_t value) { belle_sip_stack_enable_dns_srv(mStack, (unsigned char)value); } + bool_t dnsSrvEnabled () const { return (bool_t)belle_sip_stack_dns_srv_enabled(mStack); } + + void setDnsUserHostsFile (const char *value) { belle_sip_stack_set_dns_user_hosts_file(mStack, value); } + const char *getDnsUserHostsFile () const { return belle_sip_stack_get_dns_user_hosts_file(mStack); } + + belle_sip_resolver_context_t *resolveA (const char *name, int port, int family, belle_sip_resolver_callback_t cb, void *data) { + return belle_sip_stack_resolve_a(mStack, name, port, family, cb, data); + } + belle_sip_resolver_context_t *resolve (const char *service, const char *transport, const char *name, int port, int family, belle_sip_resolver_callback_t cb, void *data) { + return belle_sip_stack_resolve(mStack, service, transport, name, port, family, cb, data); } - void set_user_pointer(void *user_data) {this->up=user_data;} - void *get_user_pointer() const {return this->up;} - void set_callbacks(const Callbacks *cbs); - - void *get_stack_impl() {return this->stack;} - - int iterate() {belle_sip_stack_sleep(this->stack,0); return 0;} - - void set_send_error(int value) {belle_sip_stack_set_send_error(this->stack,value);} - void set_recv_error(int value) {belle_sip_provider_set_recv_error(this->prov,value);} - - - /******************/ - /* SIP parameters */ - /******************/ - void set_supported_tags(const char* tags); - const char *get_supported_tags() const {return this->supported ? belle_sip_header_get_unparsed_value(this->supported) : NULL;} - void add_supported_tag(const char* tag); - void remove_supported_tag(const char* tag); - - void set_user_agent(const char *user_agent); - const char* get_user_agent() const; - void append_stack_string_to_user_agent(); - - bool_t content_encoding_available(const char *content_encoding) {return (bool_t)belle_sip_stack_content_encoding_available(this->stack, content_encoding);} - bool_t is_content_type_supported(const char *content_type) const; - void add_content_type_support(const char *content_type); - void remove_content_type_support(const char *content_type); - - void set_default_sdp_handling(SalOpSDPHandling sdp_handling_method); - - void set_uuid(const char *uuid); - int create_uuid(char *uuid, size_t len); - static int generate_uuid(char *uuid, size_t len); - - void enable_nat_helper(bool_t enable); - bool_t nat_helper_enabled() const {return this->_nat_helper_enabled;} - - bool_t pending_trans_checking_enabled() const {return this->pending_trans_checking;} - int enable_pending_trans_checking(bool_t value) {this->pending_trans_checking = value; return 0;} - - void set_refresher_retry_after(int value) {this->refresher_retry_after=value;} - int get_refresher_retry_after() const {return this->refresher_retry_after;} - - void enable_sip_update_method(bool_t value) {this->enable_sip_update=value;} - void use_session_timers(int expires) {this->session_expires=expires;} - void use_dates(bool_t enabled) {this->_use_dates=enabled;} - void use_one_matching_codec_policy(bool_t one_matching_codec) {this->one_matching_codec=one_matching_codec;} - void use_rport(bool_t use_rports); - void enable_auto_contacts(bool_t enabled) {this->auto_contacts=enabled;} - void enable_test_features(bool_t enabled) {this->_enable_test_features=enabled;} - void use_no_initial_route(bool_t enabled) {this->no_initial_route=enabled;} - void enable_unconditional_answer(int value) {belle_sip_provider_enable_unconditional_answer(this->prov,value);} - void enable_reconnect_to_primary_asap(bool_t enabled) {belle_sip_stack_enable_reconnect_to_primary_asap(this->stack,enabled);} - - bctbx_list_t *get_pending_auths() const {return bctbx_list_copy(this->pending_auths);} - - void set_contact_linphone_specs(const char *specs); - - /**********************/ - /* Network parameters */ - /**********************/ - int set_listen_port(const char *addr, int port, SalTransport tr, bool_t is_tunneled); - int get_listening_port(SalTransport tr); - int transport_available(SalTransport t); - - void get_default_local_ip(int address_family, char *ip, size_t iplen); - - void set_transport_timeout(int timeout) {belle_sip_stack_set_transport_timeout(this->stack, timeout);} - int get_transport_timeout() const {return belle_sip_stack_get_transport_timeout(this->stack);} - - void set_keepalive_period(unsigned int value); - unsigned int get_keepalive_period() const {return this->keep_alive;} - void use_tcp_tls_keepalive(bool_t enabled) {this->use_tcp_tls_keep_alive=enabled;} - - void set_dscp(int dscp) {belle_sip_stack_set_default_dscp(this->stack,dscp);} - - int set_tunnel(void *tunnelclient); - - void set_http_proxy_host(const char *host) {belle_sip_stack_set_http_proxy_host(this->stack, host);} - const char *get_http_proxy_host() const {return belle_sip_stack_get_http_proxy_host(this->stack);} - - void set_http_proxy_port(int port) {belle_sip_stack_set_http_proxy_port(this->stack, port);} - int get_http_proxy_port() const {return belle_sip_stack_get_http_proxy_port(this->stack);} - - ortp_socket_t get_socket() const; - - int unlisten_ports(); - int reset_transports(); - - - /******************/ - /* TLS parameters */ - /******************/ - void set_ssl_config(void *ssl_config); - void set_root_ca(const char* rootCa); - void set_root_ca_data(const char* data); - const char *get_root_ca() const {return this->root_ca;} - - void verify_server_certificates(bool_t verify); - void verify_server_cn(bool_t verify); - - - /******************/ - /* DNS resolution */ - /******************/ - void set_dns_timeout(int timeout) {belle_sip_stack_set_dns_timeout(this->stack, timeout);} - int get_dns_timeout() const {return belle_sip_stack_get_dns_timeout(this->stack);} - - void set_dns_servers(const bctbx_list_t *servers); - - void enable_dns_search(bool_t enable) {belle_sip_stack_enable_dns_search(this->stack, (unsigned char)enable);} - bool_t dns_search_enabled() const {return (bool_t)belle_sip_stack_dns_search_enabled(this->stack);} - - void enable_dns_srv(bool_t enable) {belle_sip_stack_enable_dns_srv(this->stack, (unsigned char)enable);} - bool_t dns_srv_enabled() const {return (bool_t)belle_sip_stack_dns_srv_enabled(this->stack);} - - void set_dns_user_hosts_file(const char *hosts_file) {belle_sip_stack_set_dns_user_hosts_file(this->stack, hosts_file);} - const char *get_dns_user_hosts_file() const {return belle_sip_stack_get_dns_user_hosts_file(this->stack);} - - belle_sip_resolver_context_t *resolve_a(const char *name, int port, int family, belle_sip_resolver_callback_t cb, void *data) - {return belle_sip_stack_resolve_a(this->stack,name,port,family,cb,data);} - belle_sip_resolver_context_t *resolve(const char *service, const char *transport, const char *name, int port, int family, belle_sip_resolver_callback_t cb, void *data) - {return belle_sip_stack_resolve(this->stack, service, transport, name, port, family, cb, data);} - - - /**********/ - /* Timers */ - /**********/ - belle_sip_source_t *create_timer(belle_sip_source_func_t func, void *data, unsigned int timeout_value_ms, const char* timer_name); - void cancel_timer(belle_sip_source_t *timer); + // --------------------------------------------------------------------------- + // Timers + // --------------------------------------------------------------------------- + belle_sip_source_t *createTimer (belle_sip_source_func_t func, void *data, unsigned int timeoutValueMs, const char *timerName); + void cancelTimer (belle_sip_source_t *timer); private: @@ -262,57 +269,59 @@ private: unsigned char node[6]; }; - void set_tls_properties(); - int add_listen_port(SalAddress* addr, bool_t is_tunneled); - void make_supported_header(); - void add_pending_auth(SalOp *op); - void remove_pending_auth(SalOp *op); - belle_sip_response_t* create_response_from_request (belle_sip_request_t* req, int code ); + void setTlsProperties (); + int addListenPort (SalAddress *addr, bool_t isTunneled); + void makeSupportedHeader (); + void addPendingAuth (SalOp *op); + void removePendingAuth (SalOp *op); + belle_sip_response_t *createResponseFromRequest (belle_sip_request_t *req, int code); - static void unimplemented_stub() {ms_warning("Unimplemented SAL callback");} - static void remove_listening_point(belle_sip_listening_point_t* lp,belle_sip_provider_t* prov) {belle_sip_provider_remove_listening_point(prov,lp);} + static void unimplementedStub() { lWarning() << "Unimplemented SAL callback"; } + static void removeListeningPoint (belle_sip_listening_point_t *lp,belle_sip_provider_t *prov) { + belle_sip_provider_remove_listening_point(prov, lp); + } - /* Internal callbacks */ - static void process_dialog_terminated_cb(void *sal, const belle_sip_dialog_terminated_event_t *event); - static void process_io_error_cb(void *user_ctx, const belle_sip_io_error_event_t *event); - static void process_request_event_cb(void *ud, const belle_sip_request_event_t *event); - static void process_response_event_cb(void *user_ctx, const belle_sip_response_event_t *event); - static void process_timeout_cb(void *user_ctx, const belle_sip_timeout_event_t *event); - static void process_transaction_terminated_cb(void *user_ctx, const belle_sip_transaction_terminated_event_t *event); - static void process_auth_requested_cb(void *sal, belle_sip_auth_event_t *event); + // Internal callbacks + static void processDialogTerminatedCb (void *userCtx, const belle_sip_dialog_terminated_event_t *event); + static void processIoErrorCb (void *userCtx, const belle_sip_io_error_event_t *event); + static void processRequestEventCb (void *userCtx, const belle_sip_request_event_t *event); + static void processResponseEventCb (void *userCtx, const belle_sip_response_event_t *event); + static void processTimeoutCb (void *userCtx, const belle_sip_timeout_event_t *event); + static void processTransactionTerminatedCb (void *userCtx, const belle_sip_transaction_terminated_event_t *event); + static void processAuthRequestedCb (void *userCtx, belle_sip_auth_event_t *event); - MSFactory *factory = NULL; - Callbacks callbacks = {0}; - MSList *pending_auths = NULL;/*MSList of SalOp */ - belle_sip_stack_t* stack = NULL; - belle_sip_provider_t *prov = NULL; - belle_sip_header_user_agent_t* user_agent = NULL; - belle_sip_listener_t *listener = NULL; - void *tunnel_client = NULL; - void *up = NULL; /*user pointer*/ - int session_expires = 0; - unsigned int keep_alive = 0; - char *root_ca = NULL; - char *root_ca_data = NULL; - char *uuid = NULL; - int refresher_retry_after = 60000; /*retry after value for refresher*/ - MSList *supported_tags = NULL;/*list of char * */ - belle_sip_header_t *supported = NULL; - bool_t one_matching_codec = FALSE; - bool_t use_tcp_tls_keep_alive = FALSE; - bool_t _nat_helper_enabled = FALSE; - bool_t tls_verify = TRUE; - bool_t tls_verify_cn = TRUE; - bool_t _use_dates = FALSE; - bool_t auto_contacts = TRUE; - bool_t _enable_test_features = FALSE; - bool_t no_initial_route = FALSE; - bool_t enable_sip_update = TRUE; /*true by default*/ - SalOpSDPHandling default_sdp_handling = SalOpSDPNormal; - bool_t pending_trans_checking = TRUE; /*testing purpose*/ - void *ssl_config = NULL; - bctbx_list_t *supported_content_types = NULL; /* list of char* */ - char *linphone_specs = NULL; + MSFactory *mFactory = nullptr; + Callbacks mCallbacks = { 0 }; + MSList *mPendingAuths = nullptr; // List of SalOp + belle_sip_stack_t *mStack = nullptr; + belle_sip_provider_t *mProvider = nullptr; + belle_sip_header_user_agent_t *mUserAgent = nullptr; + belle_sip_listener_t *mListener = nullptr; + void *mTunnelClient = nullptr; + void *mUserPointer = nullptr; // User pointer + int mSessionExpires = 0; + unsigned int mKeepAlive = 0; + char *mRootCa = nullptr; + char *mRootCaData = nullptr; + char *mUuid = nullptr; + int mRefresherRetryAfter = 60000; // Retry after value for refresher + MSList *mSupportedTags = nullptr; // List of char * + belle_sip_header_t *mSupported = nullptr; + bool_t mOneMatchingCodec = FALSE; + bool_t mUseTcpTlsKeepAlive = FALSE; + bool_t mNatHelperEnabled = FALSE; + bool_t mTlsVerify = TRUE; + bool_t mTlsVerifyCn = TRUE; + bool_t mUseDates = FALSE; + bool_t mAutoContacts = TRUE; + bool_t mEnableTestFeatures = FALSE; + bool_t mNoInitialRoute = FALSE; + bool_t mEnableSipUpdate = TRUE; // true by default + SalOpSDPHandling mDefaultSdpHandling = SalOpSDPNormal; + bool_t mPendingTransactionChecking = TRUE; // For testing purposes + void *mSslConfig = nullptr; + bctbx_list_t *mSupportedContentTypes = nullptr; // List of char * + char *mLinphoneSpecs = nullptr; friend class SalOp; friend class SalCallOp; @@ -329,3 +338,4 @@ int to_sip_code(SalReason r); LINPHONE_END_NAMESPACE #endif // ifndef _L_SAL_H_ + diff --git a/src/utils/background-task.cpp b/src/utils/background-task.cpp index b91a10f8d..fcea4f2f3 100644 --- a/src/utils/background-task.cpp +++ b/src/utils/background-task.cpp @@ -61,7 +61,7 @@ void BackgroundTask::start (const shared_ptr &core, int maxDurationSeconds mId = newId; if (maxDurationSeconds > 0) { mSal = core->getCCore()->sal; - mTimeout = mSal->create_timer(sHandleSalTimeout, this, (unsigned int)maxDurationSeconds * 1000, mName.c_str()); + mTimeout = mSal->createTimer(sHandleSalTimeout, this, (unsigned int)maxDurationSeconds * 1000, mName.c_str()); } } @@ -72,7 +72,7 @@ void BackgroundTask::stop () { lInfo() << "Ending background task [" << mId << "] with name: [" << mName << "]"; sal_end_background_task(mId); if (mTimeout) { - mSal->cancel_timer(mTimeout); + mSal->cancelTimer(mTimeout); belle_sip_object_unref(mTimeout); mTimeout = nullptr; }