ifw-daq  2.1.0-pre1
IFW Data Acquisition modules
actionMgr.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * @ingroup server
4  * @copyright ESO - European Southern Observatory
5  * @author
6  *
7  * @brief ActionMgr class header file.
8  */
9 #ifndef SERVER_ACTION_MGR_HPP_
10 #define SERVER_ACTION_MGR_HPP_
11 
12 #include <rad/actionMgr.hpp>
13 #include <rad/smAdapter.hpp>
14 
15 #include <scxml4cpp/EventQueue.h>
16 
17 #include <boost/asio.hpp>
18 
19 namespace server {
20 
21 class DataContext;
22 class ActionsStd;
23 
24 /**
25  * This class is responsible for the life-cycle management of
26  * actions and activities.
27  */
28 class ActionMgr : public rad::ActionMgr {
29  public:
30  /**
31  * Default constructor.
32  */
33  ActionMgr();
34 
35  /**
36  * Default destructor.
37  */
38  virtual ~ActionMgr();
39 
40  /**
41  * Method to instantiate the action objects.
42  *
43  * @param[in] ios Event loop.
44  * @param[in] sm SM adapter used to inject internal events.
45  * @param[in] the_data Data shared within the application among actions and activities.
46  */
47  void CreateActions(boost::asio::io_service& ios,
48  rad::SMAdapter& sm,
49  DataContext& the_data);
50 
51  /**
52  * Method to instantiate activity objects.
53  *
54  * @param[in] the_data Data shared within the application.
55  * @param[in] sm Reference to the State Machine adapter needed to trigger internal events.
56  */
57  void CreateActivities(rad::SMAdapter& sm, DataContext& the_data);
58 
59  ActionMgr(const ActionMgr&) = delete; //! Disable copy constructor
60  ActionMgr& operator=(const ActionMgr&) = delete; //! Disable assignment operator
61 };
62 
63 } // namespace server
64 
65 #endif // SERVER_ACTION_MGR_HPP_
server::ActionMgr::CreateActions
void CreateActions(boost::asio::io_service &ios, rad::SMAdapter &sm, DataContext &the_data)
Method to instantiate the action objects.
Definition: actionMgr.cpp:31
server::ActionMgr::~ActionMgr
virtual ~ActionMgr()
Default destructor.
Definition: actionMgr.cpp:27
server::ActionMgr::ActionMgr
ActionMgr(const ActionMgr &)=delete
server::ActionMgr::CreateActivities
void CreateActivities(rad::SMAdapter &sm, DataContext &the_data)
Method to instantiate activity objects.
Definition: actionMgr.cpp:107
server::ActionMgr::ActionMgr
ActionMgr()
Default constructor.
Definition: actionMgr.cpp:23
server::ActionMgr
This class is responsible for the life-cycle management of actions and activities.
Definition: actionMgr.hpp:28
server::DataContext
This class provide access to the application run-time data including the in-memory DB.
Definition: dataContext.hpp:21
server
Definition: actionMgr.cpp:21
server::ActionMgr::operator=
ActionMgr & operator=(const ActionMgr &)=delete
Disable copy constructor.