rad  3.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 
17 namespace rad {
18 
22 class Signal {
23  public:
24  Signal(boost::asio::io_service& 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_service& m_ios;
39  boost::asio::signal_set m_signals;
40  SMAdapter& m_sm;
41  UniqueEvent m_triggered_event;
42 };
43 
44 } // namespace rad
45 
46 #endif // RAD_SIGNAL_HPP
rad::Signal::Install
void Install(void)
Definition: signal.cpp:71
rad::UniqueEvent
std::unique_ptr< AnyEvent > UniqueEvent
Definition: anyEvent.hpp:45
rad::SMAdapter
Definition: smAdapter.hpp:60
rad::Signal
Definition: signal.hpp:22
rad::Signal::~Signal
virtual ~Signal()
Definition: signal.cpp:39
rad::Signal::Signal
Signal(const Signal &)=delete
rad
Definition: actionCallback.hpp:21
rad::Signal::Signal
Signal(boost::asio::io_service &ios, SMAdapter &sm, UniqueEvent &&event)
Definition: signal.cpp:27
rad::Signal::Cancel
void Cancel(void)
Definition: signal.cpp:81
rad::Signal::Add
void Add(const int signal_number)
Definition: signal.cpp:49
rad::Signal::operator=
Signal & operator=(const Signal &)=delete