|
|
#include <ArmarXCore/statechart/State.h>
Inheritance diagram for State:Classes | |
| struct | Impl |
Public Member Functions | |
| virtual RemoteStatePtr | addDynamicRemoteState (std::string instanceName) |
| Function to add a new dynamic remote substate to this state. More... | |
| virtual RemoteStatePtr | addRemoteState (std::string stateName, std::string proxyName, std::string instanceName="") |
| Function to add a new remote substate to this state. More... | |
| StateBasePtr | addState (StateBasePtr pNewState) |
| template<> | |
| StatePtr | addState (std::string const &stateName) |
| template<> | |
| StatePtr | addState (std::string const &stateName) |
| template<class derivedState > | |
| IceInternal::Handle< derivedState > | addState (std::string const &stateName="") |
| Function to add a new substate to this state. Should be called in the defineState()-function. More... | |
| bool | addToInput (const std::string &key, const ContainerType &type, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) |
| Adds a key,type-pair to the input parameters. More... | |
| bool | addToInput (const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr()) |
| Adds a new parameter list to the input parameters with a specific type. More... | |
| bool | addToLocal (const std::string &key, const ContainerType &type, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) |
| Adds a new parameter list to the local parameters with a specific type. More... | |
| bool | addToLocal (const std::string &key, VariantTypeId type, VariantPtr defaultValue=VariantPtr()) |
| Adds a key,type-pair to the local parameters. More... | |
| bool | addToOutput (const std::string &key, const ContainerType &type, bool optional) |
| Adds a new parameter list to the output parameters with a specific type. More... | |
| bool | addToOutput (const std::string &key, VariantTypeId type, bool optional) |
| Adds a key,type-pair to the output parameters. More... | |
| TransitionIceBase & | addTransition (EventPtr event, StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
| template<class EventType > | |
| TransitionIceBase & | addTransition (StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
| Function to add a new transition between to substates to this state. More... | |
| template<class EventType > | |
| TransitionIceBase & | addTransitionFromAllStates (StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
Function to add a new transition from all substates to destinationState. More... | |
| void | cancelSubstates () |
| Use this function in the onEnter() function, if you want to avoid that the substates (i.e. More... | |
| StateBasePtr | clone () const override |
| Generates a new copy of this state with the same statename, substates, transitions, overidden functions etc. More... | |
| StateBasePtr | createEmptyCopy () const override |
| Generates a new copy of this state with the same overidden functions. stateName, substates, transition etc. are not set. More... | |
| std::string | getGlobalIdString () const |
| Getter for the global state identifier string. More... | |
| unsigned int | getId () const |
| Returns an id to this state, that is guaranteed to be unique in this process. More... | |
| StateBasePtr | getInitState () const |
| Getter for the initial state. The initial state is automatically entered, when this state is entered. More... | |
| template<typename T > | |
| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getInput (const std::string &key) const |
| getInput can be used to access a specific input parameter. More... | |
| template<typename T > | |
| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getInput (const std::string &key) const |
| getInput can be used to access a specific input parameter. More... | |
| VariantPtr | getInput (const std::string &key) const |
| getInput can be used to access a specific input parameter. More... | |
| StateParameterMap | getInputParameters () override |
| Returns a new copy of the inputparameters-dictionary, so that the caller cannot modify them (const won't work due to pointers). More... | |
| template<typename T > | |
| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getLocal (const std::string &key) const |
| getLocal can be used to access a specific input parameter. More... | |
| template<typename T > | |
| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getLocal (const std::string &key) const |
| getLocal can be used to access a specific input parameter. More... | |
| VariantContainerBasePtr | getLocalContainer (std::string const &key) |
| StateParameterMap & | getLocalParameters () |
| Getter for the local parameter map. More... | |
| template<typename T > | |
| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getOutput (const std::string &key) const |
| getOutput can be used to access a specific input parameter. More... | |
| template<typename T > | |
| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getOutput (const std::string &key) const |
| getOutput can be used to access a specific input parameter. More... | |
| StateParameterMap & | getOutputParameters () override |
| getter function to get the map of output parameters More... | |
| void | inheritInputFromSubstate (std::string stateName) |
| bool | init (StatechartContextInterface *context, StatechartManager *manager) |
| Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More... | |
| bool | isInputParameterSet (const std::string &key) const |
| Checks whether a given input parameter is set or not. More... | |
| bool | isLocalParameterSet (const std::string &key) const |
| bool | isOutputParameterSet (const std::string &key) const |
| bool | isUnbreakable () const |
| StateBasePtr | setInitState (StateBasePtr initState, ParameterMappingPtr initialStateMapping=ParameterMappingPtr()) |
| Sets the initial substate of this state. More... | |
| void | setInput (std::string const &key, const Variant &value) |
| setInput() sets an input parameter. More... | |
| void | setInput (std::string const &key, const VariantContainerBase &valueList) |
| setInput() sets an input parameter list. More... | |
| void | setLocal (std::string const &key, const Variant &value) |
| setLocal() sets a local parameter. More... | |
| void | setLocal (std::string const &key, const VariantContainerBase &valueList) |
| setLocal() sets a local parameter list. More... | |
| void | setOutput (std::string const &key, const Variant &value) |
| setOuput() sets an output parameter of this state. More... | |
| void | setOutput (std::string const &key, const VariantContainerBase &valueList) |
| setOuput() sets an output parameter LIST of this state. More... | |
| void | setStateClassNameFromTypeName (const std::string &typeName) |
| void | setStateName (const std::string &newName) |
| void | setUnbreakable (bool setUnbreakable=true) |
| With this function the state can be made unbreakable. More... | |
| void | setUseRunFunction (bool useRunFuntion) |
| setUseRunFunction can be used to configurate whether the thread with the async. More... | |
Public Member Functions inherited from StateUtility | |
| template<class EventClass > | |
| EventPtr | createEvent () |
| Utility function to create a new Event. More... | |
| EventPtr | createEvent (const std::string &eventName, const StringVariantContainerBaseMap &properties=StringVariantContainerBaseMap()) |
| Utility function to create a new Event. More... | |
Public Member Functions inherited from StateController | |
| bool | __applyMappings (const StateControllerPtr &srcState, const TransitionIceBase &t, const EventPtr &event, TransitionError &error) |
| Apply the mappings during a transitions. More... | |
| virtual bool | __breakActiveSubstate (const EventPtr event) |
| bool | __checkExistenceOfTransition (const TransitionIceBase &transition) |
| virtual void | __enqueueEvent (const EventPtr event) |
| virtual void | __finalize (const EventPtr event) |
| Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More... | |
| bool | __findValidTransition (const EventPtr &event, const StateIceBasePtr &sourceState, TransitionIceBase &resultTransition, TransitionError &error) const |
| StateControllerPtr | __getParentState () const |
| Getter function that automatically casts the parentState member of StateBase into StateControllerPtr. More... | |
| virtual unsigned int | __getUnbreakableBufferSize () const |
| virtual bool | __getUnbreakableBufferStati () const |
| Before:Function to get the unbreakable-buffer status of all parent state - recursively. More... | |
| virtual void | __notifyEventBufferedDueToUnbreakableState (bool eventBuffered=true) |
| void | __printTransitionError (const TransitionError &transitionError, const EventPtr &event) const |
| virtual void | __processBufferedEvents () |
| Processes buffered events, that could not be processed immediately due to unbreakable substates. More... | |
| virtual void | __processEvent (const EventPtr event, bool buffered=false) |
| Main function to control the statemachine/state. More... | |
| virtual void | __substatesFinished (const EventPtr ev) |
| Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More... | |
| TransitionError | __validateTransition (const TransitionIceBase &transition, const EventPtr event, const StateIceBasePtr &sourceState, const StateIceBasePtr &destinationState) const |
| void | __waitForRemoteStates () const |
| virtual bool | _baseOnBreak (const EventPtr evt) |
| Called by StateControllerprocessEvent()-function or parentstate. Must NOT be called by user. More... | |
| virtual void | _baseOnEnter () |
| Called by StateControllerprocessEvent()-function or parentstate. More... | |
| virtual void | _baseOnExit () |
| Called by StateController::processEvent()-function or parentstate. Must NOT be called by user. More... | |
| virtual void | _baseRun () |
| virtual void | _startRun () |
| void | addProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0) |
| addProfilerRecursive recursively adds a new armarx::Profiler::Profiler object as armarx::StateController::localProfiler(the default one does not do anything at all). More... | |
| void | addTransitionFunction (const TransitionIceBase &t, transitionFunction function) |
| void | disableRunFunction () |
| disableRunFunction sets useRunFunction to false and waits (blocking) for the current StateBase::run() function to complete. More... | |
| void | disableStateReporting (bool disable=true) |
| Disables the reporting to profilers for this states during state visits. More... | |
| void | enter (const StringVariantContainerBaseMap &tempInputParameters=StringVariantContainerBaseMap()) |
| Function to set the statemachine in the first state and call OnEnter(). More... | |
| bool | findTransition (const std::string &eventName, const std::string sourceStateName, TransitionIceBase &transition) |
| std::string | getTransitionID (const std::string &eventName, const std::string sourceStateName) const |
| std::string | getTransitionID (const TransitionIceBase &t) const |
| bool | isFinished () const |
| bool | isRunningTaskFinished () const |
| Checks whether the run() function has already finished. More... | |
| bool | isRunningTaskStopped () const |
| isRunningTaskStopped checks whether the RunningTask, that executes run() is requested to stop. More... | |
| void | removeProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0) |
| StateController () | |
| StateController (const StateController &source) | |
| void | waitForRunningTaskToFinish () const |
| Waits until the run-function has finished. More... | |
| void | waitForStateToFinish (int timeoutMs=-1) const |
| waitForStateToFinish waits until this thread has finished (i.e. More... | |
| ~StateController () override | |
Public Member Functions inherited from StateBase | |
| void | __checkPhase (const std::vector< StatePhase > &allowedTypes, const char *functionName) const |
| void | __checkPhase (StatePhase allowedType, const char *functionName) const |
| Helper function for checking if a function was called in valid position of the statechart. More... | |
| void | __checkPhaseMin (StatePhase allowedType, const char *functionName) const |
| void | __copyDefaultValuesToInput () |
| StringVariantContainerBaseMap | __getSetInputAndLocalParameters () const |
| Combines both maps to one map and returns a new map of only the set parameters. More... | |
| virtual bool | __hasActiveSubstate () |
| Virtual function to indicate wheter a state has an active substate or not. To be overridden by RemoteState to deligate the call to the real state. More... | |
| virtual bool | __hasSubstates () |
| Virtual function to indicate wheter a state has substates or not. To be overridden by RemoteState to deligate the call to the real state. More... | |
| void | __setParentState (StateBase *parentState) |
| void | __throwUnknownParameter (const StateParameterMap ¶mMap, const std::string &key) const |
| void | __updateGlobalStateId () |
| virtual void | __updateGlobalStateIdRecursive () |
| bool | addParameter (StateParameterMap ¶mMap, const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr()) const |
| bool | addParameterContainer (StateParameterMap ¶mMap, const std::string &key, const ContainerType &containerType, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) const |
| void | clearSelfPointer () |
| virtual void | deepCopy (const StateBase &sourceState, bool reset=true) |
| Function to copy the states with all it substates and transitions. More... | |
| virtual void | defineParameters () |
| Virtual function, in which input/local/output parameters can be specified. More... | |
| virtual void | defineState () |
| Virtual function, in which this state can be configured. More... | |
| virtual void | defineSubstates () |
| Virtual function, in which substates, transition and mappings can be added. More... | |
| StateBasePtr | findSubstateByName (const std::string &substateName) |
| Utility function to find a substate of this state by the name. More... | |
| template<typename ContextType > | |
| ContextType * | getContext () const |
| StatechartContextInterface * | getContext (bool checkNULL=true) const |
| std::string | getGlobalHierarchyString () const |
| std::string | getLocalHierarchyString () const |
| Function to get a string that contains als parent states and this state. (e.g. "Robot->Functional->Idling") More... | |
| Ice::Int | getLocalUniqueId () const |
| void | getParameter (const StateParameterMap ¶mMap, const std::string &key, VariantPtr &value) const |
| void | getParameterContainer (const StateParameterMap ¶mMap, const std::string &key, VariantContainerBasePtr &valueContainer) const |
| const std::string & | getStateClassName () const |
| std::string | getStateName () const |
| getStateName More... | |
| StatePhase | getStatePhase () const |
| EventPtr | getTriggeredEndstateEvent () const |
| This function returns the event that was triggered by entering an endstate. More... | |
| void | inheritInputParameters () |
| bool | init (StatechartContextInterface *context, StatechartManager *manager) |
| Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More... | |
| virtual bool | isInitialized () const |
| Returns the status of this state. Only if a state is initialized, it can be used. More... | |
| bool | isParameterSet (const StateParameterMap ¶mMap, const std::string &key) const |
| virtual void | onBreak () |
| Virtual function, in which the behaviour of state is defined, when it is abnormally exited. Can be overridden, but it is optional. An abnormal exit only occurs in hierarchy-levels greater 1. When a parent state is left before the substates are finished, the OnBreak()-function is called in the active substate and in all it's active substates. If this function is not implemented, the normal OnExit()-function is called. More... | |
| virtual void | onEnter () |
| Virtual function, in which the behaviour of state is defined, when it is entered. Can be overridden, but it is optional. More... | |
| virtual void | onExit () |
| Virtual function, in which the behaviour of state is defined, when it is exited. Can be overridden, but it is optional. More... | |
| StateBase & | operator= (const StateBase &source) |
| virtual void | refetchSubstates () |
| This functions updates the substates. More... | |
| void | reset () |
| Function to reset the state: clear name, clear substatesList, clear transition etc. More... | |
| virtual void | run () |
| Virtual function, that can be reimplemented to calculate complex operations. More... | |
| void | setContext (StatechartContextInterface *context) |
| void | setInitialized (bool enable) |
| void | setParameter (StateParameterMap ¶mMap, const std::string &key, const Variant &variant) |
| void | setParameterContainer (StateParameterMap ¶mMap, const std::string &key, const VariantContainerBase &valueContainer) |
| void | setParameterContainer (StateParameterMap ¶mMap, const std::string &key, const VariantContainerBasePtr &valueContainer) |
| void | setStateClassName (std::string className) |
| setStateClassName() sets the string, that contains a stringrepresentation of this class. Should not be called usually. The classname gets automatically set in the constructor of the derived class StateTemplate<T>. More... | |
| void | setStatePhase (StatePhase newPhase) |
| StateBase () | |
| StateBase (const StateBase &source) | |
| virtual bool | waitForInitialization (int timeoutMS=-1) const |
| ~StateBase () override | |
Public Member Functions inherited from Logging | |
| SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
| disables the logging for the current line for the given amount of seconds. More... | |
| MessageTypeT | getEffectiveLoggingLevel () const |
| Logging () | |
| void | setLocalMinimumLoggingLevel (MessageTypeT level) |
| With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
| void | setTag (const LogTag &tag) |
| void | setTag (const std::string &tagName) |
| virtual | ~Logging () |
Protected Member Functions | |
| State & | operator= (const State &source) |
| State () | |
| State (const State &source) | |
| ~State () override | |
Protected Member Functions inherited from StateUtility | |
| ConditionIdentifier | installCondition (const Term &condition, const EventPtr evt, const std::string &desc="") |
| Utility function to install a condition on the distributed conditionhandler. More... | |
| template<class Eventclass > | |
| ConditionIdentifier | installCondition (const Term &condition, const std::string &desc="") |
| Utility function to install a condition on the distributed conditionhandler. More... | |
| void | removeCondition (ConditionIdentifier conditionId) |
| Utility function to remove an installed condition on the distributed conditionhandler. More... | |
| void | removeCounterEvent (const ActionEventIdentifier &id) |
| void | removeTimeoutEvent (const ActionEventIdentifier &id) |
| void | sendEvent (const EventPtr event, StateBasePtr eventProcessor=nullptr) |
| Function to send an event to a specific state from an onEnter()-function. Must not be called anywhere else. The event is processed after the onEnter()-function of this and all initial substates have returned. Use of this function should be avoided since this statemachine is blocked until this event and all subsequent sendEvents() are processed. More... | |
| template<class Event > | |
| void | sendEvent (StateBasePtr eventProcessor=nullptr) |
| ActionEventIdentifier | setCounterEvent (int counterThreshold, const EventPtr &evt, int initialValue=0) |
| template<class Eventclass > | |
| ActionEventIdentifier | setCounterEvent (int counterThreshold, int initialValue=0) |
| template<class Eventclass > | |
| ActionEventIdentifier | setTimeoutEvent (int timeoutDurationMs) |
| ActionEventIdentifier | setTimeoutEvent (int timeoutDurationMs, const EventPtr &evt) |
| Utility function to start a timer on the systemObserver and register an event on the conditionHandler. The condition is automatically removed, when the state is left. More... | |
Protected Member Functions inherited from Logging | |
| bool | checkLogLevel (MessageTypeT level) const |
| const LogSenderPtr & | getLogSender () const |
| Retrieve log sender. More... | |
| LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Additional Inherited Members | |
Public Types inherited from StateController | |
| using | transitionFunction = std::function< void(StateController *state, const StateIceBasePtr &nextState, const StateIceBasePtr &previousState)> |
| using | TransitionFunctionMap = std::map< std::string, transitionFunction > |
Public Types inherited from StateBase | |
| enum | StatePhase { ePreDefined, eStatechartDefinitions, eSubstatesDefinitions, eParametersDefinitions, eDefined, eEntering, eEntered, eBreaking, eExiting, eExited } |
| enum that specifies the phase in which the state is currently in used to control the usage of state-functions in the correct context More... | |
Static Public Member Functions inherited from StateBase | |
| static std::vector< StateBasePtr > | GetActiveStateLeafs (StateBasePtr toplevelState) |
Public Attributes inherited from StateController | |
| std::unique_ptr< Impl > | cimpl |
Public Attributes inherited from StateBase | |
| std::unique_ptr< Impl > | impl |
Protected Attributes inherited from Logging | |
| MessageTypeT | minimumLoggingLevel |
| SpamFilterDataPtr | spamFilter |
| LogTag | tag |
Class that offers the main functionality needed to create a statechart. Only functions from this class and StateUtility should be used to define custom statecharts.
|
protected |
|
virtual |
Function to add a new dynamic remote substate to this state.
A Dynamic Remote State is only a placeholder for the real state that is located in another application. Most functioncalls to a Remote State are redirected to the state in other application. The interface is the same as to a normal state.
The differene to a Remote State is, that the location of the real state is unspecified until the Dynamic Remote State-onEnter() function is called by the system. The location of the real state must be specified in the input parameters of the state.
So the inputparameter map must contain a field 'proxyName' and a field 'stateName' with the corresponding values.
Reimplemented in RemoteStateOffererBase.
Definition at line 213 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Function to add a new remote substate to this state.
A Remote State is only a placeholder for the real state that is located in another application. Most functioncalls to a Remote State are redirected to the state in other application. The interface is the same as to a normal state.
| stateName | String that describes this state. Must exist on the specified proxy, otherwise an exception is thrown. It is the name, that was set by setStateName(stateName) or addState(stateName). |
| proxyName | Name of the Ice Proxy, that offers the state |
Reimplemented in RemoteStateOffererBase.
Definition at line 158 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| StateBasePtr addState | ( | StateBasePtr | pNewState | ) |
| StatePtr addState | ( | std::string const & | stateName | ) |
| StatePtr addState | ( | std::string const & | stateName | ) |
| IceInternal::Handle< derivedState > addState | ( | std::string const & | stateName = "" | ) |
Function to add a new substate to this state. Should be called in the defineState()-function.
| derivedState | Template parameter that specifies the derived state class of the added state. Must be derived from StateTemplate or class State itself if no further functionality is required. |
| stateName | String that describes this state. Should be unique in this hierarchy level. |
Definition at line 540 of file State.h.
Here is the call graph for this function:| bool addToInput | ( | const std::string & | key, |
| const ContainerType & | type, | ||
| bool | optional, | ||
| VariantContainerBasePtr | defaultValue = VariantContainerBasePtr() |
||
| ) |
Adds a key,type-pair to the input parameters.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 309 of file State.cpp.
Here is the call graph for this function:| bool addToInput | ( | const std::string & | key, |
| VariantTypeId | type, | ||
| bool | optional, | ||
| VariantPtr | defaultValue = VariantPtr() |
||
| ) |
Adds a new parameter list to the input parameters with a specific type.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 299 of file State.cpp.
Here is the call graph for this function:| bool addToLocal | ( | const std::string & | key, |
| const ContainerType & | type, | ||
| VariantContainerBasePtr | defaultValue = VariantContainerBasePtr() |
||
| ) |
Adds a new parameter list to the local parameters with a specific type.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 334 of file State.cpp.
Here is the call graph for this function:| bool addToLocal | ( | const std::string & | key, |
| VariantTypeId | type, | ||
| VariantPtr | defaultValue = VariantPtr() |
||
| ) |
Adds a key,type-pair to the local parameters.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 345 of file State.cpp.
Here is the call graph for this function:| bool addToOutput | ( | const std::string & | key, |
| const ContainerType & | type, | ||
| bool | optional | ||
| ) |
Adds a new parameter list to the output parameters with a specific type.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 326 of file State.cpp.
Here is the call graph for this function:| bool addToOutput | ( | const std::string & | key, |
| VariantTypeId | type, | ||
| bool | optional | ||
| ) |
Adds a key,type-pair to the output parameters.
| key | String to describe the parameter |
| type | Variable that defines the type of this parameter |
| optional | Flag to indicate whether or not this parameter must be set, when this state is entered |
Definition at line 319 of file State.cpp.
Here is the call graph for this function:| TransitionIceBase & addTransition | ( | EventPtr | event, |
| StateIceBasePtr | sourceState, | ||
| StateIceBasePtr | destinationState, | ||
| ParameterMappingIceBasePtr | mappingToNextStatesInput = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesLocal = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesOutput = nullptr |
||
| ) |
| TransitionIceBase & addTransition | ( | StateIceBasePtr | sourceState, |
| StateIceBasePtr | destinationState, | ||
| ParameterMappingIceBasePtr | mappingToNextStatesInput = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesLocal = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesOutput = nullptr |
||
| ) |
Function to add a new transition between to substates to this state.
| EventType | Type of the event that trigers this transition. |
| pSourceState | Shared pointer to the state, that must be the active state before this transition. OnExit() is called there. |
| pDestination | Shared pointer to the state, in which this transition will end. OnEnter() is called there. |
| pMapping | Mapping from the outputDictionary of pSourceState and the eventDictionary to the inputDictionary of pDestinationState |
Definition at line 561 of file State.h.
Here is the call graph for this function:| TransitionIceBase & addTransitionFromAllStates | ( | StateIceBasePtr | destinationState, |
| ParameterMappingIceBasePtr | mappingToNextStatesInput = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesLocal = nullptr, |
||
| ParameterMappingIceBasePtr | mappingToParentStatesOutput = nullptr |
||
| ) |
Function to add a new transition from all substates to destinationState.
Definition at line 577 of file State.h.
Here is the call graph for this function:| void cancelSubstates | ( | ) |
|
overridevirtual |
Generates a new copy of this state with the same statename, substates, transitions, overidden functions etc.
Implements StateBase.
Reimplemented in NoUserCodeState.
Definition at line 500 of file State.cpp.
Here is the call graph for this function:
|
overridevirtual |
| std::string getGlobalIdString | ( | ) | const |
| unsigned int getId | ( | ) | const |
| StateBasePtr getInitState | ( | ) | const |
Getter for the initial state. The initial state is automatically entered, when this state is entered.
| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getInput | ( | const std::string & | key | ) | const |
getInput can be used to access a specific input parameter.
This version is for complex variant types.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
Definition at line 620 of file State.h.
Here is the call graph for this function:| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > getInput | ( | const std::string & | key | ) | const |
getInput can be used to access a specific input parameter.
This version is for basic variant types like int, float, bool, string.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
| VariantPtr getInput | ( | const std::string & | key | ) | const |
getInput can be used to access a specific input parameter.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
Definition at line 416 of file State.cpp.
Here is the call graph for this function:
|
overridevirtual |
Returns a new copy of the inputparameters-dictionary, so that the caller cannot modify them (const won't work due to pointers).
These values are reset immediately after this state is left (onExit/onBreak was called)
Implements StateBase.
Definition at line 407 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getLocal | ( | const std::string & | key | ) | const |
getLocal can be used to access a specific input parameter.
This version is for complex variant types.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
Definition at line 653 of file State.h.
Here is the call graph for this function:| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > getLocal | ( | const std::string & | key | ) | const |
getLocal can be used to access a specific input parameter.
This version is for basic variant types like int, float, bool, string.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
| VariantContainerBasePtr getLocalContainer | ( | std::string const & | key | ) |
| StateParameterMap & getLocalParameters | ( | ) |
| std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getOutput | ( | const std::string & | key | ) | const |
getOutput can be used to access a specific input parameter.
This version is for complex variant types.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
Definition at line 686 of file State.h.
Here is the call graph for this function:| std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > getOutput | ( | const std::string & | key | ) | const |
getOutput can be used to access a specific input parameter.
This version is for basic variant types like int, float, bool, string.
| InvalidTypeException |
| T | Type of the requested variant. The return type depends on this. |
| key | of the parameter |
|
overridevirtual |
getter function to get the map of output parameters
Reimplemented from StateBase.
Definition at line 119 of file State.cpp.
Here is the caller graph for this function:| void inheritInputFromSubstate | ( | std::string | stateName | ) |
| bool init | ( | StatechartContextInterface * | context, |
| StatechartManager * | manager | ||
| ) |
Function to initialize this state. Must be called in the highest level of the hierarchy - and only there.
| context | pointer to a StatechartContext, that holds the objects to communicate with other components like observers, kinematic unit etc. |
Definition at line 87 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| bool isInputParameterSet | ( | const std::string & | key | ) | const |
| bool isLocalParameterSet | ( | const std::string & | key | ) | const |
| bool isOutputParameterSet | ( | const std::string & | key | ) | const |
| StateBasePtr setInitState | ( | StateBasePtr | initState, |
| ParameterMappingPtr | initialStateMapping = ParameterMappingPtr() |
||
| ) |
Sets the initial substate of this state.
This initial state is automatically entered, when the parent state is entered. On the implicit transition a parameter mapping from the parent's input and local parameters is done. The mapping can be specified with setInitialStateMapping()
| initState | The state that should be the initial state |
| initialStateMapping | A ParameterMapping that maps *this's input to the state's input in the first parameter(use mapFromParent()). This mapping is copied and then stored. |
Definition at line 354 of file State.cpp.
Here is the call graph for this function:| void setInput | ( | std::string const & | key, |
| const Variant & | value | ||
| ) |
setInput() sets an input parameter.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 434 of file State.cpp.
Here is the call graph for this function:| void setInput | ( | std::string const & | key, |
| const VariantContainerBase & | valueList | ||
| ) |
setInput() sets an input parameter list.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 449 of file State.cpp.
Here is the call graph for this function:| void setLocal | ( | std::string const & | key, |
| const Variant & | value | ||
| ) |
setLocal() sets a local parameter.
Local means, that this parameter can be written and read in this state's onEnter(), onBreak(), onEnter() and only there.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 464 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void setLocal | ( | std::string const & | key, |
| const VariantContainerBase & | valueList | ||
| ) |
setLocal() sets a local parameter list.
Local means, that this parameter can be written and read in this state's onEnter(), onBreak(), onEnter() and only there.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 473 of file State.cpp.
Here is the call graph for this function:| void setOutput | ( | std::string const & | key, |
| const Variant & | value | ||
| ) |
setOuput() sets an output parameter of this state.
Can be called in onEnter(), onBreak(), onExit(). Following states can access this parameter.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 482 of file State.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void setOutput | ( | std::string const & | key, |
| const VariantContainerBase & | valueList | ||
| ) |
setOuput() sets an output parameter LIST of this state.
Can be called in onEnter(), onBreak(), onExit(). Following states can access this parameter.
| key | of the parameter |
| value | of the parameter of any by the Variant supported type |
Definition at line 491 of file State.cpp.
Here is the call graph for this function:| void setStateClassNameFromTypeName | ( | const std::string & | typeName | ) |
| void setUnbreakable | ( | bool | setUnbreakable = true | ) |
| void setUseRunFunction | ( | bool | useRunFuntion | ) |
setUseRunFunction can be used to configurate whether the thread with the async.
run-function should be started/used.
This should be set to false in time-critical states.
| useRunFuntion |