diff --git a/include/ice_transport.h b/include/ice_transport.h index ca4b0862f935ddf273ed392cae9300d302265674..c5047b3b33696a10e517e4a50c0a6c0b44590a71 100644 --- a/include/ice_transport.h +++ b/include/ice_transport.h @@ -78,7 +78,7 @@ public: /** * Constructor */ - IceTransport(std::string_view name); + IceTransport(std::string_view name, const std::shared_ptr<Logger>& logger = {}); ~IceTransport(); const std::shared_ptr<Logger>& logger() const; diff --git a/include/ice_transport_factory.h b/include/ice_transport_factory.h index ecb04b0d6d9d5ba57895e3493858a025cb30fda0..03aef1019c4b69434329f0838cfd6cfdfdca0099 100644 --- a/include/ice_transport_factory.h +++ b/include/ice_transport_factory.h @@ -33,7 +33,7 @@ namespace dhtnet { class IceTransportFactory { public: - IceTransportFactory(); + IceTransportFactory(const std::shared_ptr<Logger>& logger = {}); ~IceTransportFactory(); std::shared_ptr<IceTransport> createTransport(std::string_view name); @@ -50,6 +50,7 @@ public: private: std::shared_ptr<pj_caching_pool> cp_; pj_ice_strans_cfg ice_cfg_; + std::shared_ptr<Logger> logger_ {}; }; }; // namespace jami diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp index 602347de8a4b4cd71b57277ed87c1c329b058e23..58e722de4de93f8f91750f6361e8724301f38ee2 100644 --- a/src/ice_transport.cpp +++ b/src/ice_transport.cpp @@ -95,7 +95,7 @@ public: class IceTransport::Impl { public: - Impl(std::string_view name); + Impl(std::string_view name, const std::shared_ptr<Logger>& logger); ~Impl(); void initIceInstance(const IceTransportOptions& options); @@ -327,8 +327,8 @@ add_turn_server(pj_pool_t& pool, pj_ice_strans_cfg& cfg, const TurnServerInfo& i //============================================================================== -IceTransport::Impl::Impl(std::string_view name) - : sessionName_(name) +IceTransport::Impl::Impl(std::string_view name, const std::shared_ptr<Logger>& logger) + : logger_(logger), sessionName_(name) { if (logger_) logger_->debug("[ice:{}] Creating IceTransport session for \"{:s}\"", fmt::ptr(this), name); @@ -1161,8 +1161,8 @@ IceTransport::Impl::_waitForInitialization(std::chrono::milliseconds timeout) //============================================================================== -IceTransport::IceTransport(std::string_view name) - : pimpl_ {std::make_unique<Impl>(name)} +IceTransport::IceTransport(std::string_view name, const std::shared_ptr<dht::log::Logger>& logger) + : pimpl_ {std::make_unique<Impl>(name, logger)} {} IceTransport::~IceTransport() @@ -1795,13 +1795,14 @@ IceTransport::link() const //============================================================================== -IceTransportFactory::IceTransportFactory() +IceTransportFactory::IceTransportFactory(const std::shared_ptr<Logger>& logger) : cp_(new pj_caching_pool(), [](pj_caching_pool* p) { pj_caching_pool_destroy(p); delete p; }) , ice_cfg_() + , logger_(logger) { pj_caching_pool_init(cp_.get(), NULL, 0); @@ -1826,7 +1827,7 @@ std::shared_ptr<IceTransport> IceTransportFactory::createTransport(std::string_view name) { try { - return std::make_shared<IceTransport>(name); + return std::make_shared<IceTransport>(name, logger_); } catch (const std::exception& e) { //JAMI_ERR("%s", e.what()); return nullptr; @@ -1837,7 +1838,7 @@ std::unique_ptr<IceTransport> IceTransportFactory::createUTransport(std::string_view name) { try { - return std::make_unique<IceTransport>(name); + return std::make_unique<IceTransport>(name, logger_); } catch (const std::exception& e) { //JAMI_ERR("%s", e.what()); return nullptr; diff --git a/tests/connectionManager.cpp b/tests/connectionManager.cpp index ef843ef56b526fd195a5aa99f95098b8ea36e67e..a4e37593feb154cad18fd803e3c7c0ae4f7b480e 100644 --- a/tests/connectionManager.cpp +++ b/tests/connectionManager.cpp @@ -197,7 +197,7 @@ ConnectionManagerTest::setUp() //print the error; } }); - factory = std::make_unique<IceTransportFactory>(); + factory = std::make_unique<IceTransportFactory>(logger); alice = setupHandler("alice"); bob = setupHandler("bob"); }