PTLib  Version 2.18.8
 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 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 = 65536 }
 
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 (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, const char *defaultEncoding=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, const char *defaultEncoding=NULL)
 
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, 8,(NoOptions, Indent, IndentWithTabs, NewLineAfterElement, NoIgnoreWhiteSpace, CloseExtended, WithNS, FragmentOnly, ExpandEntities), AllOptions=(1<< 8)-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
__inline unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
__inline void SetTraceContextIdentifier (unsigned id)
 
__inline void SetTraceContextIdentifier (const PObject &obj)
 
__inline void SetTraceContextIdentifier (const PObject *obj)
 
__inline void CopyTraceContextIdentifier (PObject &obj) const
 
__inline void CopyTraceContextIdentifier (PObject *obj) const
 
virtual ~PObject ()
 
__inline const char * GetClass () const
 
__inline bool IsClass (const char *name) const
 
__inline const PObject * PTraceObjectInstance () const
 
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 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)
 
- Static Public Member Functions inherited from PObject
static __inline void CopyTraceContextIdentifier (PObject &to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject &to, const PObject *from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject *from)
 
static __inline const char * Class ()
 
static __inline const PObject * PTraceObjectInstance (const char *)
 
static __inline const PObject * PTraceObjectInstance (const PObject *obj)
 
template<typename T >
static Comparison Compare2 (T v1, T v2)
 Compare two types, returning Comparison type. 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 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
 
- Protected Attributes inherited from PXMLBase
Options m_options
 
unsigned m_maxEntityLength
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

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: