pseq: Retrieve device info from entity manager

Retrieve power sequencer device information from entity manager using
appropriate DBUS methods.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I4b0f821345fa9be9146e1a480d2b4e8aabd2c267
diff --git a/phosphor-power-sequencer/src/power_control.hpp b/phosphor-power-sequencer/src/power_control.hpp
index 4359074..1699dcc 100644
--- a/phosphor-power-sequencer/src/power_control.hpp
+++ b/phosphor-power-sequencer/src/power_control.hpp
@@ -1,9 +1,11 @@
 #pragma once
 
 #include "power_interface.hpp"
+#include "utility.hpp"
 
 #include <gpiod.hpp>
 #include <sdbusplus/bus.hpp>
+#include <sdbusplus/bus/match.hpp>
 #include <sdbusplus/message.hpp>
 #include <sdbusplus/server/object.hpp>
 #include <sdeventplus/clock.hpp>
@@ -48,6 +50,12 @@
     /** @copydoc PowerInterface::getState() */
     int getState() const override;
 
+    /**
+     * Callback function to handle interfacesAdded D-Bus signals
+     * @param msg Expanded sdbusplus message data
+     */
+    void interfacesAddedHandler(sdbusplus::message::message& msg);
+
     /** @copydoc PowerInterface::setPgoodTimeout() */
     void setPgoodTimeout(int timeout) override;
 
@@ -66,6 +74,11 @@
     bool inStateTransition{false};
 
     /**
+     * The match to Entity Manager interfaces added.
+     */
+    std::unique_ptr<sdbusplus::bus::match_t> match;
+
+    /**
      * Power good
      */
     int pgood{0};
@@ -113,11 +126,22 @@
     sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> timer;
 
     /**
+     * Get the device properties
+     * @param[in] properties A map of property names and values
+     */
+    void getDeviceProperties(util::DbusPropertyMap& properties);
+
+    /**
      * Polling method for monitoring the system power good
      */
     void pollPgood();
 
     /**
+     * Set up power sequencer device
+     */
+    void setUpDevice();
+
+    /**
      * Set up GPIOs
      */
     void setUpGpio();