rad 8.2.0
Loading...
Searching...
No Matches
trsHealth.hpp
Go to the documentation of this file.
1
9#ifndef RAD_TRSHEALTH_HPP
10#define RAD_TRSHEALTH_HPP
11
12#include <rad/anyEvent.hpp>
13#include <rad/smAdapter.hpp>
14
15#include <memory>
16#include <string>
17#include <string_view>
18
19#include <boost/asio.hpp>
20
21namespace rad {
22
24 static constexpr char const* ID = "TrsEvents.HealthBad";
25 using payload_t = std::string;
26};
28
30 static constexpr char const* ID = "TrsEvents.HealthGood";
31 using payload_t = std::string;
32};
34
35
44
45
49class TrsHealth {
50 public:
60 explicit TrsHealth(boost::asio::io_context& ioc, SMAdapter& sm);
61
72 explicit TrsHealth(
73 boost::asio::io_context& ioc,
74 SMAdapter& sm,
75 const std::string_view path);
76
87 explicit TrsHealth(
88 boost::asio::io_context& ioc,
89 SMAdapter& sm,
90 const TrsProtocol protocol);
91
103 explicit TrsHealth(
104 boost::asio::io_context& ioc,
105 SMAdapter& sm,
106 const std::string_view path,
107 const TrsProtocol protocol);
108
110
112 std::string GetStatus() const;
113
115 void Enable();
116
118 void Disable();
119
120 private:
121 class Impl;
122
124 std::unique_ptr<Impl> m_impl;
125};
126
127} // namespace rad
128
129
130#endif // RAD_TRSHEALTH_HPP
AnyEvent class header file.
Definition anyEvent.hpp:93
Definition smAdapter.hpp:60
Private implementation class to hide dependency to trsmon.
Definition trsHealth.cpp:42
void Disable()
Disable TRS health status notification.
Definition trsHealth.cpp:125
std::string GetStatus() const
Retrieve a string indicative of the most recent status.
Definition trsHealth.cpp:115
void Enable()
Enable TRS health status notification.
Definition trsHealth.cpp:120
TrsHealth(boost::asio::io_context &ioc, SMAdapter &sm)
Register callbacks and start connecting to the default TRS monitoring socket.
Definition trsHealth.cpp:88
Definition actionsApp.cpp:67
rad::EventT< TrsHealthBadEventTrait > TrsHealthBadEvent
Definition trsHealth.hpp:27
rad::EventT< TrsHealthGoodEventTrait > TrsHealthGoodEvent
Definition trsHealth.hpp:33
TrsProtocol
Time reference protocols.
Definition trsHealth.hpp:39
@ PTP
Definition trsHealth.hpp:40
@ NTP
Definition trsHealth.hpp:41
@ PTP_OR_NTP
Definition trsHealth.hpp:42
SMAdapter class header file.
Definition trsHealth.hpp:23
std::string payload_t
Definition trsHealth.hpp:25
static constexpr char const * ID
Definition trsHealth.hpp:24
Definition trsHealth.hpp:29
std::string payload_t
Definition trsHealth.hpp:31
static constexpr char const * ID
Definition trsHealth.hpp:30