Set privilege_level to pkgmgr_installer_info 62/130062/3
authorjongmyeongko <jongmyeong.ko@samsung.com>
Fri, 19 May 2017 04:05:55 +0000 (13:05 +0900)
committerjongmyeong ko <jongmyeong.ko@samsung.com>
Fri, 19 May 2017 07:08:44 +0000 (07:08 +0000)
Requires:
https://review.tizen.org/gerrit/#/c/130050/

Change-Id: I7bce20e7dac855f8d29bdecd64779d4f29779138
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
src/common/step/security/step_check_signature.cc

index 982239e..a5bcaf4 100644 (file)
@@ -4,6 +4,8 @@
 
 #include "common/step/security/step_check_signature.h"
 
+#include <pkgmgr_installer.h>
+
 #include <boost/filesystem/operations.hpp>
 #include <glib.h>
 
@@ -32,6 +34,29 @@ bool CheckPkgCertificateMismatch(const std::string& pkgid,
   return certificate_mismatch;
 }
 
+pkgmgr_privilege_level ConvertToPkgmgrPrivilegeLevel(ci::PrivilegeLevel level) {
+  pkgmgr_privilege_level pkgmgr_level;
+
+  switch (level) {
+    case ci::PrivilegeLevel::UNTRUSTED:
+      pkgmgr_level = PM_PRIVILEGE_UNTRUSTED;
+      break;
+    case ci::PrivilegeLevel::PUBLIC:
+      pkgmgr_level = PM_PRIVILEGE_PUBLIC;
+      break;
+    case ci::PrivilegeLevel::PARTNER:
+      pkgmgr_level = PM_PRIVILEGE_PARTNER;
+      break;
+    case ci::PrivilegeLevel::PLATFORM:
+      pkgmgr_level = PM_PRIVILEGE_PLATFORM;
+      break;
+    default:
+      pkgmgr_level = PM_PRIVILEGE_UNKNOWN;
+  }
+
+  return pkgmgr_level;
+}
+
 }  // namespace
 
 namespace common_installer {
@@ -156,6 +181,8 @@ Step::Status StepCheckSignature::process() {
   LOG(INFO) << "Privilege level: " << PrivilegeLevelToString(level);
   context_->privilege_level.set(level);
 
+  pkgmgr_installer_set_privilege_level(ConvertToPkgmgrPrivilegeLevel(level));
+
   status = CheckPrivilegeLevel(level);
   if (status != Status::OK)
     return status;