ifw-ccf  3.0.0-pre2
appBase.hpp
Go to the documentation of this file.
1 
5 #ifndef CCF_COMMON_APP_BASE_HPP_
6 #define CCF_COMMON_APP_BASE_HPP_
7 
8 #include <mal/Mal.hpp>
9 
10 #include <rad/mal/replier.hpp>
11 
12 #include <scxml4cpp/Context.h>
13 #include <scxml4cpp/EventQueue.h>
14 #include <rad/smAdapter.hpp>
15 
16 #include <Recif.hpp>
17 
18 #include <ccf/common/events.rad.hpp>
19 
20 #include <ccf/common/base.hpp>
21 
22 namespace ccf::common {
23 
25  class AppBase {
26  public:
28  static rad::SMAdapter& StateMachine();
29 
31  static bool RecordingActive();
32 
34  static boost::asio::io_context& IoContext();
35 
36  //static elt::mal::Mal& Mal(); // TODO
37 
38  AppBase();
39  ~AppBase();
40 
41  protected:
42  private:
43  //rad::cii::Replier* m_mal_replier; // TODO: Implement.
44  //static elt::mal::CiiFactory* s_factory; // TODO: Implement.
45  //static elt::mal::Mal* s_mal; // TODO: Implement.
46  static boost::asio::io_context s_io_context;
47  static scxml4cpp::EventQueue s_external_events;
48  static scxml4cpp::Context s_state_machine_ctx;
49  static rad::SMAdapter* s_state_machine;
50  //ActionMgr m_action_mgr; // TODO: Implement.
51  //StdActions* m_actions_std; // TODO: Implement.
52  };
53 
54 }
55 
56 #endif // CCF_COMMON_APP_BASE_HPP_
57 
58 
Class to be used as parent for CCF application type of classes.
Definition: appBase.hpp:25
AppBase()
Definition: appBase.cpp:18
static bool RecordingActive()
Return true if a Recording Session is ongoing.
Definition: appBase.cpp:43
~AppBase()
Definition: appBase.cpp:22
static boost::asio::io_context & IoContext()
Return reference to Asio I/O Service instance.
Definition: appBase.cpp:38
static rad::SMAdapter & StateMachine()
Return reference to state machine engine.
Definition: appBase.cpp:29
Definition: appBase.cpp:8