ifw-fcf  5.0.0-pre2
actionsStd.hpp
Go to the documentation of this file.
1 
9 #ifndef FCF_FCF_DEVMGR_COMMON_ACTION_STD_HPP_
10 #define FCF_FCF_DEVMGR_COMMON_ACTION_STD_HPP_
11 
12 #include <utils/bat/logger.hpp>
13 #include <rad/actionGroup.hpp>
14 #include <rad/assert.hpp>
15 #include <rad/signal.hpp>
16 #include <rad/smAdapter.hpp>
17 
18 #include <scxml4cpp/EventListener.h>
19 #include <scxml4cpp/StatusListener.h>
20 #include <mal/Mal.hpp>
21 #include <string>
22 
23 namespace mal = ::elt::mal;
24 
25 namespace fcf::devmgr::common {
26 
27 class DataContext;
28 class DeviceFacade;
54 class ActionsStd : public rad::ActionGroup,
55  public scxml4cpp::StatusListener,
56  public scxml4cpp::EventListener {
57  public:
66  ActionsStd(boost::asio::io_service& ios, mal::Mal& mal, rad::SMAdapter& sm, DataContext& data,
67  DeviceFacade& device_facade);
68 
76  void notifyEvent(scxml4cpp::Event* e);
77 
84  void notifyStatus(std::list<scxml4cpp::State*>& status);
85 
90  void GetStatus(scxml4cpp::Context* c);
91 
96  void GetVersion(scxml4cpp::Context* c);
97 
106  void GetState(scxml4cpp::Context* c);
107 
116  void DevStatus(scxml4cpp::Context* c);
117 
126  void DevNames(scxml4cpp::Context* c);
127 
136  void DevInfo(scxml4cpp::Context* c);
137 
146  void DevConfig(scxml4cpp::Context* c);
147 
155  void Stop(scxml4cpp::Context* c);
156 
165  void Init(scxml4cpp::Context* c);
166 
174  void Enable(scxml4cpp::Context* c);
175 
183  void Disable(scxml4cpp::Context* c);
184 
192  void Reset(scxml4cpp::Context* c);
193 
203  void Config(scxml4cpp::Context* c);
204 
211  void GetConfig(scxml4cpp::Context* c);
212 
221  void SetLogLevel(scxml4cpp::Context* c);
222 
231  void Exit(scxml4cpp::Context* c);
232 
240  void ExitNoReply(scxml4cpp::Context* c);
241 
250  void Simulate(scxml4cpp::Context* c);
251 
260  void StopSim(scxml4cpp::Context* c);
261 
273  void Ignore(scxml4cpp::Context* c);
274 
282  void StopIgn(scxml4cpp::Context* c);
283 
291  void HwReset(scxml4cpp::Context* c);
292 
300  void HwInit(scxml4cpp::Context* c);
301 
309  void HwEnable(scxml4cpp::Context* c);
310 
318  void HwDisable(scxml4cpp::Context* c);
319 
326  void StartDaq(scxml4cpp::Context* c);
327 
334  void StopDaq(scxml4cpp::Context* c);
335 
342  void AbortDaq(scxml4cpp::Context* c);
343 
350  void GetDaqStatus(scxml4cpp::Context* c);
351 
352  ActionsStd(const ActionsStd&) = delete;
353  ActionsStd& operator=(const ActionsStd&) = delete;
354 
355  private:
356  boost::asio::io_service& m_io_service;
357  mal::Mal& m_mal;
358  rad::SMAdapter& m_sm;
359  rad::Signal m_signal;
360  DataContext& m_data;
361  DeviceFacade& m_device_facade;
362  std::string m_status;
363  std::string m_state;
364  std::string m_substate;
365  log4cplus::Logger m_logger;
366 
367 };
368 
369 } // namespace fcf::devmgr::common
370 
371 #endif // FCF_FCF_DEVMGR_COMMON_ACTION_STD_HPP_
Definition: actionsStd.hpp:56
void HwInit(scxml4cpp::Context *c)
Definition: actionsStd.cpp:508
void GetDaqStatus(scxml4cpp::Context *c)
Definition: actionsStd.cpp:705
void Disable(scxml4cpp::Context *c)
Definition: actionsStd.cpp:338
void Config(scxml4cpp::Context *c)
Definition: actionsStd.cpp:367
void StopSim(scxml4cpp::Context *c)
Implementation of the StopSim action.
Definition: actionsStd.cpp:448
void Ignore(scxml4cpp::Context *c)
Implementation of the Ignore action.
Definition: actionsStd.cpp:468
ActionsStd & operator=(const ActionsStd &)=delete
Disable copy constructor.
void DevConfig(scxml4cpp::Context *c)
Definition: actionsStd.cpp:616
void StopIgn(scxml4cpp::Context *c)
Definition: actionsStd.cpp:488
void DevNames(scxml4cpp::Context *c)
Definition: actionsStd.cpp:584
ActionsStd(const ActionsStd &)=delete
void GetConfig(scxml4cpp::Context *c)
Definition: actionsStd.cpp:379
void GetStatus(scxml4cpp::Context *c)
ActionsStd.
Definition: actionsStd.cpp:244
void DevInfo(scxml4cpp::Context *c)
Definition: actionsStd.cpp:600
void GetVersion(scxml4cpp::Context *c)
Get server version.
Definition: actionsStd.cpp:271
void Stop(scxml4cpp::Context *c)
Definition: actionsStd.cpp:305
void DevStatus(scxml4cpp::Context *c)
Definition: actionsStd.cpp:284
void StopDaq(scxml4cpp::Context *c)
Definition: actionsStd.cpp:657
void StartDaq(scxml4cpp::Context *c)
Definition: actionsStd.cpp:635
void HwDisable(scxml4cpp::Context *c)
Definition: actionsStd.cpp:546
void GetState(scxml4cpp::Context *c)
Definition: actionsStd.cpp:232
void SetLogLevel(scxml4cpp::Context *c)
Definition: actionsStd.cpp:400
void Init(scxml4cpp::Context *c)
Definition: actionsStd.cpp:316
void notifyEvent(scxml4cpp::Event *e)
Definition: actionsStd.cpp:84
void HwReset(scxml4cpp::Context *c)
Definition: actionsStd.cpp:565
void Reset(scxml4cpp::Context *c)
Definition: actionsStd.cpp:349
void Exit(scxml4cpp::Context *c)
Definition: actionsStd.cpp:215
void Enable(scxml4cpp::Context *c)
Definition: actionsStd.cpp:327
void notifyStatus(std::list< scxml4cpp::State * > &status)
Definition: actionsStd.cpp:43
void AbortDaq(scxml4cpp::Context *c)
Definition: actionsStd.cpp:682
void ExitNoReply(scxml4cpp::Context *c)
Definition: actionsStd.cpp:227
void Simulate(scxml4cpp::Context *c)
Implementation of the Simulate action.
Definition: actionsStd.cpp:428
ActionsStd(boost::asio::io_service &ios, mal::Mal &mal, rad::SMAdapter &sm, DataContext &data, DeviceFacade &device_facade)
Definition: actionsStd.cpp:26
void HwEnable(scxml4cpp::Context *c)
Definition: actionsStd.cpp:527
Definition: dataContext.hpp:90
Definition: deviceFacade.hpp:54
Definition: actionMgr.cpp:29
Signal
Definition: motorConfig.hpp:126