template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
class sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >
Represents a particular state machines active state implementation base class. An ActiveState implementation runs its do action in a separate thread.
- Template Parameters:
-
StateImpl | The state implementation type. |
StateMachineImpl | The state machine implementation type. |
IState | Specifies the internal interface of state implementations for the state machine. |
StateThreadType | The thread implementation class, default is sttcl::internal::SttclThread<>. |
EndDoActionSemaphoreType | The semaphore implementation class, default is sttcl::internal::SttclSemaphore<>. |
TimeDurationType | The time duration representation implementation class, default is sttcl::TimeDuration<>. |
ActiveStateMutexType | The mutex implementation class, default is sttcl::internal::SttclMutex<>. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef ActiveStateMutexType sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::ActiveStateMutexImpl |
The mutex class type to use for co9ordinating access to ActiveState internal variables.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef StateMachineImpl sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::Context |
The state machine implementation type.
Reimplemented from sttcl::StateBase< StateMachineImpl, IState >.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, and sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
The semaphore class type to use for ending the do action call loop.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef StateImpl sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::Implementation |
The implementation class type.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, and sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
The state base class type.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef void(Implementation::* sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::StateDoAction)(Context *, bool) |
The state do action type.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, and sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef StateThreadType sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::StateThreadImpl |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
typedef TimeDurationType sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::TimeDurationImpl |
The time duration class type to use for specifying the do action call rate.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::ActiveState |
( |
StateDoAction |
argDoAction, |
|
|
bool |
argRunDoActionOnce = false , |
|
|
TimeDurationType |
argDoFrequency = TimeDurationType::Zero |
|
) |
| |
|
inlineprotected |
Constructor for class ActiveState.
- Parameters:
-
argDoAction | The do action that will be called in the ActiveState's thread. |
argRunDoActionOnce | Indicates to run the do action only once after the state was entered. |
argDoFrequency | The frequency used to call the do action in a loop. You can use this to limit the CPU resources given to the do action. If the do action uses another blocking mechanism the parameter may be omitted (the default is TimeDurationType::Zero). |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
virtual sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::~ActiveState |
( |
| ) |
|
|
inlineprotectedvirtual |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::changeState |
( |
Context * |
context, |
|
|
StateBase< StateMachineImpl, IState > * |
newState |
|
) |
| |
|
inlineprotected |
Changes context state machine to another sibling state.
- Parameters:
-
context | A pointer to the containing state machine. |
newState | A pointer to the sibling state to change to. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
bool sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::checkDirectTransitionImpl |
( |
Context * |
context, |
|
|
bool & |
finalize, |
|
|
StateBaseType *& |
nextState |
|
) |
| |
|
inline |
Default implementation for the getDirectTransitionImpl() method.
- Parameters:
-
context | A pointer to the containing state machine. |
nextState | Receives a pointer to the next sibling state to appear on a direct transition. |
finalize | Receives true to finalize the containing state machine. |
- Returns:
true
if a direct transition should be performed, false
otherwise.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
bool sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::endDoActionRequested |
( |
| ) |
|
|
inlineprotected |
Indicates that the do action thread should stop.
- Returns:
true
if the do action thread should stop, false
otherwise.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
bool sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::endDoActionRequestedImpl |
( |
| ) |
|
|
inline |
Default implementation for checking if endDo() was requested.
- Returns:
true
if the do action loop should be left, false
otherwise.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::endDoImpl |
( |
Context * |
context | ) |
|
|
inline |
ActiveState class default implementation for the endDo() method.
- Parameters:
-
context | A pointer to the containing state machine. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::entryImpl |
( |
Context * |
context | ) |
|
|
inline |
Default implementation for the entry() method.
- Parameters:
-
context | A pointer to the containing state machine. |
Reimplemented in sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::exitImpl |
( |
Context * |
context | ) |
|
|
inline |
Default implementation for the exit() method.
- Parameters:
-
context | A pointer to the containing state machine. |
Reimplemented in sttcl::CompositeState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, HistoryType, ActiveState< Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >, RegionContainerImpl, IInnerState, StateThreadType, TimeDurationType, SemaphoreType, MutexType >, StateMachine< RegionImpl, IInnerState > >.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::exitingDoActionImpl |
( |
| ) |
|
|
inline |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::finalizeSubStateMachinesImpl |
( |
bool |
recursive | ) |
|
|
inline |
Default implementation for the finalizeSubStateMachines() method.
- Parameters:
-
recursive | If true further sub state machines should be finalized recursively. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
const TimeDurationImpl& sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::getDoFrequency |
( |
| ) |
const |
|
inline |
Gets the do action call frequency.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
const StateThreadType& sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::getStateThread |
( |
| ) |
const |
|
inline |
Gets the thread instance used to run the ActiveState do action.
- Returns:
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::initSubStateMachinesImpl |
( |
bool |
recursive | ) |
|
|
inline |
Default implementation for the initSubStateMachines() method.
- Parameters:
-
recursive | If true further sub state machines should be initialized recursively. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
bool sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::isDoActionRunning |
( |
| ) |
const |
|
inline |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::joinDoActionThreadImpl |
( |
| ) |
|
|
inline |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::setDoFrequency |
( |
const TimeDurationImpl & |
newValue | ) |
|
|
inline |
Sets the do action call frequency.
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::startDoImpl |
( |
Context * |
context | ) |
|
|
inline |
Called after this state was entered.
- Parameters:
-
context | The state machine context. |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>
void sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::unblockDoActionImpl |
( |
| ) |
|
|
inline |
template<class StateImpl, class StateMachineImpl, class IState, class StateThreadType = sttcl::internal::SttclThread<STTCL_DEFAULT_THREADIMPL>, class TimeDurationType = TimeDuration<STTCL_DEFAULT_TIMEDURATIONIMPL>, class EndDoActionSemaphoreType = internal::SttclSemaphore<STTCL_DEFAULT_SEMAPHOREIMPL>, class ActiveStateMutexType = internal::SttclMutex<STTCL_DEFAULT_MUTEXIMPL,TimeDurationType>>