Add pre sending pkg event to amd 93/280293/7
authorChanggyu Choi <changyu.choi@samsung.com>
Fri, 26 Aug 2022 08:21:21 +0000 (17:21 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Mon, 5 Sep 2022 06:40:42 +0000 (15:40 +0900)
Requires:
 - https://review.tizen.org/gerrit/c/platform/core/appfw/aul-1/+/280292

Change-Id: I91c1baac158b81ed48cd27ebfab315dc4e794933
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
src/common/pkgmgr_signal.cc

index 7446f73..62d695d 100644 (file)
@@ -6,6 +6,8 @@
 
 #include <manifest_parser/utils/logging.h>
 
+#include <aul.h>
+#include <bundle_cpp.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <systemd/sd-login.h>
@@ -135,6 +137,7 @@ bool PkgmgrSignal::SendFinished(
           PKGMGR_INSTALLER_ERROR_KEY_STR,
           std::to_string(static_cast<int>(result)).c_str(), type, pkgid);
   }
+
   if (!SendSignal(
       PKGMGR_INSTALLER_END_KEY_STR, GetResultKey(result), type, pkgid))
     return false;
@@ -142,6 +145,7 @@ bool PkgmgrSignal::SendFinished(
   for (auto l : user_list_)
     SendSignal(l.first,
         PKGMGR_INSTALLER_END_KEY_STR, GetResultKey(result), type, pkgid);
+
   state_ = State::FINISHED;
   return true;
 }
@@ -186,6 +190,19 @@ bool PkgmgrSignal::SendSignal(
     const char* value,
     const std::string& type,
     const std::string& pkgid) const {
+
+  uid_t uid = pkgmgr_installer_get_uid(pi_);
+  tizen_base::Bundle b({
+    { AUL_K_PKGID, pkgid },
+    { AUL_K_PACKAGETYPE, type },
+    { AUL_K_PKG_EVENT_NAME, key },
+    { AUL_K_PKG_EVENT_RESULT, value }
+  });
+
+  int ret = aul_package_pre_event_send(uid, b.GetHandle());
+  if (ret != 0)
+    LOG(ERROR) << "aul_package_pre_event_send() is failed";
+
   // send pkgmgr signal
   if (pkgmgr_installer_send_signal(
         pi_,
@@ -210,6 +227,18 @@ bool PkgmgrSignal::SendSignal(
     const char* value,
     const std::string& type,
     const std::string& pkgid) const {
+
+  tizen_base::Bundle b({
+    { AUL_K_PKGID, pkgid },
+    { AUL_K_PACKAGETYPE, type},
+    { AUL_K_PKG_EVENT_NAME, key},
+    { AUL_K_PKG_EVENT_RESULT, value}
+  });
+
+  int ret = aul_package_pre_event_send(uid, b.GetHandle());
+  if (ret != 0)
+    LOG(ERROR) << "aul_package_pre_event_send() is failed";
+
   // send pkgmgr signal
   if (pkgmgr_installer_send_signal_for_uid(
         pi_,