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();