diff --git a/include/upnp/mapping.h b/include/upnp/mapping.h index f5ce95f4048932698db2a3d84b160e477867bb09..e92a654b33b373011c75be5a2bf852106760bde5 100644 --- a/include/upnp/mapping.h +++ b/include/upnp/mapping.h @@ -36,7 +36,7 @@ enum class MappingState { PENDING, IN_PROGRESS, FAILED, OPEN }; enum class NatProtocolType; class IGD; -class Mapping : std::enable_shared_from_this<Mapping> +class Mapping { friend class UPnPContext; friend class NatPmp; @@ -112,7 +112,6 @@ private: void setIgd(const std::shared_ptr<IGD>& igd); void setAvailable(bool val); void setState(const MappingState& state); - void updateState(const MappingState& state, bool notify = true); void updateDescription(); #if HAVE_LIBNATPMP void setRenewalTime(sys_clock::time_point time); diff --git a/src/upnp/protocol/mapping.cpp b/src/upnp/protocol/mapping.cpp index 0bbcfb69e3b1a80abcb4e7fe692cb6a3a24b3b48..1222261e99cc4d7fdb5b636fb48d927213e795d5 100644 --- a/src/upnp/protocol/mapping.cpp +++ b/src/upnp/protocol/mapping.cpp @@ -96,20 +96,6 @@ Mapping::setState(const MappingState& state) state_ = state; } -void -Mapping::updateState(const MappingState& newState, bool notify) -{ - std::unique_lock<std::mutex> lock(mutex_); - if (newState == state_) - return; - state_ = newState; - - if (notify && notifyCb_) { - lock.unlock(); - notifyCb_(shared_from_this()); - } -} - const char* Mapping::getStateStr() const { diff --git a/src/upnp/upnp_context.cpp b/src/upnp/upnp_context.cpp index 56fa607aa470cf3a2a0081453fc39fabeb340ee0..fb175d111443b73e7d45b62a621e9365d5e53129 100644 --- a/src/upnp/upnp_context.cpp +++ b/src/upnp/upnp_context.cpp @@ -847,7 +847,7 @@ UPnPContext::pruneMappingsWithInvalidIgds(const std::shared_ptr<IGD>& igd) map->toString(), igd->toString(), igd->getProtocolName()); - map->updateState(MappingState::FAILED); + updateMappingState(map, MappingState::FAILED); unregisterMapping(map); } }