|
|
#include <ArmarXCore/statechart/xmlstates/XMLState.h>
Inheritance diagram for XMLState:Public Member Functions | |
| StatechartProfilePtr | getSelectedProfile () const |
| XMLState () | |
| XMLState (const XMLStateConstructorParams &stateData) | |
| ~XMLState () override | |
Public Member Functions inherited from State | |
| virtual RemoteStatePtr | addDynamicRemoteState (std::string instanceName) |
| Function to add a new dynamic remote substate to this state. | |
| virtual RemoteStatePtr | addRemoteState (std::string stateName, std::string proxyName, std::string instanceName="") |
| Function to add a new remote substate to this state. | |
| 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. | |
| bool | addToInput (const std::string &key, const ContainerType &type, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) |
| Adds a key,type-pair to the input parameters. | |
| 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. | |
| 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. | |
| bool | addToLocal (const std::string &key, VariantTypeId type, VariantPtr defaultValue=VariantPtr()) |
| Adds a key,type-pair to the local parameters. | |
| bool | addToOutput (const std::string &key, const ContainerType &type, bool optional) |
| Adds a new parameter list to the output parameters with a specific type. | |
| bool | addToOutput (const std::string &key, VariantTypeId type, bool optional) |
| Adds a key,type-pair to the output parameters. | |
| 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. | |
| 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. | |
| void | cancelSubstates () |
| Use this function in the onEnter() function, if you want to avoid that the substates (i.e. | |
| StateBasePtr | clone () const override |
| Generates a new copy of this state with the same statename, substates, transitions, overidden functions etc. | |
| StateBasePtr | createEmptyCopy () const override |
| Generates a new copy of this state with the same overidden functions. stateName, substates, transition etc. are not set. | |
| std::string | getGlobalIdString () const |
| Getter for the global state identifier string. | |
| unsigned int | getId () const |
| Returns an id to this state, that is guaranteed to be unique in this process. | |
| StateBasePtr | getInitState () const |
| Getter for the initial state. The initial state is automatically entered, when this state is entered. | |
| 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. | |
| 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. | |
| VariantPtr | getInput (const std::string &key) const |
| getInput can be used to access a specific input parameter. | |
| 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). | |
| 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. | |
| 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. | |
| VariantContainerBasePtr | getLocalContainer (std::string const &key) |
| StateParameterMap & | getLocalParameters () |
| Getter for the local parameter map. | |
| 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. | |
| 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. | |
| StateParameterMap & | getOutputParameters () override |
| getter function to get the map of output parameters | |
| 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. | |
| bool | isInputParameterSet (const std::string &key) const |
| Checks whether a given input parameter is set or not. | |
| bool | isLocalParameterSet (const std::string &key) const |
| bool | isOutputParameterSet (const std::string &key) const |
| bool | isUnbreakable () const |
| StatePtr | operator[] (std::string const &stateName) |
| Function to jump directly into a state. Should only be called for statemachine-debugging. | |
| StateBasePtr | setInitState (StateBasePtr initState, ParameterMappingPtr initialStateMapping=ParameterMappingPtr()) |
| Sets the initial substate of this state. | |
| void | setInput (std::string const &key, const Variant &value) |
| setInput() sets an input parameter. | |
| void | setInput (std::string const &key, const VariantContainerBase &valueList) |
| setInput() sets an input parameter list. | |
| void | setLocal (std::string const &key, const Variant &value) |
| setLocal() sets a local parameter. | |
| void | setLocal (std::string const &key, const VariantContainerBase &valueList) |
| setLocal() sets a local parameter list. | |
| void | setOutput (std::string const &key, const Variant &value) |
| setOuput() sets an output parameter of this state. | |
| void | setOutput (std::string const &key, const VariantContainerBase &valueList) |
| setOuput() sets an output parameter LIST of this state. | |
| 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. | |
| void | setUseRunFunction (bool useRunFuntion) |
| setUseRunFunction can be used to configurate whether the thread with the async. | |
Public Member Functions inherited from StateUtility | |
| template<class EventClass> | |
| EventPtr | createEvent () |
| Utility function to create a new Event. | |
| EventPtr | createEvent (const std::string &eventName, const StringVariantContainerBaseMap &properties=StringVariantContainerBaseMap()) |
| Utility function to create a new Event. | |
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. | |
| 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. | |
| 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. | |
| virtual unsigned int | __getUnbreakableBufferSize () const |
| virtual bool | __getUnbreakableBufferStati () const |
| Before:Function to get the unbreakable-buffer status of all parent state - recursively. | |
| 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. | |
| virtual void | __processEvent (const EventPtr event, bool buffered=false) |
| Main function to control the statemachine/state. | |
| virtual void | __substatesFinished (const EventPtr ev) |
| Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. | |
| 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. | |
| virtual void | _baseOnEnter () |
| Called by StateControllerprocessEvent()-function or parentstate. | |
| virtual void | _baseOnExit () |
| Called by StateController::processEvent()-function or parentstate. Must NOT be called by user. | |
| 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). | |
| 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. | |
| void | disableStateReporting (bool disable=true) |
| Disables the reporting to profilers for this states during state visits. | |
| void | enter (const StringVariantContainerBaseMap &tempInputParameters=StringVariantContainerBaseMap()) |
| Function to set the statemachine in the first state and call OnEnter(). | |
| 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. | |
| bool | isRunningTaskStopped () const |
| isRunningTaskStopped checks whether the RunningTask, that executes run() is requested to stop. | |
| void | removeProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0) |
| StateController () | |
| StateController (const StateController &source) | |
| void | waitForRunningTaskToFinish () const |
| Waits until the run-function has finished. | |
| void | waitForStateToFinish (int timeoutMs=-1) const |
| waitForStateToFinish waits until this thread has finished (i.e. | |
| ~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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | defineState () |
| Virtual function, in which this state can be configured. | |
| StateBasePtr | findSubstateByName (const std::string &substateName) |
| Utility function to find a substate of this state by the name. | |
| 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") | |
| 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 | |
| StatePhase | getStatePhase () const |
| EventPtr | getTriggeredEndstateEvent () const |
| This function returns the event that was triggered by entering an endstate. | |
| 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. | |
| virtual bool | isInitialized () const |
| Returns the status of this state. Only if a state is initialized, it can be used. | |
| 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. | |
| virtual void | onEnter () |
| Virtual function, in which the behaviour of state is defined, when it is entered. Can be overridden, but it is optional. | |
| virtual void | onExit () |
| Virtual function, in which the behaviour of state is defined, when it is exited. Can be overridden, but it is optional. | |
| StateBase & | operator= (const StateBase &source) |
| virtual void | refetchSubstates () |
| This functions updates the substates. | |
| void | reset () |
| Function to reset the state: clear name, clear substatesList, clear transition etc. | |
| virtual void | run () |
| Virtual function, that can be reimplemented to calculate complex operations. | |
| 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>. | |
| 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. | |
| MessageTypeT | getEffectiveLoggingLevel () const |
| Logging () | |
| void | setLocalMinimumLoggingLevel (MessageTypeT level) |
| With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. | |
| void | setTag (const LogTag &tag) |
| void | setTag (const std::string &tagName) |
| virtual | ~Logging () |
Protected Member Functions | |
| StatePtr | addState (StatePtr state) |
| StateBasePtr | addXMLSubstate (RapidXmlReaderNode stateNode, const std::string &parentStateName) |
| void | addXMLSubstates (RapidXmlReaderNode substatesNode, const std::string &parentStateName) |
| void | defineParameters () override |
| Virtual function, in which input/local/output parameters can be specified. | |
| void | defineSubstates () override |
| Virtual function, in which substates, transition and mappings can be added. | |
| StateParameterMap | getParameters (RapidXmlReaderNode parametersNode) |
Protected Member Functions inherited from State | |
| 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. | |
| template<class Eventclass> | |
| ConditionIdentifier | installCondition (const Term &condition, const std::string &desc="") |
| Utility function to install a condition on the distributed conditionhandler. | |
| void | removeCondition (ConditionIdentifier conditionId) |
| Utility function to remove an installed condition on the distributed conditionhandler. | |
| 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. | |
| 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. | |
Protected Member Functions inherited from Logging | |
| bool | checkLogLevel (MessageTypeT level) const |
| const LogSenderPtr & | getLogSender () const |
| Retrieve log sender. | |
| LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Friends | |
| template<typename ContextType> | |
| class | XMLRemoteStateOfferer |
| template<typename type> | |
| class | XMLStateTemplate |
Additional Inherited Members | |
Public Types inherited from StateController | |
| using | transitionFunction |
| 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 |
Definition at line 104 of file XMLState.h.
|
inline |
| XMLState | ( | const XMLStateConstructorParams & | stateData | ) |
Definition at line 189 of file XMLState.cpp.
|
override |
Definition at line 220 of file XMLState.cpp.
Definition at line 416 of file XMLState.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 326 of file XMLState.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 310 of file XMLState.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotectedvirtual |
Virtual function, in which input/local/output parameters can be specified.
Reimplemented from StateBase.
Definition at line 231 of file XMLState.cpp.
Here is the call graph for this function:
|
overrideprotectedvirtual |
Virtual function, in which substates, transition and mappings can be added.
Reimplemented from StateBase.
Definition at line 290 of file XMLState.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 253 of file XMLState.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| StatechartProfilePtr getSelectedProfile | ( | ) | const |
Definition at line 225 of file XMLState.cpp.
|
friend |
Definition at line 139 of file XMLState.h.
|
friend |
Definition at line 137 of file XMLState.h.