Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

CLocationEvent< T >::CGenericLocationReactor< U > Class Template Reference

Inheritance diagram for CLocationEvent< T >::CGenericLocationReactor< U >:

CLocationReactor< U > CReactor CRegisteredObject CNamedObject List of all members.

Public Member Functions

 CGenericLocationReactor (CLocationEvent< T > &rOwner)
virtual void OnLocationChanged (CLocationMonitor< T > &rEvent, T NewValue)
virtual void OnTimeout (CEventMonitor &rEvent)

Private Attributes

CLocationEvent< T > & m_rOwner

Detailed Description

template<class T>
template<class U>
class CLocationEvent< T >::CGenericLocationReactor< U >

Nested class CLocationEvent::CLocationReactor This class is used to give events a monolithic appearance. They relay calls to the Reactor action member functions to corresponding event members. This allows the user of this class to create response by simply subclassing this class rather than forcing them to be aware of the relationship between monitors and reactors.

Definition at line 348 of file CLocationEvent.h.


Constructor & Destructor Documentation

template<class T>
template<class U>
CLocationEvent< T >::CGenericLocationReactor< U >::CGenericLocationReactor CLocationEvent< T > &  rOwner  ) 
 

Constructor. Builds a location reactor for CLocationEvent objects. We just keep track of our 'owner' so we know how to callback.

Parameters:
rOwner - Reference to our owner object.

Definition at line 313 of file CLocationEvent.cpp.


Member Function Documentation

template<class T>
template<class U>
void CLocationEvent< T >::CGenericLocationReactor< U >::OnLocationChanged CLocationMonitor< T > &  rEvent,
NewValue
[virtual]
 

Called when the location has changed in a manner which is significant to the predicate attached to the event. We delegate the action to the Event object which owns us presenting a monolithic appearance of events to the experimenter.

Parameters:
rEvent - Event which fired the operation.
NewValue - New value in the location.

Definition at line 331 of file CLocationEvent.cpp.

References CLocationEvent< T >::CGenericLocationReactor< U >::m_rOwner.

template<class T>
template<class U>
void CLocationEvent< T >::CGenericLocationReactor< U >::OnTimeout CEventMonitor rEvent  )  [virtual]
 

Called when timeout receipt is enabled, and a wait times out. This function delegates action tot he event object which owns us, presenting a monolithic appearance of events to the experimentalist.

Parameters:
rEvent - Reference to the monitor which timed out. (unused).

Reimplemented from CReactor.

Definition at line 347 of file CLocationEvent.cpp.

References CLocationEvent< T >::CGenericLocationReactor< U >::m_rOwner.


Member Data Documentation

template<class T>
template<class U>
CLocationEvent<T>& CLocationEvent< T >::CGenericLocationReactor< U >::m_rOwner [private]
 

Definition at line 351 of file CLocationEvent.h.

Referenced by CLocationEvent< T >::CGenericLocationReactor< U >::OnLocationChanged(), and CLocationEvent< T >::CGenericLocationReactor< U >::OnTimeout().


The documentation for this class was generated from the following files:
Generated on Thu Jan 6 16:58:44 2005 for Spectrodaq External Event Framework by  doxygen 1.3.9.1