Fix sending appid signal 24/91224/1 accepted/tizen/3.0/ivi/20161011.053605 accepted/tizen/3.0/mobile/20161015.032420 accepted/tizen/3.0/tv/20161016.003603 accepted/tizen/3.0/wearable/20161015.080425 accepted/tizen/common/20161006.153934 accepted/tizen/ivi/20161006.232910 accepted/tizen/mobile/20161006.232800 accepted/tizen/tv/20161006.232833 accepted/tizen/wearable/20161006.232856 submit/tizen/20161006.094717 submit/tizen_3.0_ivi/20161010.000000 submit/tizen_3.0_ivi/20161010.000010 submit/tizen_3.0_mobile/20161015.000000 submit/tizen_3.0_tv/20161015.000000 submit/tizen_3.0_wearable/20161015.000000
authorSangyoon Jang <s89.jang@samsung.com>
Thu, 6 Oct 2016 09:43:13 +0000 (18:43 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Thu, 6 Oct 2016 09:43:13 +0000 (18:43 +0900)
Send user signal together.

Requires:
 - https://review.tizen.org/gerrit/91223

Change-Id: Ifa045948a025aef238fe6a674da26376b1b9c3df
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/common/pkgmgr_signal.cc
src/common/pkgmgr_signal.h

index d3d8edb916f62e148703028845de5491936093cc..47eeaa280d2490e3bda0a13ddbe358655c41b9bc 100644 (file)
@@ -82,6 +82,8 @@ bool PkgmgrSignal::SendStarted(
   if (request_type_ == ci::RequestType::Uninstall)
     if (!SendAppids(type, pkgid))
       return false;
+  for (auto l : user_list_)
+    SendAppids(l.first, type, pkgid);
 
   return true;
 }
@@ -231,6 +233,20 @@ bool PkgmgrSignal::SendAppids(const std::string& type,
   return true;
 }
 
+bool PkgmgrSignal::SendAppids(uid_t uid,
+                              const std::string& type,
+                              const std::string& pkgid) const {
+  std::vector<std::string> appids;
+  if (!QueryAppidsForPkgId(pkgid, &appids, pkgmgr_installer_get_uid(pi_)))
+    return true;
+  for (auto& appid : appids) {
+    if (pkgmgr_installer_send_app_uninstall_signal_for_uid(
+        pi_, uid, type.c_str(), pkgid.c_str(), appid.c_str()))
+      return false;
+  }
+  return true;
+}
+
 bool PkgmgrSignal::SetupUserList(const std::string& pkgid) {
   int i;
   uid_t* uids = nullptr;
index 5872ec635c9dad84bd5080e904a289ad2928a753..b5bbd845094a27f8e7e939f9d2c3dc3dc5613104 100644 (file)
@@ -117,6 +117,8 @@ class PkgmgrSignal {
       const std::string& pkgid = std::string()) const;
   const char* GetResultKey(Step::Status result) const;
   bool SendAppids(const std::string& type, const std::string& pkgid) const;
+  bool SendAppids(uid_t uid, const std::string& type,
+      const std::string& pkgid) const;
   bool SetupUserList(const std::string& pkgid);
 
   pkgmgr_installer* pi_;