Add --continue argument

The monitor will exit when key is pressed.
Add --continue argument and if it is set to "true", the monitor will
continue after key is pressed.

This is useful in cases to monitor a button presses.
E.g. It can be used to monitor ID button and start a system unit
everytime when the button is pressed.

This argument is optional so it does not break the current code.

Tested: With "--continue=true", the monitor does not exit when the key
        is pressed.
        Without the argument of if it is set to other strings, the
        monitor exits after the key is pressed.

Change-Id: I4f2ca16d7b26e10397181c83c2c5947ed5ce091f
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/mainapp.cpp b/mainapp.cpp
index 1dd7e80..9ecaad2 100644
--- a/mainapp.cpp
+++ b/mainapp.cpp
@@ -62,6 +62,9 @@
     // on meeting a condition.
     auto target = (options)["target"];
 
+    bool continueRun =
+      (options["continue"] == phosphor::gpio::ArgumentParser::trueString);
+
     sd_event* event = nullptr;
     auto r = sd_event_default(&event);
     if (r < 0)
@@ -73,8 +76,12 @@
     event = nullptr;
 
     // Create a monitor object and let it do all the rest
-    phosphor::gpio::Monitor monitor(path, std::stoi(key),
-                                    std::stoi(polarity), target, eventP);
+    phosphor::gpio::Monitor monitor(path,
+                                    std::stoi(key),
+                                    std::stoi(polarity),
+                                    target,
+                                    eventP,
+                                    continueRun);
 
     // Wait for client requests until this application has processed
     // at least one expected GPIO state change