ifw-fcf  5.0.0-pre2
actionsEnable.hpp
Go to the documentation of this file.
1 
8 #ifndef FCF_DEVMGR_COMMON_ACTIONS_ENABLE_HPP_
9 #define FCF_DEVMGR_COMMON_ACTIONS_ENABLE_HPP_
10 
11 // Local headers
12 #include <fcf/devmgr/common/events.rad.hpp>
13 
14 #include <rad/actionGroup.hpp>
15 #include <rad/smAdapter.hpp>
16 #include <rad/mal/request.hpp>
17 #include <utils/bat/logger.hpp>
18 #include <scxml4cpp/Context.h>
19 
20 namespace fcf {
21  namespace devmgr {
22  namespace common {
23 
24  class DataContext;
25  class DeviceFacade;
29  class ActionsEnable : public rad::ActionGroup
30  {
31  public:
40  ActionsEnable(boost::asio::io_service& ios,
41  rad::SMAdapter& sm,
42  DataContext& data_ctx,
43  DeviceFacade& device_facade);
44 
51  void Start(scxml4cpp::Context* c);
52 
60  void Stop(scxml4cpp::Context* c);
61 
69  void Done(scxml4cpp::Context* c);
70 
78  void Error(scxml4cpp::Context* c);
79 
87  void Timeout(scxml4cpp::Context* c);
88 
89  ActionsEnable(const ActionsEnable&) = delete;
91 
92  private:
93  boost::asio::io_service& m_io_service;
94  rad::SMAdapter& m_sm;
95  DataContext& m_data_ctx;
96  DeviceFacade& m_device_facade;
97  rad::cii::Request<std::string> m_enable_req;
98  log4cplus::Logger m_logger;
99  };
100  } // namespace common
101  } // namespace devmgr
102 }
103 
104 #endif // FCF_DEVMGR_COMMON_ACTIONS_ENABLE_HPP_
Definition: actionsEnable.hpp:30
void Error(scxml4cpp::Context *c)
Definition: actionsEnable.cpp:71
void Stop(scxml4cpp::Context *c)
Definition: actionsEnable.cpp:49
void Timeout(scxml4cpp::Context *c)
Definition: actionsEnable.cpp:86
ActionsEnable(const ActionsEnable &)=delete
Disable copy constructor.
ActionsEnable & operator=(const ActionsEnable &)=delete
Disable assignment operator.
ActionsEnable(boost::asio::io_service &ios, rad::SMAdapter &sm, DataContext &data_ctx, DeviceFacade &device_facade)
Definition: actionsEnable.cpp:22
void Start(scxml4cpp::Context *c)
Definition: actionsEnable.cpp:35
void Done(scxml4cpp::Context *c)
Definition: actionsEnable.cpp:64
Definition: dataContext.hpp:90
Definition: deviceFacade.hpp:54
Definition: actionMgr.cpp:29