PTLib  Version 2.10.11
XMPP::Presence Class Reference

#include <xmpp.h>

Inheritance diagram for XMPP::Presence:
XMPP::Stanza PXML PXMLBase PObject

Public Types

enum  PresenceType {
  Available, Unavailable, Subscribe, Subscribed,
  Unsubscribe, Unsubscribed, Probe, Error,
  Unknown = 999
}
 
enum  ShowType {
  Online, Away, Chat, DND,
  XA, Other = 999
}
 
- Public Types inherited from PXML
enum  ValidationOp {
  EndOfValidationList, DocType, ElementName, RequiredAttribute,
  RequiredNonEmptyAttribute, RequiredAttributeWithValue, RequiredElement, Subtree,
  RequiredAttributeWithValueMatching, RequiredElementWithBodyMatching, OptionalElement, OptionalAttribute,
  OptionalNonEmptyAttribute, OptionalAttributeWithValue, OptionalAttributeWithValueMatching, OptionalElementWithBodyMatching,
  SetDefaultNamespace, SetNamespace, RequiredAttributeWithValueMatchingEx = RequiredAttributeWithValueMatching + 0x8000, OptionalAttributeWithValueMatchingEx = OptionalAttributeWithValueMatching + 0x8000,
  RequiredElementWithBodyMatchingEx = RequiredElementWithBodyMatching + 0x8000, OptionalElementWithBodyMatchingEx = OptionalElementWithBodyMatching + 0x8000
}
 
- Public Types inherited from PXMLBase
enum  { DEFAULT_MAX_ENTITY_LENGTH = 4096 }
 
enum  Options {
  NoOptions = 0x0000, Indent = 0x0001, NewLineAfterElement = 0x0002, NoIgnoreWhiteSpace = 0x0004,
  CloseExtended = 0x0008, WithNS = 0x0010, FragmentOnly = 0x0020, AllOptions = 0xffff
}
 
enum  StandAloneType { UninitialisedStandAlone = -2, UnknownStandAlone = -1, NotStandAlone, IsStandAlone }
 
- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 

Public Member Functions

 Presence ()
 Construct a new empty presence. More...
 
 Presence (PXML &pdu)
 Construct a presence from a (received) xml PDU. More...
 
 Presence (PXML *pdu)
 
virtual PBoolean IsValid () const
 
virtual PresenceType GetType (PString *typeName=0) const
 
virtual ShowType GetShow (PString *showName=0) const
 
virtual BYTE GetPriority () const
 
virtual PString GetStatus (const PString &lang=PString::Empty())
 Get the status for the specified language. More...
 
virtual PXMLElement * GetStatusElement (const PString &lang=PString::Empty())
 
virtual void SetType (PresenceType type)
 
virtual void SetType (const PString &type)
 
virtual void SetShow (ShowType show)
 
virtual void SetShow (const PString &show)
 
virtual void SetPriority (BYTE priority)
 
virtual void SetStatus (const PString &status, const PString &lang=PString::Empty())
 
- Public Member Functions inherited from XMPP::Stanza
virtual PString GetID () const
 
virtual PString GetFrom () const
 
virtual PString GetTo () const
 
virtual void SetID (const PString &id)
 
virtual void SetFrom (const PString &from)
 
virtual void SetTo (const PString &to)
 
virtual PXMLElement * GetElement (const PString &name, PINDEX i=0)
 
virtual void AddElement (PXMLElement *elem)
 
- Public Member Functions inherited from PXML
 PXML (int options=NoOptions, const char *noIndentElements=NULL)
 
 PXML (const PString &data, int options=NoOptions, const char *noIndentElements=NULL)
 
 PXML (const PXML &xml)
 
 ~PXML ()
 
bool IsLoaded () const
 
bool IsDirty () const
 
bool Load (const PString &data, Options options=NoOptions)
 
bool LoadFile (const PFilePath &fn, Options options=NoOptions)
 
virtual void OnLoaded ()
 
bool Save (Options options=NoOptions)
 
bool Save (PString &data, Options options=NoOptions)
 
bool SaveFile (const PFilePath &fn, Options options=NoOptions)
 
void RemoveAll ()
 
PBoolean IsNoIndentElement (const PString &elementName) const
 
PString AsString () const
 
void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 
PXMLElement * GetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
 
PXMLElement * GetElement (const PCaselessString &name, PINDEX idx=0) const
 
PXMLElement * GetElement (PINDEX idx) const
 
PINDEX GetNumElements () const
 
PXMLElement * GetRootElement () const
 
PXMLElement * SetRootElement (PXMLElement *p)
 
PXMLElement * SetRootElement (const PString &documentType)
 
bool RemoveElement (PINDEX idx)
 
PCaselessString GetDocumentType () const
 
bool Validate (const ValidationInfo *validator)
 
bool ValidateElements (ValidationContext &context, PXMLElement *baseElement, const ValidationInfo *elements)
 
bool ValidateElement (ValidationContext &context, PXMLElement *element, const ValidationInfo *elements)
 
bool LoadAndValidate (const PString &body, const PXML::ValidationInfo *validator, PString &error, int options=NoOptions)
 
PString GetErrorString () const
 
unsigned GetErrorColumn () const
 
unsigned GetErrorLine () const
 
PString GetDocType () const
 
void SetDocType (const PString &v)
 
PMutex & GetMutex ()
 
- Public Member Functions inherited from PXMLBase
 PXMLBase (int opts=NoOptions)
 
void SetOptions (int opts)
 
int GetOptions () const
 
void SetMaxEntityLength (unsigned len)
 
unsigned GetMaxEntityLength () const
 
- Public Member Functions inherited from PObject
virtual ~PObject ()
 
virtual PObject * Clone () const
 Create a copy of the class on the heap. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 

Static Public Member Functions

static const PCaselessString & TypeTag ()
 Various constant strings. More...
 
static const PCaselessString & ShowTag ()
 
static const PCaselessString & StatusTag ()
 
static const PCaselessString & PriorityTag ()
 
static PBoolean IsValid (const PXML *pdu)
 
- Static Public Member Functions inherited from XMPP::Stanza
static const PCaselessString & IDTag ()
 Various constant strings. More...
 
static const PCaselessString & FromTag ()
 
static const PCaselessString & ToTag ()
 
static PString GenerateID ()
 
- Static Public Member Functions inherited from PXML
static PString CreateStartTag (const PString &text)
 
static PString CreateEndTag (const PString &text)
 
static PString CreateTagNoData (const PString &text)
 
static PString CreateTag (const PString &text, const PString &data)
 
static PString EscapeSpecialChars (const PString &string)
 
- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string. More...
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 

Additional Inherited Members

- Protected Member Functions inherited from PXML
void Construct (int options, const char *noIndentElements)
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 
- Protected Attributes inherited from PXML
PXMLElement * rootElement
 
PMutex rootMutex
 
bool loadFromFile
 
PFilePath loadFilename
 
PString version
 
PString encoding
 
StandAloneType m_standAlone
 
PStringStream m_errorString
 
unsigned m_errorLine
 
unsigned m_errorColumn
 
PSortedStringList noIndentElements
 
PString docType
 
PString m_defaultNameSpace
 
- Protected Attributes inherited from PXMLBase
int m_options
 
unsigned m_maxEntityLength
 

Member Enumeration Documentation

§ PresenceType

Enumerator
Available 
Unavailable 
Subscribe 
Subscribed 
Unsubscribe 
Unsubscribed 
Probe 
Error 
Unknown 

§ ShowType

Enumerator
Online 
Away 
Chat 
DND 
XA 
Other 

Constructor & Destructor Documentation

§ Presence() [1/3]

XMPP::Presence::Presence ( )

Construct a new empty presence.

§ Presence() [2/3]

XMPP::Presence::Presence ( PXML &  pdu)

Construct a presence from a (received) xml PDU.

The root of the pdu MUST be a presence stanza. NOTE: the root of the pdu is cloned.

§ Presence() [3/3]

XMPP::Presence::Presence ( PXML *  pdu)

Member Function Documentation

§ GetPriority()

virtual BYTE XMPP::Presence::GetPriority ( ) const
virtual

§ GetShow()

virtual ShowType XMPP::Presence::GetShow ( PString *  showName = 0) const
virtual

§ GetStatus()

virtual PString XMPP::Presence::GetStatus ( const PString &  lang = PString::Empty())
virtual

Get the status for the specified language.

The default status (if any) is returned in case no language is specified or a matching one cannot be found

§ GetStatusElement()

virtual PXMLElement* XMPP::Presence::GetStatusElement ( const PString &  lang = PString::Empty())
virtual

§ GetType()

virtual PresenceType XMPP::Presence::GetType ( PString *  typeName = 0) const
virtual

§ IsValid() [1/2]

virtual PBoolean XMPP::Presence::IsValid ( ) const
virtual

Implements XMPP::Stanza.

§ IsValid() [2/2]

static PBoolean XMPP::Presence::IsValid ( const PXML *  pdu)
static

§ PriorityTag()

static const PCaselessString& XMPP::Presence::PriorityTag ( )
static

§ SetPriority()

virtual void XMPP::Presence::SetPriority ( BYTE  priority)
virtual

§ SetShow() [1/2]

virtual void XMPP::Presence::SetShow ( ShowType  show)
virtual

§ SetShow() [2/2]

virtual void XMPP::Presence::SetShow ( const PString &  show)
virtual

§ SetStatus()

virtual void XMPP::Presence::SetStatus ( const PString &  status,
const PString &  lang = PString::Empty() 
)
virtual

§ SetType() [1/2]

virtual void XMPP::Presence::SetType ( PresenceType  type)
virtual

§ SetType() [2/2]

virtual void XMPP::Presence::SetType ( const PString &  type)
virtual

§ ShowTag()

static const PCaselessString& XMPP::Presence::ShowTag ( )
static

§ StatusTag()

static const PCaselessString& XMPP::Presence::StatusTag ( )
static

§ TypeTag()

static const PCaselessString& XMPP::Presence::TypeTag ( )
static

Various constant strings.


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