ifw-slm 0.1.2
 
Loading...
Searching...
No Matches
ifw::slm::ActionMgr Class Reference

#include <actionMgr.hpp>

Inheritance diagram for ifw::slm::ActionMgr:

Public Types

using LoopActionFactory
 
using LoopSuspendedActionFactory
 
using LoopCloseActionFactory
 
using LoopExecuteActivityFactory
 

Public Member Functions

 ActionMgr (DataContext &the_data)
 
virtual ~ActionMgr ()
 
void RegisterLoopActionFactory (int loop_index, LoopActionFactory factory)
 
void RegisterLoopSuspendedActionFactory (int loop_index, LoopSuspendedActionFactory factory)
 
void RegisterLoopCloseActionFactory (int loop_index, LoopCloseActionFactory factory)
 
void RegisterLoopExecuteActivityFactory (int loop_index, LoopExecuteActivityFactory factory)
 
void CreateActions (rad::Application &appl) override
 
void CreateActivities (rad::Application &appl) override
 
 ActionMgr (const ActionMgr &)=delete
 
ActionMgroperator= (const ActionMgr &)=delete
 Disable copy constructor.
 
BaseLoopSuspendedActionsCreateLoopSuspendedAction (int loop_index, const std::string &name, rad::Application &appl)
 
BaseLoopCloseActionsCreateLoopCloseAction (int loop_index, const std::string &name, rad::Application &appl)
 
BaseLoopExecuteActivityCreateLoopExecuteActivity (int loop_index, const std::string &name, rad::SMAdapter &sm)
 

Detailed Description

This class is responsible for the life-cycle management of actions and activities with support for customizable loop actions via factory registration.

Member Typedef Documentation

◆ LoopActionFactory

Initial value:
std::function<BaseLoopActions*(
const std::string&, rad::Application&, rad::ConfigurableActionMgr&, DataContext&, int,
std::shared_ptr<LoopCompletionHandler>)>
Definition baseLoopActions.hpp:38
Definition dataContext.hpp:29

Factory types for creating custom loop action implementations

◆ LoopCloseActionFactory

Initial value:
std::function<BaseLoopCloseActions*(
const std::string&, rad::Application&, rad::ConfigurableActionMgr&, DataContext&, int,
std::shared_ptr<LoopCompletionHandler>)>
Definition baseLoopActions.hpp:299

◆ LoopExecuteActivityFactory

Initial value:
std::function<BaseLoopExecuteActivity*(
const std::string&, rad::SMAdapter&, DataContext&, int, LoopCompletionHandler*)>
Definition baseLoopActions.hpp:120
Interface for handling loop completion events.
Definition loopCompletionHandler.hpp:32

Factory type for creating loop execute activities

◆ LoopSuspendedActionFactory

Initial value:
std::function<BaseLoopSuspendedActions*(
const std::string&, rad::Application&, rad::ConfigurableActionMgr&, DataContext&, int,
std::shared_ptr<LoopCompletionHandler>)>
Definition baseLoopActions.hpp:203

Constructor & Destructor Documentation

◆ ActionMgr() [1/2]

ifw::slm::ActionMgr::ActionMgr ( DataContext & the_data)

Constructor.

Parameters
the_dataData context for the application

◆ ~ActionMgr()

ifw::slm::ActionMgr::~ActionMgr ( )
virtual

Destructor.

◆ ActionMgr() [2/2]

ifw::slm::ActionMgr::ActionMgr ( const ActionMgr & )
delete

Member Function Documentation

◆ CreateActions()

void ifw::slm::ActionMgr::CreateActions ( rad::Application & appl)
override

Method to instantiate the action objects. Uses registered factories to create loop actions, or defaults to base implementations.

Parameters
applRAD application instance

◆ CreateActivities()

void ifw::slm::ActionMgr::CreateActivities ( rad::Application & appl)
override

Method to instantiate activity objects.

Parameters
applRAD application instance

◆ CreateLoopCloseAction()

BaseLoopCloseActions * ifw::slm::ActionMgr::CreateLoopCloseAction ( int loop_index,
const std::string & name,
rad::Application & appl )

Helper method to create loop close actions using factories or defaults

◆ CreateLoopExecuteActivity()

BaseLoopExecuteActivity * ifw::slm::ActionMgr::CreateLoopExecuteActivity ( int loop_index,
const std::string & name,
rad::SMAdapter & sm )

Helper method to create loop execute activities using factories or defaults

◆ CreateLoopSuspendedAction()

BaseLoopSuspendedActions * ifw::slm::ActionMgr::CreateLoopSuspendedAction ( int loop_index,
const std::string & name,
rad::Application & appl )

Helper method to create suspended loop actions using factories or defaults

◆ operator=()

ActionMgr & ifw::slm::ActionMgr::operator= ( const ActionMgr & )
delete

Disable copy constructor.

◆ RegisterLoopActionFactory()

void ifw::slm::ActionMgr::RegisterLoopActionFactory ( int loop_index,
LoopActionFactory factory )

Register custom factory for loop action (ActionsLoopN) Must be called before CreateActions().

Parameters
loop_indexLoop index (1-9)
factoryFactory function to create the action

◆ RegisterLoopCloseActionFactory()

void ifw::slm::ActionMgr::RegisterLoopCloseActionFactory ( int loop_index,
LoopCloseActionFactory factory )

Register custom factory for loop close action (ActionsLoopNCloseLoop) Must be called before CreateActions().

Parameters
loop_indexLoop index (1-9)
factoryFactory function to create the action

◆ RegisterLoopExecuteActivityFactory()

void ifw::slm::ActionMgr::RegisterLoopExecuteActivityFactory ( int loop_index,
LoopExecuteActivityFactory factory )

Register custom factory for loop execute activity Must be called before CreateActivities().

Parameters
loop_indexLoop index (1-9)
factoryFactory function to create the activity

◆ RegisterLoopSuspendedActionFactory()

void ifw::slm::ActionMgr::RegisterLoopSuspendedActionFactory ( int loop_index,
LoopSuspendedActionFactory factory )

Register custom factory for loop suspended action (ActionsLoopNS) Must be called before CreateActions().

Parameters
loop_indexLoop index (1-9)
factoryFactory function to create the action

The documentation for this class was generated from the following files: