| Alexander Hansen | 0ab32b3 | 2025-06-27 14:50:33 +0200 | [diff] [blame] | 1 | #pragma once | 
|  | 2 |  | 
|  | 3 | #include <sdbusplus/asio/connection.hpp> | 
|  | 4 | #include <sdbusplus/bus/match.hpp> | 
|  | 5 |  | 
|  | 6 | namespace power | 
|  | 7 | { | 
|  | 8 |  | 
| Alexander Hansen | 0ab32b3 | 2025-06-27 14:50:33 +0200 | [diff] [blame] | 9 | class PowerStatusMonitor | 
|  | 10 | { | 
|  | 11 | public: | 
| Alexander Hansen | e164627 | 2025-07-25 11:47:17 +0200 | [diff] [blame] | 12 | explicit PowerStatusMonitor(sdbusplus::asio::connection& conn); | 
|  | 13 |  | 
|  | 14 | bool isPowerOn() const; | 
| Alexander Hansen | 0ab32b3 | 2025-06-27 14:50:33 +0200 | [diff] [blame] | 15 |  | 
|  | 16 | private: | 
| Alexander Hansen | 0a4bb2a | 2025-07-25 11:34:48 +0200 | [diff] [blame] | 17 | void handlePowerMatch(sdbusplus::message_t& message); | 
| Alexander Hansen | e164627 | 2025-07-25 11:47:17 +0200 | [diff] [blame] | 18 | void getInitialPowerStatus(sdbusplus::asio::connection& conn); | 
| Alexander Hansen | 0a4bb2a | 2025-07-25 11:34:48 +0200 | [diff] [blame] | 19 |  | 
| Alexander Hansen | 0ab32b3 | 2025-06-27 14:50:33 +0200 | [diff] [blame] | 20 | bool powerStatusOn = false; | 
| Alexander Hansen | e164627 | 2025-07-25 11:47:17 +0200 | [diff] [blame] | 21 | sdbusplus::bus::match_t powerMatch; | 
| Alexander Hansen | 0ab32b3 | 2025-06-27 14:50:33 +0200 | [diff] [blame] | 22 | }; | 
|  | 23 |  | 
|  | 24 | } // namespace power |