9 #ifndef RAD_TRSHEALTH_HPP
10 #define RAD_TRSHEALTH_HPP
17 #include <string_view>
19 #include <boost/asio.hpp>
21 #include <ptpmon/client.hpp>
26 static constexpr
char const*
ID =
"TrsEvents.HealthBad";
32 static constexpr
char const*
ID =
"TrsEvents.HealthGood";
40 class TrsHealth :
protected ptpmon::StatusNotifier {
50 boost::asio::io_context& ioc,
52 const std::string_view path = ptpmon::DEFAULT_SOCKET_PATH);
63 const ptpmon::StatusMessage&
GetStatus()
const;
72 void Notify(
const ptpmon::StatusMessage& status)
override;
75 boost::asio::io_context& m_ioc;
84 ptpmon::StatusMessage m_status;
87 std::unique_ptr<ptpmon::Client> m_client;
AnyEvent class header file.
Definition: anyEvent.hpp:93
Definition: smAdapter.hpp:60
Adapter for ptpmond's TRS Health status to the state machine.
Definition: trsHealth.hpp:40
void Disable()
Disable TRS health status notification.
Definition: trsHealth.cpp:44
void Notify(const ptpmon::StatusMessage &status) override
Definition: trsHealth.cpp:50
const ptpmon::StatusMessage & GetStatus() const
Retrieve the most recent status.
Definition: trsHealth.cpp:29
TrsHealth & operator=(const TrsHealth &)=delete
void Enable()
Enable TRS health status notification.
Definition: trsHealth.cpp:34
TrsHealth(const TrsHealth &)=delete
TrsHealth & operator=(TrsHealth &&)=default
TrsHealth(boost::asio::io_context &ioc, SMAdapter &sm, const std::string_view path=ptpmon::DEFAULT_SOCKET_PATH)
Register callbacks and start connecting to the ptpmond socket.
Definition: trsHealth.cpp:19
virtual ~TrsHealth()=default
TrsHealth(TrsHealth &&)=default
Definition: actionsApp.cpp:20
SMAdapter class header file.
Definition: trsHealth.hpp:25
std::string payload_t
Definition: trsHealth.hpp:27
static constexpr char const * ID
Definition: trsHealth.hpp:26
Definition: trsHealth.hpp:31
std::string payload_t
Definition: trsHealth.hpp:33
static constexpr char const * ID
Definition: trsHealth.hpp:32