sttcl  v0.9c
STTCL C++ template state machine framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs > Class Template Reference

#include <Region.h>

Inheritance diagram for sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >:
Collaboration diagram for sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >:

List of all members.

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

Detailed Description

template<class RegionImpl, class RegionContainerImpl, class IInnerState, class EventArgs>
class sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >

Represents the implementation for the RegionBase class with dispatched event arguments.

Template Parameters:
RegionImplThe inheriting class.
RegionContainerImpl
StateInterface
EventArgs

Member Typedef Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
typedef RegionImpl sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::Implementation
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
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 >.

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
typedef RegionBaseClass::RefCountPtr sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::RefCountPtr
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
typedef RegionBase<RegionContainerImpl,IInnerState,EventArgs> sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::RegionBaseClass

Constructor & Destructor Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::RegionBaseImplWithEventArgs ( RegionContainerImpl *  argRegionContainer)
inline
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
virtual sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::~RegionBaseImplWithEventArgs ( )
inlinevirtual

Member Function Documentation

template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
void sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::callDispatchedEventHandler ( RegionContainerImpl *  context,
IInnerState state,
InnerEventHandler  eventHandler,
RefCountPtr  eventArgs 
)
inlineprotected
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
void sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::dispatchEvent ( RegionContainerImpl *  context,
IInnerState state,
InnerEventHandler  eventHandler,
RefCountPtr  eventArgs 
)
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.

Parameters:
context
state
eventHandler
eventArgs
template<class RegionImpl , class RegionContainerImpl , class IInnerState , class EventArgs >
virtual void sttcl::internal::RegionBaseImplWithEventArgs< RegionImpl, RegionContainerImpl, IInnerState, EventArgs >::handleBroadcastedEvent ( RegionContainerImpl *  context,
InnerEventHandler  eventHandler,
RefCountPtr  eventArgs 
)
inlinevirtual

Called to handle an event broadcasted from the containing ConcurrentCompositeState instance.

Parameters:
contextA pointer to the containing state machine.
eventHandlerThe event handler to call inside the region thread.
eventArgsThe event arguments to pass to the event handler call.

Implements sttcl::internal::IRegionEventDispatchWithArgs< RegionContainerImpl, IInnerState, EventArgs >.


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