xref: /openbmc/entity-manager/src/entity_manager/power_status_monitor.hpp (revision e1646276a815471e4b3510825c21293095fc322f)
1 #pragma once
2 
3 #include <sdbusplus/asio/connection.hpp>
4 #include <sdbusplus/bus/match.hpp>
5 
6 namespace power
7 {
8 
9 class PowerStatusMonitor
10 {
11   public:
12     explicit PowerStatusMonitor(sdbusplus::asio::connection& conn);
13 
14     bool isPowerOn() const;
15 
16   private:
17     void handlePowerMatch(sdbusplus::message_t& message);
18     void getInitialPowerStatus(sdbusplus::asio::connection& conn);
19 
20     bool powerStatusOn = false;
21     sdbusplus::bus::match_t powerMatch;
22 };
23 
24 } // namespace power
25