From 9b72fd27397180acef2af5ba11d431b497065139 Mon Sep 17 00:00:00 2001 From: Ilho Kim Date: Wed, 17 Apr 2024 14:40:03 +0900 Subject: [PATCH] Fix pkgmgr_client_remove_listen_status Change-Id: Ib20d216f90a74c2e376f84623b6ff4615e5f98d6 Signed-off-by: Ilho Kim --- client/src/api_stub.cc | 3 +-- client/src/connector.cc | 5 +++++ client/src/connector.hh | 1 + client/src/signal_receiver.cc | 11 ----------- client/src/signal_receiver.hh | 1 - 5 files changed, 7 insertions(+), 14 deletions(-) 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(); -- 2.7.4