sttcl
v0.9c
STTCL C++ template state machine framework
|
#include <Region.h>
Public Types | |
typedef RegionImpl | Implementation |
typedef RegionBase < RegionContainerImpl, IInnerState, EventArgs > | RegionBaseClass |
typedef RegionBaseClass::RefCountPtr | RefCountPtr |
typedef RegionBaseClass::InnerEventHandler | InnerEventHandler |
Public Types inherited from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs > | |
typedef sttcl::internal::RegionEventDispatchInterfaceSelector < RegionContainerImpl, IInnerState, EventArgs > ::RESULT_TYPE | RegionEventDispatchInterface |
Public Types inherited from sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs > | |
typedef EventArgsInterfaceSelector < RegionContainerImpl, IInnerState, EventArgs > | EventArgsSelectorType |
Public Member Functions | |
RegionBaseImplWithEventArgs (RegionContainerImpl *argRegionContainer) | |
virtual | ~RegionBaseImplWithEventArgs () |
virtual void | handleBroadcastedEvent (RegionContainerImpl *context, InnerEventHandler eventHandler, RefCountPtr eventArgs) |
void | dispatchEvent (RegionContainerImpl *context, IInnerState *state, InnerEventHandler eventHandler, RefCountPtr eventArgs) |
Public Member Functions inherited from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs > | |
RegionBase (RegionContainerImpl *argRegionContainer) | |
virtual | ~RegionBase () |
virtual void | enterRegion (RegionContainerImpl *context)=0 |
virtual void | exitRegion (RegionContainerImpl *context)=0 |
virtual void | finalizeRegion (bool recursive)=0 |
virtual bool | initializeRegion (bool recursive)=0 |
virtual void | startDoRegion (RegionContainerImpl *context)=0 |
virtual void | endDoRegion (RegionContainerImpl *context)=0 |
virtual bool | isRegionInitialized ()=0 |
virtual bool | isRegionFinalized ()=0 |
virtual bool | isRegionThreadRunning () const =0 |
virtual void | joinRegionThread ()=0 |
template<class RegionImpl > | |
RegionImpl * | getRegionContext () |
virtual void | internalInitialize (bool recursive)=0 |
virtual void | internalFinalize (bool recursive)=0 |
virtual void | queueDispatchedEvent (const sttcl::internal::DispatchedEvent< RegionContainerImpl, IInnerState, EventArgs > &dispatchedEvent)=0 |
Public Member Functions inherited from sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs > | |
virtual | ~IRegionEventDispatchWithArgs () |
Protected Member Functions | |
void | callDispatchedEventHandler (RegionContainerImpl *context, IInnerState *state, InnerEventHandler eventHandler, RefCountPtr eventArgs) |
Additional Inherited Members | |
Protected Attributes inherited from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs > | |
RegionContainerImpl * | regionContainer |
Represents the implementation for the RegionBase class with dispatched event arguments.
RegionImpl | The inheriting class. |
RegionContainerImpl | |
StateInterface | |
EventArgs |
typedef RegionImpl sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::Implementation |
The implementation class type.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >.
typedef RegionBaseClass::InnerEventHandler sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::InnerEventHandler |
The inner states event handler signature. All methods of the IInnerState interface must have this signature. The first parameter is a pointer to the containing state machine. The second parameter is a pointer to additional event arguments as specified with the EventArgs template parameter.
Reimplemented from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs >.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >.
typedef RegionBaseClass::RefCountPtr sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::RefCountPtr |
The pointer type used to pass event arguments to the contained regions inner states.
Reimplemented from sttcl::RegionBase< RegionContainerImpl, IInnerState, EventArgs >.
Reimplemented in sttcl::Region< RegionImpl, RegionContainerImpl, IInnerState, EventArgs, HistoryType, StateThreadType, TimeDurationType, SemaphoreType, MutexType, EventQueueType >.
typedef RegionBase<RegionContainerImpl,IInnerState,EventArgs> sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::RegionBaseClass |
|
inline |
|
inlinevirtual |
|
inlineprotected |
|
inline |
Dispatches an event to a state inside the region. The state event handler will be executed within the context of the internal region thread.
context | |
state | |
eventHandler | |
eventArgs |
|
inlinevirtual |
Called to handle an event broadcasted from the containing ConcurrentCompositeState instance.
context | A pointer to the containing state machine. |
eventHandler | The event handler to call inside the region thread. |
eventArgs | The event arguments to pass to the event handler call. |
Implements sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs >.