Add MTM keep alive command support

MTM keep alive command is used to extend the Manufacturing
mode timeout by 15 minutes, from the time command is executed.
This is used to keep the manufacturing mode alive, till all
the desired activities are done.

Tested:
1. Issued ipmitool raw 0x30 0xB5 0 0x49 0x4e 0x54 0x45 0x4c
and able to see timer extended for 15 min, after which
manufacturing mode got expired
2. Verified timer is sending 0xC1, when BMC is not in
manufacturing mode.

Change-Id: I2ae309d9030c672bb930c317aef357a97327ba80
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
diff --git a/include/manufacturingcommands.hpp b/include/manufacturingcommands.hpp
index e015fd2..c36fcb0 100644
--- a/include/manufacturingcommands.hpp
+++ b/include/manufacturingcommands.hpp
@@ -56,6 +56,13 @@
 static constexpr const char* ledStateStr =
     "xyz.openbmc_project.Led.Physical.Action."; // Comes with postfix Off/On
 
+static constexpr const char* specialModeService =
+    "xyz.openbmc_project.SpecialMode";
+static constexpr const char* specialModeObjPath =
+    "/xyz/openbmc_project/security/special_mode";
+static constexpr const char* specialModeIntf =
+    "xyz.openbmc_project.Security.SpecialMode";
+
 /** @enum MtmLvl
 .*
  *  Manufacturing command access levels
@@ -243,10 +250,8 @@
         if (mtmMode != MtmLvl::mtmExpired)
         {
             ipmi::Value mode;
-            if (getProperty("xyz.openbmc_project.SpecialMode",
-                            "/xyz/openbmc_project/security/special_mode",
-                            "xyz.openbmc_project.Security.SpecialMode",
-                            "SpecialMode", &mode) != 0)
+            if (getProperty(specialModeService, specialModeObjPath,
+                            specialModeIntf, "SpecialMode", &mode) != 0)
             {
                 mtmMode = MtmLvl::mtmExpired;
                 return mtmMode;