From 216e51d7e42b3a95aecf3d9fe56eec71b411cafd Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 26 Aug 2022 17:21:21 +0900 Subject: [PATCH] Add pre sending pkg event to amd Requires: - https://review.tizen.org/gerrit/c/platform/core/appfw/aul-1/+/280292 Change-Id: I91c1baac158b81ed48cd27ebfab315dc4e794933 Signed-off-by: Changgyu Choi --- src/common/pkgmgr_signal.cc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/common/pkgmgr_signal.cc b/src/common/pkgmgr_signal.cc index 7446f73..62d695d 100644 --- a/src/common/pkgmgr_signal.cc +++ b/src/common/pkgmgr_signal.cc @@ -6,6 +6,8 @@ #include +#include +#include #include #include #include @@ -135,6 +137,7 @@ bool PkgmgrSignal::SendFinished( PKGMGR_INSTALLER_ERROR_KEY_STR, std::to_string(static_cast(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_, -- 2.7.4