rad 6.2.0
Loading...
Searching...
No Matches
signal.hpp
Go to the documentation of this file.
1
9#ifndef RAD_SIGNAL_HPP
10#define RAD_SIGNAL_HPP
11
12#include <rad/anyEvent.hpp>
13#include <rad/smAdapter.hpp>
14
15#include <boost/asio.hpp>
16
17namespace rad {
18
22class Signal {
23 public:
24 Signal(boost::asio::io_context& ios, SMAdapter& sm, UniqueEvent&& event);
25 virtual ~Signal();
26
27 void Add(const int signal_number);
28 void Install(const int signal_number);
29 void Install(void);
30 void Cancel(void);
31
32 Signal(const Signal&) = delete;
33 Signal& operator=(const Signal&) = delete;
34
35 private:
36 void Callback(boost::system::error_code const& error_code, int signal_number);
37
38 boost::asio::io_context& m_ios;
39 boost::asio::signal_set m_signals;
40 SMAdapter& m_sm;
41 //UniqueEvent m_triggered_event;
42 SharedEvent m_triggered_event;
43};
44
45} // namespace rad
46
47#endif // RAD_SIGNAL_HPP
AnyEvent class header file.
Definition smAdapter.hpp:60
Definition signal.hpp:22
virtual ~Signal()
Definition signal.cpp:39
void Add(const int signal_number)
Definition signal.cpp:49
void Cancel(void)
Definition signal.cpp:81
void Install(void)
Definition signal.cpp:71
Signal & operator=(const Signal &)=delete
Signal(boost::asio::io_context &ios, SMAdapter &sm, UniqueEvent &&event)
Definition signal.cpp:27
Signal(const Signal &)=delete
Definition actionsApp.cpp:23
std::unique_ptr< AnyEvent > UniqueEvent
Definition anyEvent.hpp:45
std::shared_ptr< const AnyEvent > SharedEvent
Definition anyEvent.hpp:44
SMAdapter class header file.