blob: 56d19d16e207940e65957e7391ddef044c2c5bf6 [file] [log] [blame]
Andrew Geisslerdd2c6fd2017-03-16 15:53:20 -05001#pragma once
2
3#include <sdbusplus/bus.hpp>
4#include <xyz/openbmc_project/Control/Host/server.hpp>
5
6namespace phosphor
7{
8namespace 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 */
16class 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 {}
Andrew Geissler62817fa92017-03-20 14:20:49 -050031
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;
Andrew Geisslerdd2c6fd2017-03-16 15:53:20 -050040};
41
42} // namespace host
43} // namespace phosphor