Go to the source code of this file.
Classes | |
class | PSmartNotifieeRegistrar |
class | PSmartNotifierFunction |
class | PNotifierList |
Defines | |
#define | PDECLARE_SMART_NOTIFIEE PSmartNotifieeRegistrar m_Registrar; \ |
#define | PCREATE_SMART_NOTIFIEE m_Registrar.Init(this) |
#define | PDECLARE_SMART_NOTIFIER(notifier, notifiee, func) |
#define | PCREATE_SMART_NOTIFIER(func) PNotifier(new func##_PSmartNotifier(m_Registrar.GetID())) |
#define PCREATE_SMART_NOTIFIEE m_Registrar.Init(this) |
#define PCREATE_SMART_NOTIFIER | ( | func | ) | PNotifier(new func##_PSmartNotifier(m_Registrar.GetID())) |
#define PDECLARE_SMART_NOTIFIEE PSmartNotifieeRegistrar m_Registrar; \ |
#define PDECLARE_SMART_NOTIFIER | ( | notifier, | |||
notifiee, | |||||
func | ) |
Value:
class func##_PSmartNotifier : public PSmartNotifierFunction { \ public: \ func##_PSmartNotifier(unsigned id) : PSmartNotifierFunction(id) { } \ virtual void Call(PObject & note, INT extra) const \ { \ void * obj = GetNotifiee(); \ if (obj) \ ((notifiee*)obj)->func((notifier &)note, extra); \ else \ PTRACE(2, "PWLib\tInvalid notifiee"); \ } \ }; \ friend class func##_PSmartNotifier; \ virtual void func(notifier & note, INT extra)