From: Changgyu Choi Date: Fri, 26 Aug 2022 08:21:21 +0000 (+0900) Subject: Add pre sending pkg event to amd X-Git-Tag: accepted/tizen/unified/20220908.013411~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F93%2F280293%2F7;p=platform%2Fcore%2Fappfw%2Fapp-installers.git 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 --- 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_,