rad 6.2.0
|
#include <configurableActionMgr.hpp>
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 | |
ConfigurableActionMgr & | operator= (const ConfigurableActionMgr &)=delete |
Disable copy constructor. | |
![]() | |
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) |
ActionList & | GetActions () |
ActionGroupList & | GetActionGroups () |
ActivityList & | GetActivities () |
scxml4cpp::Action * | FindAction (const std::string &id) |
ActionGroup * | FindActionGroup (const std::string &id) |
void | DelAction (const std::string &id) |
ActionMgr (const ActionMgr &)=delete | |
ActionMgr & | operator= (const ActionMgr &)=delete |
Disable copy constructor. | |
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.
rad::ConfigurableActionMgr::ConfigurableActionMgr | ( | ) |
Default constructor.
|
virtual |
Default destructor.
|
delete |
void rad::ConfigurableActionMgr::Configure | ( | const std::vector< std::string > & | keys | ) |
Propagate the re-configuration notification to all registered ActionGroup and Activities objects.
keys | Modified parameters. Empty vector means all params have changed. |
|
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.
appl | Reference 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.
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.
appl | Reference to the Application object that is injected in the ActionGroup so that action methods can trigger internal events. |
the_data | Reference to the application specific DataConext object that is injected in the ActionGroup so that action methods can share data. |
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.
appl | Reference to the Application object that is injected in the ActionGroup so that action methods can trigger internal events. |
the_data | Reference to the application specific DataConext object that is injected in the ActionGroup so that action methods can share data. |
|
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.
appl | Reference 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.
void rad::ConfigurableActionMgr::Initialize | ( | ) |
Propagate the re-initialization notification to all registered ActionGroup and Activities objects.
|
delete |
Disable copy constructor.