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)
1.5.1