Free Electron
Reactor.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __signal_Reactor_h__
8 #define __signal_Reactor_h__
9 
10 #include "signal/ReactorI.h"
11 
12 namespace fe
13 {
14 namespace ext
15 {
16 
17 class FE_DL_EXPORT Reactor :
18  virtual public ReactorI,
19  public Initialize<Reactor>
20 {
21  public:
22  Reactor(void);
23 virtual ~Reactor(void);
24 
25  void initialize(void);
26 
27 virtual void add(const String &a_name,
28  sp<SignalerI> a_signaler, Record r_sig);
29 virtual void react(const String &a_name);
30  private:
31  class t_relay
32  {
33  public:
34  sp<SignalerI> m_spSignaler;
35  Record m_signal;
36  };
37  std::map<String, Array<t_relay> > m_relays;
38 
39 };
40 
41 } /* namespace ext */
42 } /* namespace fe */
43 
44 #endif /* __signal_Reactor_h__ */
45 
kernel
Definition: namespace.dox:3