Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

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, "Invalid notifiee"); \
      } \
  }; \
  friend class func##_PSmartNotifier; \
  virtual void func(notifier & note, INT extra)


Generated on Wed Sep 28 10:27:34 2005 for PWLib by  doxygen 1.4.4