rad 6.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
rad::ConfigurableActionMgr Class Referenceabstract

#include <configurableActionMgr.hpp>

Inheritance diagram for rad::ConfigurableActionMgr:
rad::ActionMgr exciiserver::ActionMgr rad::utest::ActionMgr

Public Member Functions

 ConfigurableActionMgr ()
 
virtual ~ConfigurableActionMgr ()
 
virtual void CreateActions (Application &appl)=0
 
virtual void CreateActivities (Application &appl)=0
 
void CreateActionsForStdEvents (Application &appl, DataContext &the_data)
 
void CreateActionsForAppEvents (Application &appl, DataContext &the_data)
 
void Initialize ()
 
void Configure (const std::vector< std::string > &keys)
 
 ConfigurableActionMgr (const ConfigurableActionMgr &)=delete
 
ConfigurableActionMgroperator= (const ConfigurableActionMgr &)=delete
 Disable copy constructor.
 
- Public Member Functions inherited from rad::ActionMgr
 ActionMgr ()
 
virtual ~ActionMgr ()
 
template<class T >
void RegisterAction (const std::string &id, void(T::*method)(scxml4cpp::Context *c), T *group)
 
template<class T >
void RegisterGuard (const std::string &id, bool(T::*method)(scxml4cpp::Context *c), T *group)
 
void AddAction (scxml4cpp::Action *the_action)
 
void AddActionGroup (rad::ActionGroup *the_action_group)
 
void AddActivity (scxml4cpp::Activity *the_activity)
 
ActionListGetActions ()
 
ActionGroupListGetActionGroups ()
 
ActivityListGetActivities ()
 
scxml4cpp::ActionFindAction (const std::string &id)
 
ActionGroupFindActionGroup (const std::string &id)
 
void DelAction (const std::string &id)
 
 ActionMgr (const ActionMgr &)=delete
 
ActionMgroperator= (const ActionMgr &)=delete
 Disable copy constructor.
 

Detailed Description

This class adds to the rad::ActionMgr base class the methods for the creation of the actions required for the handling of the ELT Standard Interface (CreateStdCmdsActions) and the LSV Common Interface (CreateLsvCmdsActions).

It provides also the methods to re-initialize (Initialize) and re-configure (Configure) the actions and activities.

Constructor & Destructor Documentation

◆ ConfigurableActionMgr() [1/2]

rad::ConfigurableActionMgr::ConfigurableActionMgr ( )

Default constructor.

◆ ~ConfigurableActionMgr()

rad::ConfigurableActionMgr::~ConfigurableActionMgr ( )
virtual

Default destructor.

◆ ConfigurableActionMgr() [2/2]

rad::ConfigurableActionMgr::ConfigurableActionMgr ( const ConfigurableActionMgr & )
delete

Member Function Documentation

◆ Configure()

void rad::ConfigurableActionMgr::Configure ( const std::vector< std::string > & keys)

Propagate the re-configuration notification to all registered ActionGroup and Activities objects.

Parameters
keysModified parameters. Empty vector means all params have changed.

◆ CreateActions()

virtual void rad::ConfigurableActionMgr::CreateActions ( Application & appl)
pure virtual

This interface should be used by the application to create the ActionGroup objects and register their methods as action or guard callback.

The implementation of this interface is required by the Application class (Init method) to be able to properly set-up the application and load the State Machine model.

Parameters
applReference to the application that can be injected in the ActionGroup object so that actions and guards can for example trigger internal event.

Implemented in exciiserver::ActionMgr, and rad::utest::ActionMgr.

◆ CreateActionsForAppEvents()

void rad::ConfigurableActionMgr::CreateActionsForAppEvents ( Application & appl,
DataContext & the_data )

Create the ActionsLsv object and register its methods as action objects. The ActionsStd class contains the actions/callbacks to process the LSV Common Interface requests.

Parameters
applReference to the Application object that is injected in the ActionGroup so that action methods can trigger internal events.
the_dataReference to the application specific DataConext object that is injected in the ActionGroup so that action methods can share data.

◆ CreateActionsForStdEvents()

void rad::ConfigurableActionMgr::CreateActionsForStdEvents ( Application & appl,
DataContext & the_data )

Create the ActionsStd object and register its methods as action objects. The ActionsStd class contains the actions/callbacks to process the ELT Standard Interface requests.

Parameters
applReference to the Application object that is injected in the ActionGroup so that action methods can trigger internal events.
the_dataReference to the application specific DataConext object that is injected in the ActionGroup so that action methods can share data.

◆ CreateActivities()

virtual void rad::ConfigurableActionMgr::CreateActivities ( Application & appl)
pure virtual

This interface should be used by the application to create the Activity objects.

The implementation of this interface is required by the Application class (Init method) to be able to properly set-up the application and load the State Machine model.

Parameters
applReference to the Application object that can be injected in the lsv::app::Activity object so that actions and guards can for example trigger internal event.

Implemented in exciiserver::ActionMgr, and rad::utest::ActionMgr.

◆ Initialize()

void rad::ConfigurableActionMgr::Initialize ( )

Propagate the re-initialization notification to all registered ActionGroup and Activities objects.

◆ operator=()

ConfigurableActionMgr & rad::ConfigurableActionMgr::operator= ( const ConfigurableActionMgr & )
delete

Disable copy constructor.


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