1 #ifndef OCM_SERVER_DAQ_STATE_MACHINE_HPP
2 #define OCM_SERVER_DAQ_STATE_MACHINE_HPP
8 #include <rad/AnyEvent.hpp>
9 #include <rad/Dispatcher.hpp>
10 #include <rad/ActionMgr.hpp>
11 #include <scxml4cpp/Action.h>
12 #include <scxml4cpp/Activity.h>
13 #include <scxml4cpp/Context.h>
14 #include <scxml4cpp/EventQueue.h>
15 #include <scxml4cpp/Executor.h>
16 #include <scxml4cpp/StateMachine.h>
44 std::string
const& model_file,
45 std::list<scxml4cpp::Action*>& actions,
46 std::list<scxml4cpp::Activity*>& activities);
71 void RegisterEvents(std::vector<rad::EventInfo>
const& events, StateMachine& sm);
95 std::function<StateMachine(std::string)>
97 std::string
const& model_file,
98 std::list<scxml4cpp::Action*>& actions,
99 std::list<scxml4cpp::Activity*>& activities);
102 #endif // #ifndef OCM_SERVER_DAQ_STATE_MACHINE_HPP
Context m_context
Definition: stateMachine.hpp:85
void RegisterEvents(std::vector< rad::EventInfo > const &events, StateMachine &sm)
Definition: stateMachine.cpp:48
Definition: Executor.h:67
StateMachine(Context &ctx, std::string const &model_file, std::list< scxml4cpp::Action * > &actions, std::list< scxml4cpp::Activity * > &activities)
Definition: stateMachine.cpp:12
void UnregisterEvents()
Definition: stateMachine.cpp:60
Definition: ActionMgr.hpp:38
Definition: StateMachine.h:44
EventRegistry(rad::Dispatcher &dispatcher)
Definition: stateMachine.cpp:38
std::string m_daq_id
Definition: stateMachine.hpp:25
rad::ActionMgr m_action_mgr
Definition: stateMachine.hpp:84
std::vector< rad::Dispatcher::token_t > m_dispatcher_tokens
Definition: stateMachine.hpp:75
Context()
Definition: Context.cpp:32
StateMachine & operator=(StateMachine const &)=delete
Definition: Dispatcher.hpp:22
StateMachine m_sm
Definition: stateMachine.hpp:86
Definition: EventQueue.h:44
void ProcessEvent(rad::AnyEvent const &ev)
Definition: stateMachine.cpp:66
Definition: AnyEvent.hpp:55
std::function< StateMachine(std::string)> MakeStateMachineFactory(Context &ctx, std::string const &model_file, std::list< scxml4cpp::Action * > &actions, std::list< scxml4cpp::Activity * > &activities)
~EventRegistry()
Definition: stateMachine.cpp:41
~StateMachine()
Definition: stateMachine.cpp:30
rad::Dispatcher & m_dispatcher
Definition: stateMachine.hpp:74