From: Ilho Kim Date: Wed, 17 Apr 2024 05:40:03 +0000 (+0900) Subject: Fix pkgmgr_client_remove_listen_status X-Git-Tag: accepted/tizen/unified/20240419.110905~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F31%2F309831%2F2;p=platform%2Fcore%2Fappfw%2Fslp-pkgmgr.git Fix pkgmgr_client_remove_listen_status Change-Id: Ib20d216f90a74c2e376f84623b6ff4615e5f98d6 Signed-off-by: Ilho Kim --- diff --git a/client/src/api_stub.cc b/client/src/api_stub.cc index 20dc44d..16b01ff 100644 --- a/client/src/api_stub.cc +++ b/client/src/api_stub.cc @@ -1222,8 +1222,7 @@ API int pkgmgr_client_remove_listen_status(pkgmgr_client *pc) { auto* con = static_cast(pc); try { - const auto& receiver = con->GetSignalReceiver(); - receiver->RemoveEventHandler(); + con->RemoveSignalReceiver(); return PKGMGR_R_OK; } catch (...) { _E("Exception occured"); diff --git a/client/src/connector.cc b/client/src/connector.cc index a9e0948..1382998 100644 --- a/client/src/connector.cc +++ b/client/src/connector.cc @@ -198,6 +198,11 @@ const std::unique_ptr& Connector::GetSignalReceiver() { return signal_receiver_; } +void Connector::RemoveSignalReceiver() { + if (signal_receiver_) + signal_receiver_.reset(); +} + pkgmgr_client_type Connector::GetPcType() const { return pc_type_; } diff --git a/client/src/connector.hh b/client/src/connector.hh index e81b6fe..3c794a8 100644 --- a/client/src/connector.hh +++ b/client/src/connector.hh @@ -59,6 +59,7 @@ class Connector { std::vector& GetResCopyPath(); const std::string& GetTepPath(); bool GetTepMove(); + void RemoveSignalReceiver(); private: bool ConnectForAdmin(); diff --git a/client/src/signal_receiver.cc b/client/src/signal_receiver.cc index fc669e8..b4761f0 100644 --- a/client/src/signal_receiver.cc +++ b/client/src/signal_receiver.cc @@ -257,17 +257,6 @@ void SignalReceiver::SetStatusType(int status_type) { } -void SignalReceiver::RemoveEventHandler() { - handlers_.clear(); - global_handlers_.clear(); - res_handlers_.clear(); - global_res_handlers_.clear(); - size_info_handlers_.clear(); - global_size_info_handlers_.clear(); - global_pkg_upgrade_handlers_.clear(); -} - - int SignalReceiver::GetRequestId() { return ++request_id_; } diff --git a/client/src/signal_receiver.hh b/client/src/signal_receiver.hh index 65db908..18a4572 100644 --- a/client/src/signal_receiver.hh +++ b/client/src/signal_receiver.hh @@ -58,7 +58,6 @@ class SignalReceiver : public pkg_group::PkgSignal { void* data); int AddEventHandler(pkgmgr_pkg_upgrade_handler event_cb, void* data); void SetStatusType(int status_type); - void RemoveEventHandler(); private: static int GetRequestId();