# pres_ent.h File Reference

`#include <ptlib.h>`
`#include <opal/buildopts.h>`
`#include <ptlib/pfactory.h>`
`#include <ptlib/safecoll.h>`
`#include <ptclib/url.h>`
`#include <ptclib/guid.h>`
`#include <ptclib/vcard.h>`
`#include <im/im.h>`
`#include <list>`
`#include <queue>`

Include dependency graph for pres_ent.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

class | OpalPresenceInfo
class | OpalPresentity
struct | OpalPresentity::AuthorisationRequest
struct | OpalPresentity::BuddyInfo
class | OpalPresentityWithCommandThread
class | OpalPresentityCommand
class | OpalSubscribeToPresenceCommand
class | OpalAuthorisationRequestCommand
class | OpalSetLocalPresenceCommand
class | OpalSendMessageToCommand

## Indications (callbacks)

#define | PDECLARE_AuthorisationRequestNotifier(cls, fn) PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalPresentity::AuthorisationRequest &)
#define | PCREATE_AuthorisationRequestNotifier(fn) PCREATE_NOTIFIER2(fn, const OpalPresentity::AuthorisationRequest &)
#define | PDECLARE_PresenceChangeNotifier(cls, fn) PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalPresenceInfo &)
#define | PCREATE_PresenceChangeNotifier(fn) PCREATE_NOTIFIER2(fn, const OpalPresenceInfo &)

## Instant Messaging

#define | PDECLARE_ReceivedMessageNotifier(cls, fn) PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalIM &)
#define | PCREATE_ReceivedMessageNotifier(fn) PCREATE_NOTIFIER2(fn, const OpalIM &)

## Defines

#define | OPAL_DEFINE_COMMAND(command, entity, func)

## Functions

ostream & | operator<< (ostream &strm, OpalPresenceInfo::State state)

## Define Documentation

#define OPAL_DEFINE_COMMAND | ( | command,
|  | entity,
|  | func |  | ) |

Value:

    class entity##_##command : public command \
      { \
        public: virtual void Process(OpalPresentity & presentity) { dynamic_cast<entity &>(presentity).func(*this); } \
      }; \
      static PFactory<OpalPresentityCommand>::Worker<entity##_##command> \
      s_##entity##_##command(PDefaultPFactoryKey(entity::Class())+typeid(command).name())

Macro to define the factory that creates a concrete command class.

#define PCREATE_AuthorisationRequestNotifier | ( | fn |  | ) | PCREATE_NOTIFIER2(fn, const OpalPresentity::AuthorisationRequest &)

#define PCREATE_PresenceChangeNotifier | ( | fn |  | ) | PCREATE_NOTIFIER2(fn, const OpalPresenceInfo &)

#define PCREATE_ReceivedMessageNotifier | ( | fn |  | ) | PCREATE_NOTIFIER2(fn, const OpalIM &)

#define PDECLARE_AuthorisationRequestNotifier | ( | cls,
|  | fn |  | ) | PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalPresentity::AuthorisationRequest &)

#define PDECLARE_PresenceChangeNotifier | ( | cls,
|  | fn |  | ) | PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalPresenceInfo &)

#define PDECLARE_ReceivedMessageNotifier | ( | cls,
|  | fn |  | ) | PDECLARE_NOTIFIER2(OpalPresentity, cls, fn, const OpalIM &)

## Function Documentation

ostream& operator<< | ( | ostream & | strm,
|  | OpalPresenceInfo::State | state |
| ) |  |  |