9#ifndef IFWSLM_ACTION_MGR_HPP
10#define IFWSLM_ACTION_MGR_HPP
12#include <rad/configurableActionMgr.hpp>
13#include <rad/application.hpp>
30class TestLoopCloseActions;
39class ActionMgr :
public rad::ConfigurableActionMgr {
43 const std::string&, rad::Application&, rad::ConfigurableActionMgr&,
DataContext&, int,
44 std::shared_ptr<LoopCompletionHandler>)>;
46 const std::string&, rad::Application&, rad::ConfigurableActionMgr&,
DataContext&, int,
47 std::shared_ptr<LoopCompletionHandler>)>;
49 const std::string&, rad::Application&, rad::ConfigurableActionMgr&,
DataContext&, int,
50 std::shared_ptr<LoopCompletionHandler>)>;
123 std::map<int, LoopActionFactory> m_loop_action_factories;
124 std::map<int, LoopSuspendedActionFactory> m_loop_suspended_factories;
125 std::map<int, LoopCloseActionFactory> m_loop_close_factories;
126 std::map<int, LoopExecuteActivityFactory> m_loop_activity_factories;
127 std::shared_ptr<LoopCompletionHandler> m_completion_handler;
130 BaseLoopActions* CreateLoopAction(
int loop_index,
const std::string& name,
131 rad::Application& appl);
137 rad::Application& appl);
142 rad::Application& appl);
ActionMgr & operator=(const ActionMgr &)=delete
Disable copy constructor.
virtual ~ActionMgr()
Definition actionMgr.cpp:36
void CreateActivities(rad::Application &appl) override
Definition actionMgr.cpp:288
std::function< BaseLoopExecuteActivity *( const std::string &, rad::SMAdapter &, DataContext &, int, LoopCompletionHandler *)> LoopExecuteActivityFactory
Definition actionMgr.hpp:53
ActionMgr(DataContext &the_data)
Definition actionMgr.cpp:31
std::function< BaseLoopActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopActionFactory
Definition actionMgr.hpp:42
BaseLoopCloseActions * CreateLoopCloseAction(int loop_index, const std::string &name, rad::Application &appl)
Definition actionMgr.cpp:182
void CreateActions(rad::Application &appl) override
Definition actionMgr.cpp:210
void RegisterLoopActionFactory(int loop_index, LoopActionFactory factory)
Definition actionMgr.cpp:40
void RegisterLoopCloseActionFactory(int loop_index, LoopCloseActionFactory factory)
Definition actionMgr.cpp:50
BaseLoopExecuteActivity * CreateLoopExecuteActivity(int loop_index, const std::string &name, rad::SMAdapter &sm)
Definition actionMgr.cpp:60
void RegisterLoopExecuteActivityFactory(int loop_index, LoopExecuteActivityFactory factory)
Definition actionMgr.cpp:55
void RegisterLoopSuspendedActionFactory(int loop_index, LoopSuspendedActionFactory factory)
Definition actionMgr.cpp:45
std::function< BaseLoopCloseActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopCloseActionFactory
Definition actionMgr.hpp:48
BaseLoopSuspendedActions * CreateLoopSuspendedAction(int loop_index, const std::string &name, rad::Application &appl)
Definition actionMgr.cpp:83
std::function< BaseLoopSuspendedActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopSuspendedActionFactory
Definition actionMgr.hpp:45
ActionMgr(const ActionMgr &)=delete
Definition baseLoopActions.hpp:38
Definition baseLoopActions.hpp:299
Definition baseLoopActions.hpp:120
Definition baseLoopActions.hpp:203
Definition dataContext.hpp:29
Interface for handling loop completion events.
Definition loopCompletionHandler.hpp:32
Definition testActionMgr.cpp:27
Test fixture for suspended actions.
Definition testSuspendedActions.cpp:43
Definition actionMgr.cpp:29