From 567403145f8497161237144f18b26d3cde50f790 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Wed, 23 Aug 2023 08:38:28 -0400
Subject: [PATCH] mapping: cleanup

Change-Id: I126589619de15382b7d6ceef7f28aeb404c04633
---
 include/upnp/mapping.h        |  3 +--
 src/upnp/protocol/mapping.cpp | 14 --------------
 src/upnp/upnp_context.cpp     |  2 +-
 3 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/include/upnp/mapping.h b/include/upnp/mapping.h
index f5ce95f..e92a654 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 0bbcfb6..1222261 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 56fa607..fb175d1 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);
     }
 }
-- 
GitLab