ifw-ccf  3.0.0-pre2
stdActions.hpp
Go to the documentation of this file.
1 
5 #ifndef CCFCONTROL_ACTIONSSTD_HPP_
6 #define CCFCONTROL_ACTIONSSTD_HPP_
7 
8 #include <string>
9 
10 #include <rad/actionGroup.hpp>
11 #include <rad/mal/request.hpp>
12 #include <rad/signal.hpp>
13 #include <rad/smAdapter.hpp>
14 
15 #include <scxml4cpp/StatusListener.h>
16 #include <scxml4cpp/EventListener.h>
17 
18 #include <ccf/common/base.hpp>
19 
20 namespace ccf::control {
21 
22 class DataContext;
23 
50 class StdActions : public rad::ActionGroup, public scxml4cpp::StatusListener {
51  public:
52 
53  StdActions(boost::asio::io_context& ioc,
54  rad::SMAdapter& sm,
55  DataContext& data);
56 
57  void notifyStatus(std::list<scxml4cpp::State*>& status);
58 
59  void notifyEvent(scxml4cpp::Event* event);
60 
61  void Status(scxml4cpp::Context* c);
62 
63  void Stop(scxml4cpp::Context* c);
64 
65  void Init(scxml4cpp::Context* c);
66 
67  void Enable(scxml4cpp::Context* c);
68 
69  void Disable(scxml4cpp::Context* c);
70 
71  void Reset(scxml4cpp::Context* c);
72 
73  void SetLogLevel(scxml4cpp::Context* c);
74 
75  void Exit(scxml4cpp::Context* c);
76 
77  void GetState(scxml4cpp::Context* c);
78 
79  void GetStatus(scxml4cpp::Context* c);
80 
81  void GetVersion(scxml4cpp::Context* c);
82 
83  void InitDone(scxml4cpp::Context* c);
84 
85  void InitFailure(scxml4cpp::Context* c);
86 
87  void ExitNoReply(scxml4cpp::Context* c);
88 
89  StdActions(const StdActions&) = delete;
90  StdActions& operator=(const StdActions&) = delete;
91 
92  private:
93  boost::asio::io_context& m_io_context;
94  rad::SMAdapter& m_sm;
95  rad::Signal m_signal;
96  DataContext& m_data;
97  rad::cii::Request<std::string> m_init_req;
98 };
99 
100 } // namespace ccf::control
101 
102 #endif // CCFCONTROL_ACTIONSSTD_HPP_
Provides access to the application run-time data.
Definition: dataContext.hpp:18
RAD Action Group for the actions in connection with the "stdif".
Definition: stdActions.hpp:50
void notifyStatus(std::list< scxml4cpp::State * > &status)
Definition: stdActions.cpp:205
void Enable(scxml4cpp::Context *c)
Definition: stdActions.cpp:103
void InitFailure(scxml4cpp::Context *c)
Definition: stdActions.cpp:199
void Status(scxml4cpp::Context *c)
void GetState(scxml4cpp::Context *c)
Definition: stdActions.cpp:170
StdActions & operator=(const StdActions &)=delete
Disable copy constructor.
void GetStatus(scxml4cpp::Context *c)
Definition: stdActions.cpp:61
void SetLogLevel(scxml4cpp::Context *c)
Definition: stdActions.cpp:140
void Disable(scxml4cpp::Context *c)
Definition: stdActions.cpp:115
void Exit(scxml4cpp::Context *c)
Definition: stdActions.cpp:37
void notifyEvent(scxml4cpp::Event *event)
Definition: stdActions.cpp:210
void Stop(scxml4cpp::Context *c)
Definition: stdActions.cpp:75
void Reset(scxml4cpp::Context *c)
Definition: stdActions.cpp:127
StdActions(boost::asio::io_context &ioc, rad::SMAdapter &sm, DataContext &data)
Definition: stdActions.cpp:22
void Init(scxml4cpp::Context *c)
Definition: stdActions.cpp:89
void GetVersion(scxml4cpp::Context *c)
Definition: stdActions.cpp:182
StdActions(const StdActions &)=delete
void ExitNoReply(scxml4cpp::Context *c)
Definition: stdActions.cpp:53
void InitDone(scxml4cpp::Context *c)
Definition: stdActions.cpp:194
Definition: acqThread.cpp:10