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