blob: c739ae0b29509ae7ae6e32095ce4b4398d6d42d8 [file] [log] [blame]
Josh D. Kingbdd9cb72016-12-19 11:13:43 -06001#include <iostream>
Josh D. King6db38222016-12-19 14:52:40 -06002#include <log.hpp>
Josh D. Kingbdd9cb72016-12-19 11:13:43 -06003#include "bmc_state_manager.hpp"
4
5namespace phosphor
6{
7namespace state
8{
9namespace manager
10{
11
Josh D. King6db38222016-12-19 14:52:40 -060012// When you see server:: you know we're referencing our base class
13namespace server = sdbusplus::xyz::openbmc_project::State::server;
14
15using namespace phosphor::logging;
16
17constexpr auto SYSTEMD_SERVICE = "org.freedesktop.systemd1";
18constexpr auto SYSTEMD_OBJ_PATH = "/org/freedesktop/systemd1";
19constexpr auto SYSTEMD_INTERFACE = "org.freedesktop.systemd1.Manager";
20
21void BMC::subscribeToSystemdSignals()
22{
23 auto method = this->bus.new_method_call(SYSTEMD_SERVICE,
24 SYSTEMD_OBJ_PATH,
25 SYSTEMD_INTERFACE,
26 "Subscribe");
27 this->bus.call(method);
28
29 return;
30}
31
32BMC::Transition BMC::requestedBMCTransition(Transition value)
33{
34 log<level::INFO>(
35 "Setting the RequestedBMCTransition field",
36 entry("REQUESTED_BMC_TRANSITION=0x%s",
37 convertForMessage(value).c_str()));
38 return server::BMC::requestedBMCTransition(value);
39}
40
41BMC::BMCState BMC::currentBMCState(BMCState value)
42{
43 log<level::INFO>(
44 "Setting the BMCState field",
45 entry("CURRENT_BMC_STATE=0x%s",
46 convertForMessage(value).c_str()));
47 return server::BMC::currentBMCState(value);
48}
49
50
Josh D. Kingbdd9cb72016-12-19 11:13:43 -060051} // namespace manager
52} // namespace state
53} // namepsace phosphor
54