RaftLib  0.3a
C++ Stream Processing Template Library
systemsignalhandler.hpp
1 
23 #ifndef _SYSTEMSIGNALHANDLER_HPP_
24 #define _SYSTEMSIGNALHANDLER_HPP_ 1
25 #include <exception>
26 #include <map>
27 #include <string>
28 #include "signalvars.hpp"
29 #include "systemsignal.hpp"
30 
35 class NoSignalHandlerFoundException : public std::exception
36 {
37 public:
38  NoSignalHandlerFoundException( const std::string message );
39  virtual const char* what() const noexcept;
40 
41 private:
42  std::string message;
43 };
44 
45 
47 {
48 public:
49  SystemSignalHandler() = default;
50  virtual ~SystemSignalHandler() = default;
51 
62  void addHandler( const raft::signal signal,
63  sighandler handler );
64 
76  raft::kstatus callHandler( const raft::signal signal,
77  FIFO &fifo,
78  raft::kernel *kernel,
79  void *data );
80 
81 private:
82  std::map< raft::signal,
83  sighandler > handlers;
84 };
85 #endif /* END _SYSTEMSIGNALHANDLER_HPP_ */
raft::kstatus callHandler(const raft::signal signal, FIFO &fifo, raft::kernel *kernel, void *data)
Definition: systemsignalhandler.cpp:44
Definition: systemsignalhandler.hpp:35
Definition: systemsignalhandler.hpp:46
NoSignalHandlerFoundException(const std::string message)
Definition: systemsignalhandler.cpp:24
void addHandler(const raft::signal signal, sighandler handler)
Definition: systemsignalhandler.cpp:37
Definition: kernel.hpp:57
Definition: fifo.hpp:48