Moved configuration handling into cli handler code

Cleanup: moved the updating of configuration object to
command line handling code to remove some single-use booleans.

Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I503e72c07b35a1537d93241a26a92f87854ba105
diff --git a/cli.cpp b/cli.cpp
index 4ace713..3fcff3a 100644
--- a/cli.cpp
+++ b/cli.cpp
@@ -1,3 +1,5 @@
+#include <attn/attn_config.hpp>
+
 #include <algorithm>
 #include <string>
 
@@ -15,8 +17,7 @@
 }
 
 /** @brief Parse command line for configuration flags */
-void parseConfig(char** i_begin, char** i_end, bool& o_vital, bool& o_checkstop,
-                 bool& o_terminate, bool& o_breakpoints)
+void parseConfig(char** i_begin, char** i_end, attn::Config* o_config)
 {
     char* setting;
 
@@ -26,18 +27,12 @@
     {
         if (std::string("off") == setting)
         {
-            o_vital       = false;
-            o_checkstop   = false;
-            o_terminate   = false;
-            o_breakpoints = false;
+            o_config->clearFlagAll();
         }
 
         if (std::string("on") == setting)
         {
-            o_vital       = true;
-            o_checkstop   = true;
-            o_terminate   = true;
-            o_breakpoints = true;
+            o_config->setFlagAll();
         }
     }
     // Parse individual options
@@ -46,41 +41,41 @@
         setting = getCliSetting(i_begin, i_end, "--vital");
         if (std::string("off") == setting)
         {
-            o_vital = false;
+            o_config->clearFlag(attn::enVital);
         }
         if (std::string("on") == setting)
         {
-            o_vital = true;
+            o_config->setFlag(attn::enVital);
         }
 
         setting = getCliSetting(i_begin, i_end, "--checkstop");
         if (std::string("off") == setting)
         {
-            o_checkstop = false;
+            o_config->clearFlag(attn::enCheckstop);
         }
         if (std::string("on") == setting)
         {
-            o_checkstop = true;
+            o_config->setFlag(attn::enCheckstop);
         }
 
         setting = getCliSetting(i_begin, i_end, "--terminate");
         if (std::string("off") == setting)
         {
-            o_terminate = false;
+            o_config->clearFlag(attn::enTerminate);
         }
         if (std::string("on") == setting)
         {
-            o_terminate = true;
+            o_config->setFlag(attn::enTerminate);
         }
 
         setting = getCliSetting(i_begin, i_end, "--breakpoints");
         if (std::string("off") == setting)
         {
-            o_breakpoints = false;
+            o_config->clearFlag(attn::enBreakpoints);
         }
         if (std::string("on") == setting)
         {
-            o_breakpoints = true;
+            o_config->setFlag(attn::enBreakpoints);
         }
     }
 }