From 70c2f2e543221bb653dae3ab1ae409ab2dc9deee Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Wed, 10 May 2017 17:50:31 +0900 Subject: [PATCH] Add create/destroy in krate-admin-cli Change-Id: Ia088a4402b4814a9f4bc11ef65e9fb1ff2b4c181 Signed-off-by: Sungbae Yoo --- tools/cli/krate-admin-cli.cpp | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/tools/cli/krate-admin-cli.cpp b/tools/cli/krate-admin-cli.cpp index 39e65ee..65d0161 100644 --- a/tools/cli/krate-admin-cli.cpp +++ b/tools/cli/krate-admin-cli.cpp @@ -49,7 +49,7 @@ #include "session.h" - +#define DEFAULT_SETUP_WIZARD "org.tizen.krate-setup-wizard" #define DEFAULT_SHELL "/bin/bash" typedef std::pair NamespacePair; @@ -74,6 +74,8 @@ static inline void usage(const std::string name) << "Run a program in the krate" << std::endl << std::endl << "Options :" << std::endl + << " -c, --create=name create a new krate by given name" << std::endl + << " -d, --destroy=name destroy the krate" << std::endl << " -a, --attach=krate execute command in the krate" << std::endl << " -p, --pkginfo=krate show all packages in the krate" << std::endl << " -q, --appinfo=krate show all applications in the krate" << std::endl @@ -177,6 +179,21 @@ void launchProcess(runtime::User& user, char** args) ::exit(EXIT_FAILURE); } +int showDefaultSetupWizard(const std::string& mode, const std::string& name) +{ + app_control_h app_control; + app_control_create(&app_control); + app_control_set_app_id(app_control, DEFAULT_SETUP_WIZARD); + app_control_add_extra_data(app_control, "mode", mode.c_str()); + app_control_add_extra_data(app_control, "krate", name.c_str()); + app_control_send_launch_request(app_control, NULL, NULL); + app_control_destroy(app_control); + + std::cout << "Please do next steps on GUI" << std::endl; + + return 0; +} + int attachToKrate(const std::string& name, char* args[]) { try { @@ -496,10 +513,12 @@ int main(int argc, char* argv[]) int opt = 0, index, ret = 0; struct option options[] = { + {"create", required_argument, 0, 'c'}, + {"destroy", required_argument, 0, 'd'}, {"attach", required_argument, 0, 'a'}, - {"instance", no_argument, 0, 'l'}, + {"instance", no_argument, 0, 'i'}, {"list", no_argument, 0, 'l'}, - {"state", required_argument, 0, 'l'}, + {"state", required_argument, 0, 's'}, {"pkginfo", required_argument, 0, 'p'}, {"appinfo", required_argument, 0, 'q'}, {"krate-monitor", no_argument, 0, 'm'}, @@ -513,8 +532,14 @@ int main(int argc, char* argv[]) return EXIT_SUCCESS; } - while ((opt = getopt_long(argc, argv, "a:p:q:mn:s:ilh", options, &index)) != -1) { + while ((opt = getopt_long(argc, argv, "c:d:a:p:q:mn:s:ilh", options, &index)) != -1) { switch (opt) { + case 'c': + ret = showDefaultSetupWizard("create", optarg); + break; + case 'd': + ret = showDefaultSetupWizard("remove", optarg); + break; case 'a': ret = attachToKrate(optarg, optind >= argc ? NULL : argv + optind); break; -- 2.7.4