#include <lugre_smartptr.h>

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 |
Definition at line 37 of file lugre_smartptr.h.
| 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.
| void Lugre::cListenable::NotifyAllListeners | ( | const size_t | eventcode = 0, |
|
| void * | param = 0 | |||
| ) |
Definition at line 18 of file lugre_listener.cpp.
References bNeedsCompacting, iUsageCounter, Lugre::cListener::Listener_Notify(), mlListener, PROFILE, and PROFILE_PRINT_STACKTRACE.
Referenced by Lugre::cSmartPtr< Lugre::cListener >::SmartPtr_TargetDestroyed(), and Lugre::cSmartPointable::~cSmartPointable().
| 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 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] |
Definition at line 48 of file lugre_smartptr.h.
Referenced by CountListeners(), NotifyAllListeners(), RegisterListener(), and UnRegisterListener().
1.5.6