From 1d9ce092ca28ef430111708a0202ccfe16476ca7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Thu, 18 Dec 2014 14:04:32 -0500
Subject: [PATCH] sip transport: fix build without dht

Refs #61679

Change-Id: Ide96d6de67d43d4b9dd93c4aea8b7dc1b1bb5828
---
 daemon/src/sip/siptransport.cpp | 14 ++++++++++++--
 daemon/src/sip/siptransport.h   |  7 ++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/daemon/src/sip/siptransport.cpp b/daemon/src/sip/siptransport.cpp
index b6f77c4885..eabc34e7d4 100644
--- a/daemon/src/sip/siptransport.cpp
+++ b/daemon/src/sip/siptransport.cpp
@@ -112,7 +112,10 @@ SipTransport::stateToStr(pjsip_transport_state state)
 }
 
 SipTransportBroker::SipTransportBroker(pjsip_endpoint *endpt, pj_caching_pool& cp, pj_pool_t& pool) :
-iceTransports_(), cp_(cp), pool_(pool), endpt_(endpt)
+#if HAVE_DHT
+iceTransports_(),
+#endif
+cp_(cp), pool_(pool), endpt_(endpt)
 {
     instance = this;
     auto status = pjsip_tpmgr_set_state_cb(pjsip_endpt_get_tpmgr(endpt_), SipTransportBroker::tp_state_callback);
@@ -121,7 +124,9 @@ iceTransports_(), cp_(cp), pool_(pool), endpt_(endpt)
         sip_utils::sip_strerror(status);
     }
 
+#if HAVE_DHT
     pjsip_transport_register_type(PJSIP_TRANSPORT_DATAGRAM, "ICE", pjsip_transport_get_default_port_for_type(PJSIP_TRANSPORT_UDP), &ice_pj_transport_type_);
+#endif
 }
 
 SipTransportBroker::~SipTransportBroker()
@@ -186,7 +191,9 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp, pjsip_transport_s
                 udpTransports_.erase(transport_key);
                 transportDestroyedCv_.notify_all();
             }
-        } else if (type == ice_pj_transport_type_) {
+        }
+#if HAVE_DHT
+        else if (type == ice_pj_transport_type_) {
             SFL_WARN("ICE transport destroy");
             std::unique_lock<std::mutex> lock(iceMutex_);
             const auto transport_key = std::find_if(iceTransports_.begin(), iceTransports_.end(), [tp](const SipIceTransport& i) {
@@ -195,6 +202,7 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp, pjsip_transport_s
             if (transport_key != iceTransports_.end())
                 iceTransports_.erase(transport_key);
         }
+#endif
     }
 }
 
@@ -369,6 +377,7 @@ SipTransportBroker::getTlsTransport(const std::shared_ptr<TlsListener>& l, const
 }
 #endif
 
+#if HAVE_DHT
 std::shared_ptr<SipTransport>
 SipTransportBroker::getIceTransport(const std::shared_ptr<sfl::IceTransport>& ice)
 {
@@ -383,6 +392,7 @@ SipTransportBroker::getIceTransport(const std::shared_ptr<sfl::IceTransport>& ic
     sip_ice_tr.start();
     return ret;
 }
+#endif
 
 std::vector<pj_sockaddr>
 SipTransportBroker::getSTUNAddresses(const pj_str_t serverName, pj_uint16_t port, std::vector<long> &socketDescriptors) const
diff --git a/daemon/src/sip/siptransport.h b/daemon/src/sip/siptransport.h
index 97abea957f..6301d4d0e2 100644
--- a/daemon/src/sip/siptransport.h
+++ b/daemon/src/sip/siptransport.h
@@ -178,7 +178,9 @@ public:
     std::shared_ptr<SipTransport> getTlsTransport(const std::shared_ptr<TlsListener>&, const IpAddr& remote);
 #endif
 
+#if HAVE_DHT
     std::shared_ptr<SipTransport> getIceTransport(const std::shared_ptr<sfl::IceTransport>&);
+#endif
 
     std::shared_ptr<SipTransport> findTransport(pjsip_transport*);
 
@@ -247,8 +249,12 @@ private:
     /**
      * Storage for SIP/ICE transport instances.
      */
+#if HAVE_DHT
+    int ice_pj_transport_type_ {PJSIP_TRANSPORT_START_OTHER};
+
     std::list<SipIceTransport> iceTransports_;
     std::mutex iceMutex_ {};
+#endif
 
     std::mutex transportMapMutex_ {};
     std::condition_variable transportDestroyedCv_ {};
@@ -257,7 +263,6 @@ private:
     pj_pool_t& pool_;
     pjsip_endpoint *endpt_;
 
-    int ice_pj_transport_type_ {PJSIP_TRANSPORT_START_OTHER};
 };
 
 #endif // SIPTRANSPORT_H_
-- 
GitLab