sttcl  v0.9c
STTCL C++ template state machine framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType > Class Template Reference

#include <ActiveState.h>

Inheritance diagram for sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >:
Collaboration diagram for sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >:

List of all members.

Public Types

typedef StateMachineImpl Context
typedef StateImpl Implementation
typedef StateBase
< StateMachineImpl, IState > 
StateBaseType
typedef void(Implementation::* StateDoAction )(Context *, bool)
typedef StateThreadType StateThreadImpl
typedef EndDoActionSemaphoreType EndDoActionSemaphoreImpl
typedef TimeDurationType TimeDurationImpl
typedef ActiveStateMutexType ActiveStateMutexImpl
- Public Types inherited from sttcl::StateBase< StateMachineImpl, IState >
typedef IState StateInterface

Public Member Functions

const TimeDurationImplgetDoFrequency () const
void setDoFrequency (const TimeDurationImpl &newValue)
bool endDoActionRequestedImpl ()
void entryImpl (Context *context)
void exitImpl (Context *context)
void exitingDoActionImpl ()
void joinDoActionThreadImpl ()
void unblockDoActionImpl ()
void endDoImpl (Context *context)
const StateThreadType & getStateThread () const
void startDoImpl (Context *context)
bool isDoActionRunning () const
void finalizeSubStateMachinesImpl (bool recursive)
void initSubStateMachinesImpl (bool recursive)
bool checkDirectTransitionImpl (Context *context, bool &finalize, StateBaseType *&nextState)
- Public Member Functions inherited from sttcl::StateBase< StateMachineImpl, IState >
void changeStateImpl (Context *context, StateBase< StateMachineImpl, IState > *newState)
template<class StateMachineContext >
void changeStateImpl (StateMachineContext *context, StateBase< StateMachineImpl, IState > *newState)

Protected Member Functions

 ActiveState (StateDoAction argDoAction, bool argRunDoActionOnce=false, TimeDurationType argDoFrequency=TimeDurationType::Zero)
virtual ~ActiveState ()
void changeState (Context *context, StateBase< StateMachineImpl, IState > *newState)
bool endDoActionRequested ()
- Protected Member Functions inherited from sttcl::StateBase< StateMachineImpl, IState >
 StateBase ()
virtual ~StateBase ()

Friends

class sttcl::internal::ThreadFunctionHelper

Detailed Description

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:
StateImplThe state implementation type.
StateMachineImplThe state machine implementation type.
IStateSpecifies the internal interface of state implementations for the state machine.
StateThreadTypeThe thread implementation class, default is sttcl::internal::SttclThread<>.
EndDoActionSemaphoreTypeThe semaphore implementation class, default is sttcl::internal::SttclSemaphore<>.
TimeDurationTypeThe time duration representation implementation class, default is sttcl::TimeDuration<>.
ActiveStateMutexTypeThe mutex implementation class, default is sttcl::internal::SttclMutex<>.

Member Typedef Documentation

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
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 EndDoActionSemaphoreType sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::EndDoActionSemaphoreImpl

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
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 StateBase<StateMachineImpl,IState> sttcl::ActiveState< StateImpl, StateMachineImpl, IState, StateThreadType, TimeDurationType, EndDoActionSemaphoreType, ActiveStateMutexType >::StateBaseType

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)
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

The thread 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 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.


Constructor & Destructor Documentation

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:
argDoActionThe do action that will be called in the ActiveState's thread.
argRunDoActionOnceIndicates to run the do action only once after the state was entered.
argDoFrequencyThe 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

Destructor for class ActiveState.


Member Function Documentation

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:
contextA pointer to the containing state machine.
newStateA 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:
contextA pointer to the containing state machine.
nextStateReceives a pointer to the next sibling state to appear on a direct transition.
finalizeReceives 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:
contextA 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
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
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:
recursiveIf 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:
recursiveIf 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:
contextThe 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

Default implementation called to unblock any blocking methods waiting in the do action call.

Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >.


Friends And Related Function Documentation

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>>
friend class sttcl::internal::ThreadFunctionHelper
friend

The documentation for this class was generated from the following file: