PTLib  Version 2.10.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
XMPP::Stanza Class Referenceabstract

XMPP stanzas: the following classes represent the three stanzas (PDUs) defined by the xmpp protocol. More...

#include <xmpp.h>

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

Public Member Functions

virtual PBoolean IsValid () const =0
 
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 PXMLElementGetElement (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...
 
PXMLElementGetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
 
PXMLElementGetElement (const PCaselessString &name, PINDEX idx=0) const
 
PXMLElementGetElement (PINDEX idx) const
 
PINDEX GetNumElements () const
 
PXMLElementGetRootElement () const
 
PXMLElementSetRootElement (PXMLElement *p)
 
PXMLElementSetRootElement (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)
 
PMutexGetMutex ()
 
- 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 PObjectClone () 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 PCaselessStringIDTag ()
 Various constant strings. More...
 
static const PCaselessStringFromTag ()
 
static const PCaselessStringToTag ()
 
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

- 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...
 
- 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
PXMLElementrootElement
 
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
 

Detailed Description

XMPP stanzas: the following classes represent the three stanzas (PDUs) defined by the xmpp protocol.

Member Function Documentation

virtual void XMPP::Stanza::AddElement ( PXMLElement elem)
virtual
static const PCaselessString& XMPP::Stanza::FromTag ( )
static
static PString XMPP::Stanza::GenerateID ( )
static
virtual PXMLElement* XMPP::Stanza::GetElement ( const PString name,
PINDEX  i = 0 
)
virtual
virtual PString XMPP::Stanza::GetFrom ( ) const
virtual
virtual PString XMPP::Stanza::GetID ( ) const
virtual
virtual PString XMPP::Stanza::GetTo ( ) const
virtual
static const PCaselessString& XMPP::Stanza::IDTag ( )
static

Various constant strings.

virtual PBoolean XMPP::Stanza::IsValid ( ) const
pure virtual

Implemented in XMPP::IQ, XMPP::Presence, and XMPP::Message.

virtual void XMPP::Stanza::SetFrom ( const PString from)
virtual
virtual void XMPP::Stanza::SetID ( const PString id)
virtual
virtual void XMPP::Stanza::SetTo ( const PString to)
virtual
static const PCaselessString& XMPP::Stanza::ToTag ( )
static

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