Lugre::cListenable Class Reference

#include <lugre_smartptr.h>

Inheritance diagram for Lugre::cListenable:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 cListenable ()
virtual ~cListenable ()
void NotifyAllListeners (const size_t eventcode=0, void *param=0)
void RegisterListener (cListener *pListener, void *userdata=0)
 if you register twice, you also have to unregister twice
void UnRegisterListener (cListener *pListener, void *userdata=0)
int CountListeners ()

Public Attributes

int iUsageCounter
bool bNeedsCompacting
 true if listener have been pre-removed from the list by setting them to zero

Private Attributes

std::list< std::pair
< cSmartPtr< cListener >
*, void * > > 
mlListener


Detailed Description

Definition at line 37 of file lugre_smartptr.h.


Constructor & Destructor Documentation

Lugre::cListenable::cListenable (  ) 

Definition at line 8 of file lugre_listener.cpp.

Lugre::cListenable::~cListenable (  )  [virtual]

Definition at line 10 of file lugre_listener.cpp.

References iUsageCounter, PROFILE, and PROFILE_PRINT_STACKTRACE.


Member Function Documentation

void Lugre::cListenable::NotifyAllListeners ( const size_t  eventcode = 0,
void *  param = 0 
)

void Lugre::cListenable::RegisterListener ( cListener pListener,
void *  userdata = 0 
)

if you register twice, you also have to unregister twice

Definition at line 54 of file lugre_listener.cpp.

References assert, mlListener, and PROFILE.

void Lugre::cListenable::UnRegisterListener ( cListener pListener,
void *  userdata = 0 
)

if you registered twice, you also have to unregister twice (or just die) listeners don't have to unregister when they are destroyed, cSmartPtr takes care of that (if you call your destructors correctly, MAKE THEM VIRTUAL!!!)... userdata HAS to be exactly the same as when registering

Definition at line 62 of file lugre_listener.cpp.

References assert, bNeedsCompacting, mlListener, PROFILE, and PROFILE_PRINT_STACKTRACE.

int Lugre::cListenable::CountListeners (  )  [inline]

Definition at line 43 of file lugre_smartptr.h.

References mlListener.


Member Data Documentation

Definition at line 44 of file lugre_smartptr.h.

Referenced by NotifyAllListeners(), and ~cListenable().

true if listener have been pre-removed from the list by setting them to zero

Definition at line 45 of file lugre_smartptr.h.

Referenced by NotifyAllListeners(), and UnRegisterListener().

std::list< std::pair< cSmartPtr< cListener > *,void* > > Lugre::cListenable::mlListener [private]


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

Generated on Wed Feb 8 06:00:21 2012 for cpp by  doxygen 1.5.6