PTLib  Version 2.18.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
notifier_ext.h File Reference
#include <list>
Include dependency graph for notifier_ext.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PValidatedNotifierTarget
 Validated PNotifier class. More...
 
class  PValidatedNotifierFunction< ParamType >
 This is an abstract class for which a descendent is declared for every function that may be called. More...
 
struct  PAsyncNotifierCallback
 
class  PAsyncNotifierTarget
 Asynchronous PNotifier class. More...
 
class  PAsyncNotifierFunction< ParamType >
 This is an abstract class for which a descendent is declared for every function that may be called. More...
 
class  PAsyncNotifierFunction< ParamType >::TypedCallback< Target >
 
class  PNotifierListTemplate< ParamType >
 Maintain a list of notifiers to be called all at once. More...
 
struct  PNotifierListTemplate< ParamType >::IsTarget
 

Macros

#define PDECLARE_VALIDATED_NOTIFIER_EXT(notifierType, notifierArg, notifiee, func, ParamType, ParamArg)   PDECLARE_NOTIFIER_COMMON(notifierType, notifierArg, notifiee, func, ParamType, ParamArg, PValidatedNotifierFunction<ParamType>)
 Declare a validated notifier object class. More...
 
#define PDECLARE_VALIDATED_NOTIFIER2(notifierType,notifiee, func, ParamType)   PDECLARE_VALIDATED_NOTIFIER_EXT(notifierType, , notifiee, func, ParamType, )
 Declare a validated notifier object class. More...
 
#define PDECLARE_VALIDATED_NOTIFIER(notifierType, notifiee, func)   PDECLARE_VALIDATED_NOTIFIER2(notifierType, notifiee, func, P_INT_PTR)
 Declare validated PNotifier derived class with P_INT_PTR parameter. Uses PDECLARE_VALIDATED_NOTIFIER2 macro. More...
 
#define PDECLARE_ASYNC_NOTIFIER_EXT(notifierType, notifierArg, notifiee, func, ParamType, ParamArg)
 Declare an asynchronous notifier object class. More...
 
#define PDECLARE_ASYNC_NOTIFIER2(notifierType, notifiee, func, ParamType)   PDECLARE_ASYNC_NOTIFIER_EXT(notifierType, , notifiee, func, ParamType, )
 Declare an asynchronous notifier object class. More...
 
#define PDECLARE_ASYNC_NOTIFIER(notifierType, notifiee, func)   PDECLARE_ASYNC_NOTIFIER2(notifierType, notifiee, func, P_INT_PTR)
 Declare an asynchronous PNotifier derived class with P_INT_PTR parameter. Uses PDECLARE_NOTIFIER_EXT macro. More...
 

Typedefs

typedef unsigned long PNotifierIdentifer
 
typedef PNotifierListTemplate
< P_INT_PTR
PNotifierList
 

Macro Definition Documentation

#define PDECLARE_ASYNC_NOTIFIER (   notifierType,
  notifiee,
  func 
)    PDECLARE_ASYNC_NOTIFIER2(notifierType, notifiee, func, P_INT_PTR)

Declare an asynchronous PNotifier derived class with P_INT_PTR parameter. Uses PDECLARE_NOTIFIER_EXT macro.

#define PDECLARE_ASYNC_NOTIFIER2 (   notifierType,
  notifiee,
  func,
  ParamType 
)    PDECLARE_ASYNC_NOTIFIER_EXT(notifierType, , notifiee, func, ParamType, )

Declare an asynchronous notifier object class.

See PDECLARE_NOTIFIER_EXT for more information.

#define PDECLARE_ASYNC_NOTIFIER_EXT (   notifierType,
  notifierArg,
  notifiee,
  func,
  ParamType,
  ParamArg 
)
Value:
PDECLARE_NOTIFIER_COMMON1(notifierType, notifiee, func, ParamType, PAsyncNotifierFunction<ParamType>) \
{ PAsyncNotifierCallback::Queue(m_targetID, new TypedCallback<func##_PNotifier>(*this, note, extra)); } \
void AsyncCall(PObject & note, ParamType extra) const \
PDECLARE_NOTIFIER_COMMON2(notifierType, notifierArg, notifiee, func, ParamType, ParamArg, PAsyncNotifierFunction<ParamType>)
This is an abstract class for which a descendent is declared for every function that may be called...
Definition: notifier_ext.h:191
#define PDECLARE_NOTIFIER_COMMON1(notifierType, notifiee, func, ParamType, BaseClass)
Definition: notifier.h:148
#define PDECLARE_NOTIFIER_COMMON2(notifierType, notifierArg, notifiee, func, ParamType, ParamArg, BaseClass)
Definition: notifier.h:154
static void Queue(PNotifierIdentifer id, PAsyncNotifierCallback *callback)
Ultimate parent class for all objects in the class library.
Definition: object.h:2204

Declare an asynchronous notifier object class.

See PDECLARE_NOTIFIER_EXT for more information.

#define PDECLARE_VALIDATED_NOTIFIER (   notifierType,
  notifiee,
  func 
)    PDECLARE_VALIDATED_NOTIFIER2(notifierType, notifiee, func, P_INT_PTR)

Declare validated PNotifier derived class with P_INT_PTR parameter. Uses PDECLARE_VALIDATED_NOTIFIER2 macro.

#define PDECLARE_VALIDATED_NOTIFIER2 (   notifierType,
  notifiee,
  func,
  ParamType 
)    PDECLARE_VALIDATED_NOTIFIER_EXT(notifierType, , notifiee, func, ParamType, )

Declare a validated notifier object class.

See PDECLARE_NOTIFIER2 for more information.

#define PDECLARE_VALIDATED_NOTIFIER_EXT (   notifierType,
  notifierArg,
  notifiee,
  func,
  ParamType,
  ParamArg 
)    PDECLARE_NOTIFIER_COMMON(notifierType, notifierArg, notifiee, func, ParamType, ParamArg, PValidatedNotifierFunction<ParamType>)

Declare a validated notifier object class.

See PDECLARE_NOTIFIER2 for more information.

Typedef Documentation

typedef unsigned long PNotifierIdentifer