watchdog: Implement watchdog action setting

We now respect the action set during the SetTimeout command. This maps
to one of the actions defined by the dbus Watchdog interface

Change-Id: I4d13d2539a2d955a4340bf5f915ca6f3b694550a
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/app/watchdog_service.hpp b/app/watchdog_service.hpp
index 1d5ffb8..432c7ce 100644
--- a/app/watchdog_service.hpp
+++ b/app/watchdog_service.hpp
@@ -1,5 +1,6 @@
 #pragma once
 #include <sdbusplus/bus.hpp>
+#include <xyz/openbmc_project/State/Watchdog/server.hpp>
 
 /** @class WatchdogService
  *  @brief Access to the running OpenBMC watchdog implementation.
@@ -10,12 +11,15 @@
     public:
         WatchdogService();
 
+        using Action = sdbusplus::xyz::openbmc_project::State::server::Watchdog::Action;
+
         /** @brief Contains a copy of the properties enumerated by the
          *         watchdog service.
          */
         struct Properties {
             bool initialized;
             bool enabled;
+            Action expireAction;
             uint64_t interval;
             uint64_t timeRemaining;
         };
@@ -40,6 +44,12 @@
          */
         void setEnabled(bool enabled);
 
+        /** @brief Sets the value of the expireAction property on the host watchdog
+         *
+         *  @param[in] expireAction - The new expireAction value
+         */
+        void setExpireAction(Action expireAction);
+
         /** @brief Sets the value of the interval property on the host watchdog
          *
          *  @param[in] interval - The new interval value