1 #pragma once 2 3 #include <sdbusplus/bus.hpp> 4 #include "xyz/openbmc_project/State/BMC/server.hpp" 5 6 namespace phosphor 7 { 8 namespace state 9 { 10 namespace manager 11 { 12 13 /** @class BMC 14 * @brief OpenBMC BMC state management implementation. 15 * @details A concrete implementation for xyz.openbmc_project.State.BMC 16 * DBus API. 17 */ 18 class BMC : public sdbusplus::server::object::object< 19 sdbusplus::xyz::openbmc_project::State::server::BMC> 20 { 21 public: 22 /** @brief Constructs BMC State Manager 23 * 24 * @param[in] bus - The Dbus bus object 25 * @param[in] busName - The Dbus name to own 26 * @param[in] objPath - The Dbus object path 27 */ 28 BMC(sdbusplus::bus::bus& bus, 29 const char* objPath) : 30 sdbusplus::server::object::object< 31 sdbusplus::xyz::openbmc_project::State::server::BMC>( 32 bus, objPath) {}; 33 34 }; 35 36 } // namespace manager 37 } // namespace state 38 } // namespace phosphor 39