summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Cegielka <m.cegielka@samsung.com>2020-08-06 15:17:59 +0200
committerDariusz Michaluk <d.michaluk@samsung.com>2020-08-19 13:22:15 +0000
commitd5e510e116639f60102816c0b2b861402bbd8cf3 (patch)
tree307cae227031052d7bc5b9b75123cbf473344284
parentb922a838ee2c5ff2f7a07ee1eb9fdd01c22beebe (diff)
downloadsecurity-manager-d5e510e116639f60102816c0b2b861402bbd8cf3.tar.gz
security-manager-d5e510e116639f60102816c0b2b861402bbd8cf3.tar.bz2
security-manager-d5e510e116639f60102816c0b2b861402bbd8cf3.zip
Add setting package type and privilege level in app install cmd
Patch I518eb4524c9c1f3ff2e6d68ea25c037591f6634b has added two new properties that can be set when installing an application. However, the cmd tool used for installing applications was not updated. This patch adds the missing options to the security-manager-cmd tool. Change-Id: I02b00a75528e870be5f22e6d37cb49796b95fd82
-rw-r--r--src/cmd/security-manager-cmd.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cmd/security-manager-cmd.cpp b/src/cmd/security-manager-cmd.cpp
index a5797ebf..a903c943 100644
--- a/src/cmd/security-manager-cmd.cpp
+++ b/src/cmd/security-manager-cmd.cpp
@@ -69,6 +69,18 @@ static std::map <std::string, enum app_install_type> install_type_map = {
{"preloaded", SM_APP_INSTALL_PRELOADED}
};
+static std::map <std::string, enum pkg_privilege_level> pkg_privilege_level_map = {
+ {"public", SM_PKG_PRIVILEGE_LEVEL_PUBLIC},
+ {"partner", SM_PKG_PRIVILEGE_LEVEL_PARTNER},
+ {"platform", SM_PKG_PRIVILEGE_LEVEL_PLATFORM},
+};
+
+static std::map <std::string, enum pkg_type> pkg_type_map = {
+ {"wrt", SM_PKG_TYPE_WRT},
+ {"core", SM_PKG_TYPE_CORE},
+ {"metadata", SM_PKG_TYPE_METADATA},
+};
+
static po::options_description getGenericOptions()
{
po::options_description opts("Generic options");
@@ -118,6 +130,10 @@ static po::options_description getAppOptions()
"type of installation (local, global, preloaded)")
("hybrid",
"sets 'hybrid' flag")
+ ("pkg-privilege-level", po::value<std::string>(),
+ "package privilege level (public, partner, platform)")
+ ("pkg-type", po::value<std::string>(),
+ "package type (wrt, core, metadata)")
;
return opts;
}
@@ -282,6 +298,10 @@ static void parseAppOptions(int argc, char *argv[],
req.installationType = install_type_map.at(vm["install-type"].as<std::string>());
if (vm.count("hybrid"))
req.isHybrid = true;
+ if (vm.count("pkg-privilege-level"))
+ req.privLevel = pkg_privilege_level_map.at(vm["pkg-privilege-level"].as<std::string>());
+ if (vm.count("pkg-type"))
+ req.pkgType = pkg_type_map.at(vm["pkg-type"].as<std::string>());
}
static void parseUserOptions(int argc, char *argv[],