1 #pragma once 2 3 #include <sdbusplus/bus.hpp> 4 #include <xyz/openbmc_project/Control/Host/server.hpp> 5 6 namespace phosphor 7 { 8 namespace host 9 { 10 11 /** @class Host 12 * @brief OpenBMC control host interface implementation. 13 * @details A concrete implementation for xyz.openbmc_project.Control.Host 14 * DBus API. 15 */ 16 class Host : public sdbusplus::server::object::object< 17 sdbusplus::xyz::openbmc_project::Control::server::Host> 18 { 19 public: 20 /** @brief Constructs Host Control Interface 21 * 22 * @param[in] bus - The Dbus bus object 23 * @param[in] objPath - The Dbus object path 24 */ 25 Host(sdbusplus::bus::bus& bus, 26 const char* objPath) : 27 sdbusplus::server::object::object< 28 sdbusplus::xyz::openbmc_project::Control::server::Host>( 29 bus, objPath) 30 {} 31 32 /** @brief Send input command to host 33 * 34 * Note that the command will be queued in a FIFO if other commands 35 * to the host have yet to be run 36 * 37 * @param[in] command - Input command to execute 38 */ 39 void execute(Command command) override; 40 }; 41 42 } // namespace host 43 } // namespace phosphor 44