Added lock_domain/unlock_domain to cli 32/30832/1
authorDariusz Michaluk <d.michaluk@samsung.com>
Tue, 25 Nov 2014 15:13:41 +0000 (16:13 +0100)
committerDariusz Michaluk <d.michaluk@samsung.com>
Tue, 25 Nov 2014 15:13:41 +0000 (16:13 +0100)
[Feature]      Ability to lock/unlock domain through cli
[Cause]        The need for the ability to lock/unlock domains
[Solution]     Add lock_domain/unlock_domain cli function
[Verification] Build, install, run

Change-Id: I4a017b328f0b44913f0561bd444e913c68f67359
Signed-off-by: Dariusz Michaluk <d.michaluk@samsung.com>
cli/command-line-interface.cpp
cli/command-line-interface.hpp
cli/main.cpp

index d027e63..0549afd 100644 (file)
@@ -154,6 +154,28 @@ void create_domain(int pos, int argc, const char** argv)
     one_shot(bind(vsm_create_domain, _1, argv[pos + 1], nullptr));
 }
 
+void lock_domain(int pos, int argc, const char** argv)
+{
+    using namespace std::placeholders;
+
+    if (argc <= pos + 1) {
+        throw runtime_error("Not enough parameters");
+    }
+
+    one_shot(bind(vsm_lock_domain, _1, argv[pos + 1]));
+}
+
+void unlock_domain(int pos, int argc, const char** argv)
+{
+    using namespace std::placeholders;
+
+    if (argc <= pos + 1) {
+        throw runtime_error("Not enough parameters");
+    }
+
+    one_shot(bind(vsm_unlock_domain, _1, argv[pos + 1]));
+}
+
 void lookup_domain_by_id(int pos, int argc, const char** argv)
 {
     using namespace std::placeholders;
index c254d84..41f5048 100644 (file)
@@ -111,6 +111,20 @@ void set_active_container(int pos, int argc, const char** argv);
 void create_domain(int pos, int argc, const char** argv);
 
 /**
+ * Parses command line arguments and call vsm_lock_domain
+ *
+ * @see vsm_lock_domain
+ */
+void lock_domain(int pos, int argc, const char** argv);
+
+/**
+ * Parses command line arguments and call vsm_unlock_domain
+ *
+ * @see vsm_unlock_domain
+ */
+void unlock_domain(int pos, int argc, const char** argv);
+
+/**
  * Parses command line arguments and call vsm_lookup_domain_by_id
  *
  * @see vsm_lookup_domain_by_id
index d701475..774881b 100644 (file)
@@ -50,6 +50,22 @@ std::map<std::string, CommandLineInterface> commands = {
         }
     },
     {
+        "lock_domain", {
+            lock_domain,
+            "lock_domain container_id",
+            "Lock container",
+            {{"container_id", "id container name"}}
+        }
+    },
+    {
+        "unlock_domain", {
+            unlock_domain,
+            "unlock_domain container_id",
+            "Unlock container",
+            {{"container_id", "id container name"}}
+        }
+    },
+    {
         "lookup_domain_by_id", {
             lookup_domain_by_id,
             "lookup_domain_by_id container_id",