PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
XMPP::Message Class Reference

#include <xmpp.h>

Inheritance diagram for XMPP::Message:
Collaboration diagram for XMPP::Message:

Public Types

enum  MessageType {
  Normal, Chat, Error, GroupChat,
  HeadLine, Unknown = 999
}
 

Public Member Functions

 Message ()
 Construct a new empty message. More...
 
 Message (PXMLElement &pdu)
 Construct a message from a (received) xml PDU. More...
 
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)
 
- Public Member Functions inherited from PXML
 PXML (Options options=NoOptions, const char *noIndentElements=NULL)
 
 PXML (const PXML &xml)
 
 ~PXML ()
 
void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 
void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
PString AsString () const
 
bool IsDirty () const
 
bool Load (const PString &data)
 
bool Load (const PString &data, Options options)
 
bool LoadFile (const PFilePath &fn)
 
bool LoadFile (const PFilePath &fn, Options options)
 
virtual bool OnLoadProgress (unsigned) const
 
virtual void OnLoaded ()
 
bool Save ()
 
bool Save (Options options)
 
PString AsString ()
 
PString AsString (Options options)
 
bool SaveFile (const PFilePath &fn)
 
bool SaveFile (const PFilePath &fn, Options options)
 
virtual bool OnSaveProgress (unsigned) const
 
virtual bool OutputProgress () const
 
virtual PINDEX GetObjectCount () const
 
void RemoveAll ()
 
virtual PBoolean IsNoIndentElement (const PString &elementName) const
 
virtual PXMLElement * CreateElement (const PCaselessString &name, const char *data=NULL)
 
virtual PXMLRootElement * CreateRootElement (const PCaselessString &name)
 
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 * SetRootElement (PXMLRootElement *root)
 
PXMLElement * SetRootElement (const PString &documentType)
 
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, Options options=NoOptions)
 
const PCaselessString & GetVersion () const
 
const PCaselessString & GetEncoding () const
 
StandAloneType GetStandAlone () const
 
bool IsLoaded () const
 
PXMLRootElement * GetRootElement () const
 
PCaselessString GetDocumentType () const
 
const PCaselessString & GetDocType () const
 
const PCaselessString & GetPubicIdentifier () const
 
const PCaselessString & GetDtdURI () const
 
PString GetErrorString () const
 
unsigned GetErrorColumn () const
 
unsigned GetErrorLine () const
 
- Public Member Functions inherited from PXMLBase
 P_DECLARE_BITWISE_ENUM_EX (Options, 7,(NoOptions, Indent, IndentWithTabs, NewLineAfterElement, NoIgnoreWhiteSpace, CloseExtended, WithNS, FragmentOnly), AllOptions=(1<<(6+1))-1)
 
 PXMLBase (Options opts=NoOptions)
 
void SetOptions (Options opts)
 
Options GetOptions () const
 
void SetMaxEntityLength (unsigned len)
 
unsigned GetMaxEntityLength () const
 
bool OutputIndent (ostream &strm, int indent, const PString &elementName=PString::Empty()) const
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObject * Clone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. 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...
 
__inline const PObject * PTraceObjectInstance () const
 
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 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 EscapeSpecialChars (const PString &string)
 

Additional Inherited Members

- 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
PFilePath m_loadFilename
 
PCaselessString m_version
 
PCaselessString m_encoding
 
StandAloneType m_standAlone
 
PCaselessString m_docType
 
PCaselessString m_publicId
 
PCaselessString m_dtdURI
 
PXMLRootElement * m_rootElement
 
PStringStream m_errorString
 
unsigned m_errorLine
 
unsigned m_errorColumn
 
PSortedStringList m_noIndentElements
 
PCaselessString m_defaultNameSpace
 
PINDEX m_totalObjects
 
PINDEX m_savedObjects
 
unsigned m_percent
 
- Friends inherited from PObject

Member Enumeration Documentation

Enumerator
Normal 
Chat 
Error 
GroupChat 
HeadLine 
Unknown 

Constructor & Destructor Documentation

XMPP::Message::Message ( )

Construct a new empty message.

XMPP::Message::Message ( PXMLElement &  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.

Member Function Documentation

static const PCaselessString& XMPP::Message::BodyTag ( )
static
virtual PString XMPP::Message::GetBody ( const PString &  lang = PString::Empty())
virtual
virtual PXMLElement* XMPP::Message::GetBodyElement ( const PString &  lang = PString::Empty())
virtual
virtual PString XMPP::Message::GetLanguage ( ) const
virtual
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

virtual PXMLElement* XMPP::Message::GetSubjectElement ( const PString &  lang = PString::Empty())
virtual
virtual PString XMPP::Message::GetThread ( )
virtual
virtual MessageType XMPP::Message::GetType ( PString *  typeName = 0) const
virtual
virtual PBoolean XMPP::Message::IsValid ( ) const
virtual

Implements XMPP::Stanza.

virtual void XMPP::Message::SetBody ( const PString &  body,
const PString &  lang = PString::Empty() 
)
virtual
virtual void XMPP::Message::SetLanguage ( const PString &  lang)
virtual
virtual void XMPP::Message::SetSubject ( const PString &  subj,
const PString &  lang = PString::Empty() 
)
virtual
virtual void XMPP::Message::SetThread ( const PString &  thrd)
virtual
virtual void XMPP::Message::SetType ( MessageType  type)
virtual
virtual void XMPP::Message::SetType ( const PString &  type)
virtual
static const PCaselessString& XMPP::Message::SubjectTag ( )
static
static const PCaselessString& XMPP::Message::ThreadTag ( )
static
static const PCaselessString& XMPP::Message::TypeTag ( )
static

Various constant strings.


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