From 753c819734c15870e19b153fee054742e5d215dd Mon Sep 17 00:00:00 2001 From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Date: Thu, 17 Aug 2023 17:21:24 -0400 Subject: [PATCH] upnp: set context in ConnectionManager Change-Id: I2fe4f7e2c48edb99154d07619a79dae3bff6b091 --- include/upnp/upnp_control.h | 2 +- src/connectionmanager.cpp | 1 + src/ice_transport.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/upnp/upnp_control.h b/include/upnp/upnp_control.h index 7393616..6958539 100644 --- a/include/upnp/upnp_control.h +++ b/include/upnp/upnp_control.h @@ -31,7 +31,7 @@ namespace upnp { class UPnPContext; -class Controller +class Controller : std::enable_shared_from_this<Controller> { public: Controller(const std::shared_ptr<UPnPContext>& ctx); diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index dfe3fec..47e730f 100644 --- a/src/connectionmanager.cpp +++ b/src/connectionmanager.cpp @@ -1473,6 +1473,7 @@ ConnectionManager::Impl::getIceOptions() const noexcept IceTransportOptions opts; opts.factory = config_->factory; opts.upnpEnable = getUPnPActive(); + opts.upnpContext = config_->upnpCtrl; if (config_->stunEnabled) opts.stunServers.emplace_back(StunServerInfo().setUri(config_->stunServer)); diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp index a31fdb3..d187d9a 100644 --- a/src/ice_transport.cpp +++ b/src/ice_transport.cpp @@ -415,7 +415,7 @@ IceTransport::Impl::initIceInstance(const IceTransportOptions& options) initiatorSession_ ? "master" : "slave"); if (upnpEnabled_) - upnp_.reset(new upnp::Controller(options.upnpContext)); + upnp_ = std::make_shared<upnp::Controller>(options.upnpContext); config_ = options.factory->getIceCfg(); // config copy if (isTcp_) { -- GitLab