Expose power cap min/max on dbus

The min and max power cap values will be read from sysfs files and then
the data will be put on the dbus. This will allow users to know the
valid range of power cap available.

The PowerCap object was moved from Manager to Status.

Change-Id: I5196cc8645f84c31a5282cf844109bae47b09bf7
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/occ_status.hpp b/occ_status.hpp
index 6dab7dd..0d22c49 100644
--- a/occ_status.hpp
+++ b/occ_status.hpp
@@ -5,6 +5,7 @@
 #include "occ_command.hpp"
 #include "occ_device.hpp"
 #include "occ_events.hpp"
+#include "powercap.hpp"
 #include "powermode.hpp"
 #include "utils.hpp"
 
@@ -76,7 +77,7 @@
      */
     Status(EventPtr& event, const char* path, Manager& managerRef,
 #ifdef POWER10
-           std::unique_ptr<open_power::occ::powermode::PowerMode>& powerModeRef,
+           std::unique_ptr<powermode::PowerMode>& powerModeRef,
 #endif
            std::function<void(bool)> callBack = nullptr
 #ifdef PLDM
@@ -199,6 +200,12 @@
                           const uint16_t altitude = 0xFFFF);
 #endif // POWER10
 
+    /** @brief Return the HWMON path for this OCC
+     *
+     *  @return path or empty path if not found
+     */
+    fs::path getHwmonPath() const;
+
   private:
     /** @brief OCC dbus object path */
     std::string path;
@@ -220,9 +227,12 @@
     /** @brief OCC manager object */
     const Manager& manager;
 
+    /** @brief Power cap monitor and occ notification object */
+    std::unique_ptr<powercap::PowerCap> pcap;
+
 #ifdef POWER10
     /** @brief OCC PowerMode object */
-    std::unique_ptr<open_power::occ::powermode::PowerMode>& pmode;
+    std::unique_ptr<powermode::PowerMode>& pmode;
 #endif
 
     /** @brief OCC device object to do bind and unbind */