PTLib  Version 2.10.11
XMPP::Message Class Reference

#include <xmpp.h>

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

Public Types

enum  MessageType {
  Normal, Chat, Error, GroupChat,
  HeadLine, Unknown = 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

 Message ()
 Construct a new empty message. More...
 
 Message (PXML &pdu)
 Construct a message from a (received) xml PDU. More...
 
 Message (PXML *pdu)
 
virtual PBoolean IsValid () const
 
virtual MessageType GetType (PString *typeName=0) const
 
virtual PString GetLanguage () const
 
virtual PString GetSubject (const PString &lang=PString::Empty())
 Get the subject for the specified language. More...
 
virtual PString GetBody (const PString &lang=PString::Empty())
 
virtual PString GetThread ()
 
virtual PXMLElement * GetSubjectElement (const PString &lang=PString::Empty())
 
virtual PXMLElement * GetBodyElement (const PString &lang=PString::Empty())
 
virtual void SetType (MessageType type)
 
virtual void SetType (const PString &type)
 
virtual void SetLanguage (const PString &lang)
 
virtual void SetSubject (const PString &subj, const PString &lang=PString::Empty())
 
virtual void SetBody (const PString &body, const PString &lang=PString::Empty())
 
virtual void SetThread (const PString &thrd)
 
- 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 & SubjectTag ()
 
static const PCaselessString & BodyTag ()
 
static const PCaselessString & ThreadTag ()
 
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

§ MessageType

Enumerator
Normal 
Chat 
Error 
GroupChat 
HeadLine 
Unknown 

Constructor & Destructor Documentation

§ Message() [1/3]

XMPP::Message::Message ( )

Construct a new empty message.

§ Message() [2/3]

XMPP::Message::Message ( PXML &  pdu)

Construct a message from a (received) xml PDU.

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

§ Message() [3/3]

XMPP::Message::Message ( PXML *  pdu)

Member Function Documentation

§ BodyTag()

static const PCaselessString& XMPP::Message::BodyTag ( )
static

§ GetBody()

virtual PString XMPP::Message::GetBody ( const PString &  lang = PString::Empty())
virtual

§ GetBodyElement()

virtual PXMLElement* XMPP::Message::GetBodyElement ( const PString &  lang = PString::Empty())
virtual

§ GetLanguage()

virtual PString XMPP::Message::GetLanguage ( ) const
virtual

§ GetSubject()

virtual PString XMPP::Message::GetSubject ( const PString &  lang = PString::Empty())
virtual

Get the subject for the specified language.

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

§ GetSubjectElement()

virtual PXMLElement* XMPP::Message::GetSubjectElement ( const PString &  lang = PString::Empty())
virtual

§ GetThread()

virtual PString XMPP::Message::GetThread ( )
virtual

§ GetType()

virtual MessageType XMPP::Message::GetType ( PString *  typeName = 0) const
virtual

§ IsValid() [1/2]

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

Implements XMPP::Stanza.

§ IsValid() [2/2]

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

§ SetBody()

virtual void XMPP::Message::SetBody ( const PString &  body,
const PString &  lang = PString::Empty() 
)
virtual

§ SetLanguage()

virtual void XMPP::Message::SetLanguage ( const PString &  lang)
virtual

§ SetSubject()

virtual void XMPP::Message::SetSubject ( const PString &  subj,
const PString &  lang = PString::Empty() 
)
virtual

§ SetThread()

virtual void XMPP::Message::SetThread ( const PString &  thrd)
virtual

§ SetType() [1/2]

virtual void XMPP::Message::SetType ( MessageType  type)
virtual

§ SetType() [2/2]

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

§ SubjectTag()

static const PCaselessString& XMPP::Message::SubjectTag ( )
static

§ ThreadTag()

static const PCaselessString& XMPP::Message::ThreadTag ( )
static

§ TypeTag()

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

Various constant strings.


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