From dbf6d7accc57c7cf243fc09a19457222e13d032b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= <rafael.carre@savoirfairelinux.com> Date: Mon, 15 Aug 2011 16:36:23 -0400 Subject: [PATCH] removeCall() : simplify , fix leak --- daemon/src/iax/iaxvoiplink.cpp | 13 ------------- daemon/src/iax/iaxvoiplink.h | 5 ----- daemon/src/sip/sipvoiplink.cpp | 13 ------------- daemon/src/sip/sipvoiplink.h | 5 ----- daemon/src/voiplink.cpp | 5 ++--- daemon/src/voiplink.h | 6 ------ 6 files changed, 2 insertions(+), 45 deletions(-) diff --git a/daemon/src/iax/iaxvoiplink.cpp b/daemon/src/iax/iaxvoiplink.cpp index c0d2a7cfa9..26d6b7ce20 100644 --- a/daemon/src/iax/iaxvoiplink.cpp +++ b/daemon/src/iax/iaxvoiplink.cpp @@ -181,19 +181,6 @@ IAXVoIPLink::terminateIAXCall() _callMap.clear(); } -void IAXVoIPLink::terminateCall (const std::string& id) -{ - IAXCall* call = getIAXCall (id); - - if (call) { - _debug ("IAXVoIPLink: Terminate call"); - delete call; - call = 0; - } -} - - - void IAXVoIPLink::getEvent() { diff --git a/daemon/src/iax/iaxvoiplink.h b/daemon/src/iax/iaxvoiplink.h index 245c09fa6c..1aeefc9c8b 100644 --- a/daemon/src/iax/iaxvoiplink.h +++ b/daemon/src/iax/iaxvoiplink.h @@ -88,11 +88,6 @@ class IAXVoIPLink : public VoIPLink */ virtual void terminate (void); - /** - * Terminate on call - */ - virtual void terminateCall (const std::string& id); - /** * Send out registration * @return bool The new registration state (are we registered ?) diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp index 91a4d18db9..f58d8ba1e1 100644 --- a/daemon/src/sip/sipvoiplink.cpp +++ b/daemon/src/sip/sipvoiplink.cpp @@ -1330,19 +1330,6 @@ SIPVoIPLink::refuse (const std::string& id) return true; } -void -SIPVoIPLink::terminateCall (const std::string& id) -{ - _debug ("UserAgent: Terminate call %s", id.c_str()); - - SIPCall *call = getSIPCall (id); - - if (call) { - // terminate the sip call - delete call; - } -} - std::string SIPVoIPLink::getCurrentCodecName(const std::string& id) { diff --git a/daemon/src/sip/sipvoiplink.h b/daemon/src/sip/sipvoiplink.h index a38894e47b..3bc2fcf78a 100644 --- a/daemon/src/sip/sipvoiplink.h +++ b/daemon/src/sip/sipvoiplink.h @@ -212,11 +212,6 @@ class SIPVoIPLink : public VoIPLink */ virtual bool refuse (const std::string& id); - /** - * Terminate only one call - */ - virtual void terminateCall (const std::string& id); - /** * Send DTMF refering to account configuration * @param id The call identifier diff --git a/daemon/src/voiplink.cpp b/daemon/src/voiplink.cpp index 34e843675d..ac6c92a223 100644 --- a/daemon/src/voiplink.cpp +++ b/daemon/src/voiplink.cpp @@ -61,9 +61,8 @@ void VoIPLink::removeCall (const std::string& id) _debug ("VoipLink: removing call %s from list", id.c_str()); - _callMap.erase (id); - - terminateCall (id); + delete _callMap[id]; + _callMap.erase(id); } Call* VoIPLink::getCall (const std::string& id) diff --git a/daemon/src/voiplink.h b/daemon/src/voiplink.h index 0a8b945e69..c8f3ee8e20 100644 --- a/daemon/src/voiplink.h +++ b/daemon/src/voiplink.h @@ -87,12 +87,6 @@ class VoIPLink */ virtual void terminate (void) = 0; - /** - * Virtual method - * Delete calls - */ - virtual void terminateCall (const std::string& id) = 0; - /** * Virtual method * Build and send account registration request -- GitLab