MAK Data Logger API Documentation for HLA
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
MAKLogger::DtObserverFunctor< ClassType, SubjectType > Class Template Reference

ObserverFunctor is an observer implemented via Functor object which will call an object's member function. More...

+ Inheritance diagram for MAKLogger::DtObserverFunctor< ClassType, SubjectType >:
+ Collaboration diagram for MAKLogger::DtObserverFunctor< ClassType, SubjectType >:

Public Types

typedef void(ClassType::* ObserverMemberFunction )(const SubjectType &)

Public Member Functions

 DtObserverFunctor (ClassType &object, ObserverMemberFunction function)
virtual ~DtObserverFunctor ()
void observe (const SubjectType &subject)
 Abstract observe function called when a connected event fires.
- Public Member Functions inherited from MAKLogger::DtObserver< SubjectType >
virtual ~DtObserver ()
 DTOR which disconnects the observer from all events.
virtual void disconnect (DtObserveEvent< SubjectType > *event)
 Disconnect the observer from a specific event.
- Public Member Functions inherited from MAKLogger::DtObserveConnectionComponent
virtual ~DtObserveConnectionComponent ()
virtual void connect (DtObserveConnectionSP con)
virtual void disconnect (DtObserveConnectionSP con)
virtual void disconnect (DtObserveConnectionComponent *component)
virtual bool isConnected (DtObserveConnectionComponent *component)
void disconnectAll ()
 Must be non virtual since called by destructor.

Protected Member Functions

 DtObserverFunctor (const DtObserverFunctor &)
 CopyCTOR not implemented.
DtObserverFunctoroperator= (const DtObserverFunctor &)
 Assignment operator not implemented.

Protected Attributes

ClassType & myObject
ObserverMemberFunction myFunction

Detailed Description

template<typename ClassType, typename SubjectType>
class MAKLogger::DtObserverFunctor< ClassType, SubjectType >

ObserverFunctor is an observer implemented via Functor object which will call an object's member function.

The ObserverFunctor should be used with Value semantics (ie a value member of the calling object) however they are not copyable and this is since if the owner object is copied the copy's functor will need to be reassigned.

Warning
If the calling object life time is less than the Functor object calls will result in seg-faults. Solution is to have the calling object be the owner of the Functor which should ensure this condition.

Member Typedef Documentation

template<typename ClassType, typename SubjectType>
typedef void(ClassType::* MAKLogger::DtObserverFunctor< ClassType, SubjectType >::ObserverMemberFunction)(const SubjectType &)

Constructor & Destructor Documentation

template<typename ClassType, typename SubjectType>
MAKLogger::DtObserverFunctor< ClassType, SubjectType >::DtObserverFunctor ( ClassType &  object,
ObserverMemberFunction  function 
)
inline
template<typename ClassType, typename SubjectType>
virtual MAKLogger::DtObserverFunctor< ClassType, SubjectType >::~DtObserverFunctor ( )
inlinevirtual
template<typename ClassType, typename SubjectType>
MAKLogger::DtObserverFunctor< ClassType, SubjectType >::DtObserverFunctor ( const DtObserverFunctor< ClassType, SubjectType > &  )
protected

CopyCTOR not implemented.

Member Function Documentation

template<typename ClassType, typename SubjectType>
void MAKLogger::DtObserverFunctor< ClassType, SubjectType >::observe ( const SubjectType &  )
inlinevirtual

Abstract observe function called when a connected event fires.

Implements MAKLogger::DtObserver< SubjectType >.

template<typename ClassType, typename SubjectType>
DtObserverFunctor& MAKLogger::DtObserverFunctor< ClassType, SubjectType >::operator= ( const DtObserverFunctor< ClassType, SubjectType > &  )
protected

Assignment operator not implemented.

Member Data Documentation

template<typename ClassType, typename SubjectType>
ObserverMemberFunction MAKLogger::DtObserverFunctor< ClassType, SubjectType >::myFunction
protected
template<typename ClassType, typename SubjectType>
ClassType& MAKLogger::DtObserverFunctor< ClassType, SubjectType >::myObject
protected

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

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)