StateBase::Impl Struct Reference

#include <ArmarXCore/statechart/StateBaseImpl.h>

Public Types

using StateInstanceMap = std::map<int, StateBase*>
 
using StateInstanceMapPtr = std::shared_ptr<StateInstanceMap>
 

Public Member Functions

 Impl ()
 

Public Attributes

RecursiveMutex __eventBufferMutex
 
HiddenTimedMutex __eventUnbreakableBufferMutex
 
StateBase * __parentState
 
RecursiveMutex __processEventMutex
 
HiddenTimedMutex __processEventsMutex
 
HiddenTimedMutex __stateMutex
 
bool __useRunFunction
 
bool cancelEnteringSubstates
 GetActiveStateLeafs returns the list of leaf-states that are active at the moment.
 
StatechartContextInterface * context
 Pointer to the StatechartContext to the single instance per application.
 
ConditionalVariable initCondition
 
Mutex initMutex
 
std::vector< std::string > inputInheritance
 
int localUniqueId
 An in this process unique id for the state.
 
StatechartManager * manager
 
StateInstanceMapPtr stateInstancesPtr
 
StatePhase statePhase
 
Mutex statePhaseMutex
 
EventPtr triggeredEndstateEvent
 This variable contains the event of the end substate that was entered to leave this state.
 
long visitCounter
 
long visitTimeStamp
 This property is needed for identification at what time this state was entered the last time.
 

Static Public Attributes

static int __LocalIdCounter = 0
 Unique Identifier counter for this process for identifing states.
 
static HiddenTimedMutex * __StateInstancesMutex = new HiddenTimedMutex()
 
static StateInstanceMapPtr StateInstances
 Static map that contains all the states that are alive in this process.
 

Member Typedef Documentation

◆ StateInstanceMap

using StateInstanceMap = std::map<int, StateBase*>

◆ StateInstanceMapPtr

using StateInstanceMapPtr = std::shared_ptr<StateInstanceMap>

Constructor & Destructor Documentation

◆ Impl()

Impl ( )
inline

Member Data Documentation

◆ __eventBufferMutex

RecursiveMutex __eventBufferMutex

◆ __eventUnbreakableBufferMutex

HiddenTimedMutex __eventUnbreakableBufferMutex

◆ __LocalIdCounter

int __LocalIdCounter = 0
static

Unique Identifier counter for this process for identifing states.

◆ __parentState

StateBase* __parentState

◆ __processEventMutex

RecursiveMutex __processEventMutex

◆ __processEventsMutex

HiddenTimedMutex __processEventsMutex

◆ __StateInstancesMutex

HiddenTimedMutex * __StateInstancesMutex = new HiddenTimedMutex()
static

◆ __stateMutex

HiddenTimedMutex __stateMutex

◆ __useRunFunction

bool __useRunFunction

◆ cancelEnteringSubstates

bool cancelEnteringSubstates

GetActiveStateLeafs returns the list of leaf-states that are active at the moment.

Parameters
toplevelStateState from which the active substate is to be returned.
Returns
List of active leaf-states. If no orthogonal states are used, the list has at most 1 item.

◆ context

Pointer to the StatechartContext to the single instance per application.

Contains proxies to observers and units. Used to operate with distributed components over ice.

◆ initCondition

ConditionalVariable initCondition
mutable

◆ initMutex

Mutex initMutex
mutable

◆ inputInheritance

std::vector<std::string> inputInheritance

◆ localUniqueId

int localUniqueId

An in this process unique id for the state.

◆ manager

◆ StateInstances

StateBase::Impl::StateInstanceMapPtr StateInstances
static

Static map that contains all the states that are alive in this process.

◆ stateInstancesPtr

StateInstanceMapPtr stateInstancesPtr

◆ statePhase

StatePhase statePhase

◆ statePhaseMutex

Mutex statePhaseMutex
mutable

◆ triggeredEndstateEvent

EventPtr triggeredEndstateEvent

This variable contains the event of the end substate that was entered to leave this state.

◆ visitCounter

long visitCounter

◆ visitTimeStamp

long visitTimeStamp

This property is needed for identification at what time this state was entered the last time.

The reason is, that events should only be processed by a state, if the events were installed in this visit to this state.

Note
not used yet.

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