Fix signal name during send signal 15/309715/1
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 16 Apr 2024 01:38:43 +0000 (10:38 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Tue, 16 Apr 2024 01:38:43 +0000 (10:38 +0900)
Change-Id: I202efc3fd2221af9ce44e771204e3def53fef221
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
installer/pkgmgr_installer_signal_agent.cc
installer/src/control.cc

index 227c3ad..38c5c6b 100644 (file)
@@ -172,7 +172,7 @@ static void __emit_signal_for_res_event(const char* signal, GVariant* gv) {
   }
 }
 
-static void __emit_signal_for_pkg_event(GVariant* gv) {
+static void __emit_signal_for_pkg_event(const char* signal, GVariant* gv) {
   uid_t target_uid;
   char* req_id;
   char* pkg_type = NULL;
@@ -191,7 +191,8 @@ static void __emit_signal_for_pkg_event(GVariant* gv) {
   g_variant_iter_free(iter);
 
   try {
-    signal_sender->AsyncResult("", target_uid, req_id, std::move(pkgs), key, val);
+    signal_sender->AsyncResult(signal, target_uid, req_id,
+        std::move(pkgs), key, val);
   } catch (...) {
     LOGE("Exception occured");
   }
@@ -323,7 +324,7 @@ static gboolean __handle_signal(gint fd,
   } else {
     gv = g_variant_new_from_data(G_VARIANT_TYPE("(usa(sss)ss)"),
         data, data_len, TRUE, NULL, NULL);
-    __emit_signal_for_pkg_event(gv);
+    __emit_signal_for_pkg_event(type_name, gv);
   }
   g_variant_unref(gv);
 
index e01db4b..e88213b 100644 (file)
@@ -384,12 +384,14 @@ int Control::SendSignal(std::string pkg_type, std::string pkgid,
     return -1;
   }
   auto& req = GetRequest();
+  const char* signal_name =
+      __get_signal_name(req, key.c_str(), pkg_type.c_str());
   std::vector<rpc_port::PkgSignal::PkgInfo> pkgs;
   pkgs.emplace_back(std::move(pkgid), std::move(appid), std::move(pkg_type));
 
   try {
-    signal_->AsyncResult("", req->GetUid(), req->GetSessionId(), std::move(pkgs),
-        key, val);
+    signal_->AsyncResult(signal_name, req->GetUid(), req->GetSessionId(),
+        std::move(pkgs), key, val);
     return 0;
   } catch (...) {
     _E("Exception occured");
@@ -403,9 +405,12 @@ int Control::SendSignals(std::string key, std::string val) {
     return -1;
   }
   auto& req = GetRequest();
+  const char* signal_name =
+      __get_signal_name(req, key.c_str(), "");
 
   try {
-    signal_->AsyncResult("", req->GetUid(), req->GetSessionId(), pkgs_, key, val);
+    signal_->AsyncResult(signal_name, req->GetUid(),
+        req->GetSessionId(), pkgs_, key, val);
     return 0;
   } catch (...) {
     _E("Exception occured");