control: Update JSON action objects to run the action

A change in design direction for the JSON configuration path of fan
control is to have it separate than the YAML configuration
functionality. This means that the JSON based action objects will run
the action function directly instead of returning the action function
which is done for YAML based configurations.

Update the default floor action to reflect this change in direction.

Change-Id: I75ade1c7e2e9698573c5ed2495c2f3b7e9cf52f0
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/json/actions/action.hpp b/control/json/actions/action.hpp
index 7307e7f..cfee7af 100644
--- a/control/json/actions/action.hpp
+++ b/control/json/actions/action.hpp
@@ -16,6 +16,7 @@
 #pragma once
 
 #include "types.hpp"
+#include "zone.hpp"
 
 #include <fmt/format.h>
 
@@ -61,19 +62,29 @@
     ActionBase& operator=(const ActionBase&) = delete;
     ActionBase& operator=(ActionBase&&) = delete;
     virtual ~ActionBase() = default;
+
+    /**
+     * @brief Base action object
+     *
+     * All actions derived from this base action object must be given a name
+     * that uniquely identifies the action.
+     *
+     * @param[in] name - Unique name of the action
+     */
     explicit ActionBase(const std::string& name) : _name(name)
     {}
 
     /**
-     * @brief Get the action function to perform
+     * @brief Run the action
      *
-     * An action function is a function associated to the derived action object
-     * that performs a specific task against fan control that's configured by
-     * a user.
+     * Run the action function associated to the derived action object
+     * that performs a specific task against a group of dbus objects on a zone
+     * configured by a user.
      *
-     * @return Action function
+     * @param[in] zone - Zone to run the action on
+     * @param[in] group - Group of dbus objects the action runs against
      */
-    virtual const Action getAction() = 0;
+    virtual void run(Zone& zone, const Group& group) = 0;
 
     /**
      * @brief Get the action's name