OPAL  Version 3.14.3
OpalPresenceStatus Struct Reference

#include <opal.h>

Data Fields

const char * m_entity
 
const char * m_target
 
const char * m_service
 
const char * m_contact
 
const char * m_capabilities
 
OpalPresenceStates m_state
 
const char * m_activities
 
const char * m_note
 
const char * m_infoType
 MIME tyupe for m_infoData, e.g. application/pidf+xml. More...
 
const char * m_infoData
 Raw information as provided by underlying protocol, e.g. XML. More...
 

Detailed Description

Opal Presence information for the various presence messages.

For OpalIndPresenceChange, m_entity is the local presentity, m_target is the presentity for which the status is changing. This may be a remote presentity, or the same as the m_entity field. The latter would occur after OpalCmdSetLocalPresence, for example, and can indicate if that operation was successful or not.

For OpalCmdAuthorisePresence, m_entity is the local presentity, m_target is the remote presentity asking for permission to view the local presentities status. The m_state is used to deny acces (OpalPresenceForbidden), deny access politely (OpalPresenceUnavailable) or permit access (OpalPresenceAvailable). While this is usually called in response to an OpalIndPresenceChange with m_state == OpalPresenceAuthRequest, it can also be sent at any time to remove an authorisation. In this case m_state is set to OpalPresenceNone.

For OpalCmdSetLocalPresence, m_target is unused, m_state should be a positive value. If m_state is OpalPresenceUnchanged then no change is made and the current presence state is returned. The m_note field can be used to provide extra information about the state change.

For OpalCmdSubscribePresence, m_entity is the local presentity, m_target is the remote presentity we wish to monitor. The m_state is OpalPresenceNone when we wish to stop monitoring, any other value to request. The m_note field may be used to give extra information to the remote system if authorisation is required.

Field Documentation

const char* OpalPresenceStatus::m_activities

The optional activities, if m_state is OpalPresenceAvailable or OpalPresenceUnavailable. Typically something like "Busy" or "Away". This can be a '
' seaparated list of simultaneous activities.

const char* OpalPresenceStatus::m_capabilities
 Capabilities for the service. A '\n' separated list

of keywords, such as "audio", "Video", "text" etc.

const char* OpalPresenceStatus::m_contact

Contact address, typically a URL, for the service.

const char* OpalPresenceStatus::m_entity
   For OpalIndPresenceChange, this is the presentity

whose state had changed, usually a remote. For other messages, this is the local registered presentity.

const char* OpalPresenceStatus::m_infoData

Raw information as provided by underlying protocol, e.g. XML.

const char* OpalPresenceStatus::m_infoType

MIME tyupe for m_infoData, e.g. application/pidf+xml.

const char* OpalPresenceStatus::m_note
     Additional "note" that may be attached to the state

change, e.g. "I want to be frends with you". If m_state is OpalPresenceError, then this may contain extra information on the error.

const char* OpalPresenceStatus::m_service
  Device/system for the presentity that is getting a

state change. Ignored for commands.

OpalPresenceStates OpalPresenceStatus::m_state

The new state of the target entity.

const char* OpalPresenceStatus::m_target
   The presentity that is being informed about the state

change. Only used for OpalIndPresenceChange.


The documentation for this struct was generated from the following file: