FREE::CallbackCtrlEvent< T > Class Template Reference
[Events]

Event object in f.r.e.e., used for every kind of callback... More...

#include <freControllerEvents.h>

Inheritance diagram for FREE::CallbackCtrlEvent< T >:

Inheritance graph
FREE::CallbackCtrlEventBase
[legend]
Collaboration diagram for FREE::CallbackCtrlEvent< T >:

Collaboration graph
FREE::CallbackCtrlEventBaseFREE::SessionComponentCacheFREE::ComponentCacheCollection\< TCache \>FREE::KeyedCollectionBase\< std::string, TCache, FREE::ComponentCacheIdentifier\< TCache \> \>FREE::SmartCollectionBase\< TElement \>FREE::CollectionBase\< TElement, itk::SmartPointer\< TElement \> \>FREE::ComponentControllerInterfaceFREE::CtrlProfile::ProfileInheritanceFREE::XMLStringMultiMapFREE::XMLStreamObject
[legend]

List of all members.

Public Types

typedef bool(T::* CallEvent )(const IDPath &senderID, CallbackType callbackID, void *pData, SessionComponentCache *pSender, long threadID)
typedef
CallbackCtrlEvent< T > 
Self
typedef
itk::SmartPointer
< Self
Pointer

Public Member Functions

 freNewEventMacro (CallbackCtrlEvent, T, CallEvent)
virtual const char * GetNameOfClass () const
virtual bool Execute (const IDPath &senderID, CallbackType callbackID, void *pData, SessionComponentCache *pSender, long threadID=0)

Protected Member Functions

 CallbackCtrlEvent (T *pObject, CallEvent pCE)

Private Member Functions

 CallbackCtrlEvent (const Self &)
void operator= (const Self &)

Private Attributes

T * m_Object
CallEvent m_CallEvent


Detailed Description

template<typename T>
class FREE::CallbackCtrlEvent< T >

Event object in f.r.e.e., used for every kind of callback...

Other than the EventBase this object is used by a class to pass a member function as a function pointer to allow a callback. The template T is the class, which offers the function pointer. (This difference between Event and EventBase is needed, because the call of member function always passes a hidden pointer (this-pointer), unlike a global function).

This event is used for callback based data retrieval or other situations, where a part of f.r.e.e. should get the possibility to interact or make a request.

Definition at line 203 of file freControllerEvents.h.


Member Typedef Documentation

template<typename T>
typedef bool(T::* FREE::CallbackCtrlEvent< T >::CallEvent)(const IDPath &senderID, CallbackType callbackID, void *pData, SessionComponentCache *pSender, long threadID)

Reimplemented from FREE::CallbackCtrlEventBase.

Definition at line 206 of file freControllerEvents.h.

template<typename T>
typedef CallbackCtrlEvent<T> FREE::CallbackCtrlEvent< T >::Self

Reimplemented from FREE::CallbackCtrlEventBase.

Definition at line 210 of file freControllerEvents.h.

template<typename T>
typedef itk::SmartPointer<Self> FREE::CallbackCtrlEvent< T >::Pointer

Reimplemented from FREE::CallbackCtrlEventBase.

Definition at line 211 of file freControllerEvents.h.


Constructor & Destructor Documentation

template<typename T>
FREE::CallbackCtrlEvent< T >::CallbackCtrlEvent ( const Self  )  [private]

template<typename T>
FREE::CallbackCtrlEvent< T >::CallbackCtrlEvent ( T *  pObject,
CallEvent  pCE 
) [inline, protected]

Definition at line 224 of file freControllerEvents.h.

References FREE::CallbackCtrlEvent< T >::m_CallEvent, and FREE::CallbackCtrlEvent< T >::m_Object.


Member Function Documentation

template<typename T>
FREE::CallbackCtrlEvent< T >::freNewEventMacro ( CallbackCtrlEvent< T >  ,
,
CallEvent   
)

template<typename T>
virtual const char* FREE::CallbackCtrlEvent< T >::GetNameOfClass (  )  const [inline, virtual]

Reimplemented from FREE::CallbackCtrlEventBase.

Definition at line 214 of file freControllerEvents.h.

template<typename T>
void FREE::CallbackCtrlEvent< T >::operator= ( const Self  )  [private]

Reimplemented from FREE::CallbackCtrlEventBase.

template<typename T>
virtual bool FREE::CallbackCtrlEvent< T >::Execute ( const IDPath senderID,
CallbackType  callbackID,
void *  pData,
SessionComponentCache pSender,
long  threadID = 0 
) [inline, virtual]

This Event is used for callback based data retrieval or other situations, where a controller should get the possibility to interact or make a request.

Parameters:
[in] senderID IDPath specifying the component that is making the callback
[in] callbackID Defines the callback type and so the meaning of pData. The meaning depends on the sender of the callback, where the meaning of flag and pData are also explained.
[in,out] pData Void pointer to a data structure may be passed or requested with the callback. Meaning and use depends on the senderID and callbackID.
[in,out] pSender Pointer to the session component cache that was active when the event was executed.
[in] threadID ID of the Thread executing the event. By default this value is 0. This ID is not unique over the complete system, it should only be assumed that it is unique in the context of the sender.
Returns:
If true, pData is valid.

Definition at line 246 of file freControllerEvents.h.

References FREE::CallbackCtrlEvent< T >::m_CallEvent, FREE::CallbackCtrlEventBase::m_ExecutionMutex, and FREE::CallbackCtrlEvent< T >::m_Object.


Member Data Documentation

template<typename T>
T* FREE::CallbackCtrlEvent< T >::m_Object [private]

Definition at line 214 of file freControllerEvents.h.

Referenced by FREE::CallbackCtrlEvent< T >::CallbackCtrlEvent(), and FREE::CallbackCtrlEvent< T >::Execute().

template<typename T>
CallEvent FREE::CallbackCtrlEvent< T >::m_CallEvent [private]

Reimplemented from FREE::CallbackCtrlEventBase.

Definition at line 218 of file freControllerEvents.h.

Referenced by FREE::CallbackCtrlEvent< T >::CallbackCtrlEvent(), and FREE::CallbackCtrlEvent< T >::Execute().


The documentation for this class was generated from the following file:
Generated at Sat Oct 13 18:29:23 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000