From 16dc05e6893c5ec6e6f411cdd4c1ed2db4f73866 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Tue, 6 Jan 2015 14:24:37 -0500
Subject: [PATCH] siptransport: move inline methods from .h to .cpp

Refs #63196

Change-Id: I76f22d7de82c380c5f7d984205627763e118b8e1
---
 daemon/src/sip/siptransport.cpp | 33 +++++++++++++++++++++++++++++++++
 daemon/src/sip/siptransport.h   | 33 +++++----------------------------
 2 files changed, 38 insertions(+), 28 deletions(-)

diff --git a/daemon/src/sip/siptransport.cpp b/daemon/src/sip/siptransport.cpp
index de0d22b560..94ddcd3fe1 100644
--- a/daemon/src/sip/siptransport.cpp
+++ b/daemon/src/sip/siptransport.cpp
@@ -111,6 +111,39 @@ SipTransport::stateToStr(pjsip_transport_state state)
     return TRANSPORT_STATE_STR[std::min<size_t>(state, TRANSPORT_STATE_SZ-1)];
 }
 
+void
+SipTransport::stateCallback(pjsip_transport_state state, const pjsip_transport_state_info *info)
+{
+    std::vector<SipTransportStateCallback> cbs {};
+    {
+        std::lock_guard<std::mutex> lock(stateListenersMutex_);
+        cbs.reserve(stateListeners.size());
+        for (auto& l : stateListeners)
+            cbs.push_back(l.second);
+    }
+    for (auto& cb : cbs)
+        cb(state, info);
+}
+
+void
+SipTransport::addStateListener(uintptr_t lid, SipTransportStateCallback cb)
+{
+    std::lock_guard<std::mutex> lock(stateListenersMutex_);
+    stateListeners[lid] = cb;
+}
+
+bool
+SipTransport::removeStateListener(uintptr_t lid)
+{
+    std::lock_guard<std::mutex> lock(stateListenersMutex_);
+    auto it = stateListeners.find(lid);
+    if (it != stateListeners.end()) {
+        stateListeners.erase(it);
+        return true;
+    }
+    return false;
+}
+
 SipTransportBroker::SipTransportBroker(pjsip_endpoint *endpt, pj_caching_pool& cp, pj_pool_t& pool) :
 #if HAVE_DHT
 iceTransports_(),
diff --git a/daemon/src/sip/siptransport.h b/daemon/src/sip/siptransport.h
index 3e94a593a4..4c64d4cbe9 100644
--- a/daemon/src/sip/siptransport.h
+++ b/daemon/src/sip/siptransport.h
@@ -115,36 +115,14 @@ struct SipTransport
 
     static const char* stateToStr(pjsip_transport_state state);
 
-    void stateCallback(pjsip_transport_state state, const pjsip_transport_state_info *info) {
-        std::vector<SipTransportStateCallback> cbs {};
-        {
-            std::lock_guard<std::mutex> lock(stateListenersMutex_);
-            cbs.reserve(stateListeners.size());
-            for (auto& l : stateListeners)
-                cbs.push_back(l.second);
-        }
-        for (auto& cb : cbs)
-            cb(state, info);
-    }
+    void stateCallback(pjsip_transport_state state, const pjsip_transport_state_info *info);
 
     pjsip_transport* get() {
         return transport;
     }
 
-    void addStateListener(uintptr_t lid, SipTransportStateCallback cb) {
-        std::lock_guard<std::mutex> lock(stateListenersMutex_);
-        stateListeners[lid] = cb;
-    }
-
-    bool removeStateListener(uintptr_t lid) {
-        std::lock_guard<std::mutex> lock(stateListenersMutex_);
-        auto it = stateListeners.find(lid);
-        if (it != stateListeners.end()) {
-            stateListeners.erase(it);
-            return true;
-        }
-        return false;
-    }
+    void addStateListener(uintptr_t lid, SipTransportStateCallback cb);
+    bool removeStateListener(uintptr_t lid);
 
     static bool isAlive(const std::shared_ptr<SipTransport>&, pjsip_transport_state state);
 
@@ -239,6 +217,8 @@ private:
      * List of transports so we can bubble the events up.
      */
     std::map<pjsip_transport*, std::weak_ptr<SipTransport>> transports_ {};
+    std::mutex transportMapMutex_ {};
+    std::condition_variable transportDestroyedCv_ {};
 
     /**
      * Transports are stored in this map in order to retreive them in case
@@ -256,9 +236,6 @@ private:
     std::mutex iceMutex_ {};
 #endif
 
-    std::mutex transportMapMutex_ {};
-    std::condition_variable transportDestroyedCv_ {};
-
     pj_caching_pool& cp_;
     pj_pool_t& pool_;
     pjsip_endpoint *endpt_;
-- 
GitLab