1*dd2c6fdcSAndrew Geissler #pragma once
2*dd2c6fdcSAndrew Geissler 
3*dd2c6fdcSAndrew Geissler #include <sdbusplus/bus.hpp>
4*dd2c6fdcSAndrew Geissler #include <xyz/openbmc_project/Control/Host/server.hpp>
5*dd2c6fdcSAndrew Geissler 
6*dd2c6fdcSAndrew Geissler namespace phosphor
7*dd2c6fdcSAndrew Geissler {
8*dd2c6fdcSAndrew Geissler namespace host
9*dd2c6fdcSAndrew Geissler {
10*dd2c6fdcSAndrew Geissler 
11*dd2c6fdcSAndrew Geissler /** @class Host
12*dd2c6fdcSAndrew Geissler  *  @brief OpenBMC control host interface implementation.
13*dd2c6fdcSAndrew Geissler  *  @details A concrete implementation for xyz.openbmc_project.Control.Host
14*dd2c6fdcSAndrew Geissler  *  DBus API.
15*dd2c6fdcSAndrew Geissler  */
16*dd2c6fdcSAndrew Geissler class Host : public sdbusplus::server::object::object<
17*dd2c6fdcSAndrew Geissler                 sdbusplus::xyz::openbmc_project::Control::server::Host>
18*dd2c6fdcSAndrew Geissler {
19*dd2c6fdcSAndrew Geissler     public:
20*dd2c6fdcSAndrew Geissler         /** @brief Constructs Host Control Interface
21*dd2c6fdcSAndrew Geissler          *
22*dd2c6fdcSAndrew Geissler          * @param[in] bus       - The Dbus bus object
23*dd2c6fdcSAndrew Geissler          * @param[in] objPath   - The Dbus object path
24*dd2c6fdcSAndrew Geissler          */
25*dd2c6fdcSAndrew Geissler         Host(sdbusplus::bus::bus& bus,
26*dd2c6fdcSAndrew Geissler              const char* objPath) :
27*dd2c6fdcSAndrew Geissler              sdbusplus::server::object::object<
28*dd2c6fdcSAndrew Geissler                 sdbusplus::xyz::openbmc_project::Control::server::Host>(
29*dd2c6fdcSAndrew Geissler                         bus, objPath)
30*dd2c6fdcSAndrew Geissler         {}
31*dd2c6fdcSAndrew Geissler };
32*dd2c6fdcSAndrew Geissler 
33*dd2c6fdcSAndrew Geissler } // namespace host
34*dd2c6fdcSAndrew Geissler } // namespace phosphor
35