summaryrefslogtreecommitdiffstats
path: root/chassis_state_manager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'chassis_state_manager.hpp')
-rw-r--r--chassis_state_manager.hpp176
1 files changed, 87 insertions, 89 deletions
diff --git a/chassis_state_manager.hpp b/chassis_state_manager.hpp
index 132e30e..54f0afd 100644
--- a/chassis_state_manager.hpp
+++ b/chassis_state_manager.hpp
@@ -12,7 +12,7 @@ namespace manager
{
using ChassisInherit = sdbusplus::server::object::object<
- sdbusplus::xyz::openbmc_project::State::server::Chassis>;
+ sdbusplus::xyz::openbmc_project::State::server::Chassis>;
namespace sdbusRule = sdbusplus::bus::match::rules;
/** @class Chassis
@@ -22,94 +22,92 @@ namespace sdbusRule = sdbusplus::bus::match::rules;
*/
class Chassis : public ChassisInherit
{
- public:
- /** @brief Constructs Chassis State Manager
- *
- * @note This constructor passes 'true' to the base class in order to
- * defer dbus object registration until we can run
- * determineInitialState() and set our properties
- *
- * @param[in] bus - The Dbus bus object
- * @param[in] instance - The instance of this object
- * @param[in] objPath - The Dbus object path
- */
- Chassis(sdbusplus::bus::bus& bus,
- const char* busName,
- const char* objPath) :
- ChassisInherit(bus, objPath, true),
- bus(bus),
- systemdSignals(bus,
- sdbusRule::type::signal() +
- sdbusRule::member("JobRemoved") +
- sdbusRule::path("/org/freedesktop/systemd1") +
- sdbusRule::interface(
- "org.freedesktop.systemd1.Manager"),
- std::bind(std::mem_fn(&Chassis::sysStateChange),
- this, std::placeholders::_1))
- {
- subscribeToSystemdSignals();
-
- determineInitialState();
-
- // We deferred this until we could get our property correct
- this->emit_object_added();
- }
-
- /** @brief Set value of RequestedPowerTransition */
- Transition requestedPowerTransition(Transition value) override;
-
- /** @brief Set value of CurrentPowerState */
- PowerState currentPowerState(PowerState value) override;
-
- private:
- /** @brief Determine initial chassis state and set internally */
- void determineInitialState();
-
- /**
- * @brief subscribe to the systemd signals
- *
- * This object needs to capture when it's systemd targets complete
- * so it can keep it's state updated
- *
- **/
- void subscribeToSystemdSignals();
-
- /** @brief Execute the transition request
- *
- * This function calls the appropriate systemd target for the input
- * transition.
- *
- * @param[in] tranReq - Transition requested
- */
- void executeTransition(Transition tranReq);
-
- /**
- * @brief Determine if target is active
- *
- * This function determines if the target is active and
- * helps prevent misleading log recorded states.
- *
- * @param[in] target - Target string to check on
- *
- * @return boolean corresponding to state active
- **/
- bool stateActive(const std::string& target);
-
- /** @brief Check if systemd state change is relevant to this object
- *
- * Instance specific interface to handle the detected systemd state
- * change
- *
- * @param[in] msg - Data associated with subscribed signal
- *
- */
- int sysStateChange(sdbusplus::message::message& msg);
-
- /** @brief Persistent sdbusplus DBus connection. */
- sdbusplus::bus::bus& bus;
-
- /** @brief Used to subscribe to dbus systemd signals **/
- sdbusplus::bus::match_t systemdSignals;
+ public:
+ /** @brief Constructs Chassis State Manager
+ *
+ * @note This constructor passes 'true' to the base class in order to
+ * defer dbus object registration until we can run
+ * determineInitialState() and set our properties
+ *
+ * @param[in] bus - The Dbus bus object
+ * @param[in] instance - The instance of this object
+ * @param[in] objPath - The Dbus object path
+ */
+ Chassis(sdbusplus::bus::bus& bus, const char* busName,
+ const char* objPath) :
+ ChassisInherit(bus, objPath, true),
+ bus(bus),
+ systemdSignals(
+ bus,
+ sdbusRule::type::signal() + sdbusRule::member("JobRemoved") +
+ sdbusRule::path("/org/freedesktop/systemd1") +
+ sdbusRule::interface("org.freedesktop.systemd1.Manager"),
+ std::bind(std::mem_fn(&Chassis::sysStateChange), this,
+ std::placeholders::_1))
+ {
+ subscribeToSystemdSignals();
+
+ determineInitialState();
+
+ // We deferred this until we could get our property correct
+ this->emit_object_added();
+ }
+
+ /** @brief Set value of RequestedPowerTransition */
+ Transition requestedPowerTransition(Transition value) override;
+
+ /** @brief Set value of CurrentPowerState */
+ PowerState currentPowerState(PowerState value) override;
+
+ private:
+ /** @brief Determine initial chassis state and set internally */
+ void determineInitialState();
+
+ /**
+ * @brief subscribe to the systemd signals
+ *
+ * This object needs to capture when it's systemd targets complete
+ * so it can keep it's state updated
+ *
+ **/
+ void subscribeToSystemdSignals();
+
+ /** @brief Execute the transition request
+ *
+ * This function calls the appropriate systemd target for the input
+ * transition.
+ *
+ * @param[in] tranReq - Transition requested
+ */
+ void executeTransition(Transition tranReq);
+
+ /**
+ * @brief Determine if target is active
+ *
+ * This function determines if the target is active and
+ * helps prevent misleading log recorded states.
+ *
+ * @param[in] target - Target string to check on
+ *
+ * @return boolean corresponding to state active
+ **/
+ bool stateActive(const std::string& target);
+
+ /** @brief Check if systemd state change is relevant to this object
+ *
+ * Instance specific interface to handle the detected systemd state
+ * change
+ *
+ * @param[in] msg - Data associated with subscribed signal
+ *
+ */
+ int sysStateChange(sdbusplus::message::message& msg);
+
+ /** @brief Persistent sdbusplus DBus connection. */
+ sdbusplus::bus::bus& bus;
+
+ /** @brief Used to subscribe to dbus systemd signals **/
+ sdbusplus::bus::match_t systemdSignals;
};
} // namespace manager
OpenPOWER on IntegriCloud