notifier_ext.h File Reference

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 Documentation

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


Generated on Thu May 27 01:36:48 2010 for PTLib by  doxygen 1.4.7