General XMPP utilities. More...
#include <xmpputils.h>
Public Types | |
| enum | IqType { IqSet, IqGet, IqResult, IqError, IqCount } |
| enum | CommandAction { CommExecute, CommCancel, CommPrev, CommNext, CommComplete } |
| enum | CommandStatus { CommExecuting, CommCompleted, CommCancelled } |
Static Public Member Functions | |
| static XMLElement * | createElement (const char *name, XMPPNamespace::Type ns, const char *text=0) |
| static XMLElement * | createElement (XMLElement::Type type, XMPPNamespace::Type ns, const char *text=0) |
| static XMLElement * | createIq (IqType type, const char *from, const char *to, const char *id) |
| static XMLElement * | createIqBind (const char *from, const char *to, const char *id, const ObjList &resources) |
| static XMLElement * | createVCard (bool get, const char *from, const char *to, const char *id) |
| static XMLElement * | createCommand (CommandAction action, const char *node, const char *sessionId=0) |
| static XMLElement * | createIdentity (const char *category, const char *type, const char *name) |
| static XMLElement * | createIqDisco (const char *from, const char *to, const char *id, bool info=true) |
| static XMLElement * | createDiscoInfoRes (const char *from, const char *to, const char *id, JIDFeatureList *features, JIDIdentity *identity) |
| static XMLElement * | createError (XMPPError::ErrorType type, XMPPError::Type error, const char *text=0) |
| static XMLElement * | createError (XMLElement *xml, XMPPError::ErrorType type, XMPPError::Type error, const char *text=0) |
| static XMLElement * | createStreamError (XMPPError::Type error, const char *text=0) |
| static XMLElement * | createRegisterQuery (IqType type, const char *from, const char *to, const char *id, XMLElement *child1=0, XMLElement *child2=0, XMLElement *child3=0) |
| static XMLElement * | createRegisterQuery (const char *from, const char *to, const char *id, const char *username, const char *password) |
| static bool | hasXmlns (XMLElement &element, XMPPNamespace::Type ns) |
| static void | decodeError (XMLElement *element, String &error, String &text) |
| static void | encodeDateTimeSec (String &buf, unsigned int timeSec, unsigned int fractions=0) |
| static unsigned int | decodeDateTimeSec (const String &time, unsigned int *fractions=0) |
| static void | print (String &xmlStr, XMLElement &element, const char *indent=0) |
| static bool | split (NamedList &dest, const char *src, const char sep, bool nameFirst) |
| static int | decodeFlags (const String &src, const TokenDict *dict) |
| static void | buildFlags (String &dest, int src, const TokenDict *dict) |
| static bool | addChidren (XMLElement *dest, ObjList &list) |
| static IqType | iqType (const char *text) |
Static Public Attributes | |
| static TokenDict | s_iq [] |
| static TokenDict | s_commandAction [] |
| static TokenDict | s_commandStatus [] |
General XMPP utilities.
This class is a general XMPP utilities
| enum CommandAction |
Command action enumeration
| enum CommandStatus |
Command status enumeration
| enum IqType |
Iq type enumeration
| static bool addChidren | ( | XMLElement * | dest, | |
| ObjList & | list | |||
| ) | [static] |
Add child elements from a list to a destination element
| dest | Destination XMLElement | |
| list | A list containing XML elements |
Encode a mask of flags to a comma separated list of names
| dest | Destination string | |
| src | Source mask | |
| dict | Dictionary containing flag names and values |
| static XMLElement* createCommand | ( | CommandAction | action, | |
| const char * | node, | |||
| const char * | sessionId = 0 | |||
| ) | [static] |
Create a 'command' element
| action | The command action | |
| node | The command | |
| sessionId | Optional session ID for the command |
| static XMLElement* createDiscoInfoRes | ( | const char * | from, | |
| const char * | to, | |||
| const char * | id, | |||
| JIDFeatureList * | features, | |||
| JIDIdentity * | identity | |||
| ) | [static] |
Create an 'iq' of type 'result' element with a 'query' child in response to a disco info request
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute | |
| features | Features to be added to response | |
| identity | The identity of the entity sending the response |
Referenced by XMPPUserRoster::createDiscoInfoResult().
| static XMLElement* createElement | ( | XMLElement::Type | type, | |
| XMPPNamespace::Type | ns, | |||
| const char * | text = 0 | |||
| ) | [static] |
Create an XML element with an 'xmlns' attribute
| type | Element's type | |
| ns | 'xmlns' attribute | |
| text | Optional text for the element |
| static XMLElement* createElement | ( | const char * | name, | |
| XMPPNamespace::Type | ns, | |||
| const char * | text = 0 | |||
| ) | [static] |
Create an XML element with an 'xmlns' attribute
| name | Element's name | |
| ns | 'xmlns' attribute | |
| text | Optional text for the element |
| static XMLElement* createError | ( | XMLElement * | xml, | |
| XMPPError::ErrorType | type, | |||
| XMPPError::Type | error, | |||
| const char * | text = 0 | |||
| ) | [static] |
Create an error from a received element. Consume the received element Reverse 'to' and 'from' attributes
| xml | Received element | |
| type | Error type | |
| error | The error | |
| text | Optional text to add to the error element |
| static XMLElement* createError | ( | XMPPError::ErrorType | type, | |
| XMPPError::Type | error, | |||
| const char * | text = 0 | |||
| ) | [static] |
Create a 'error' element
| type | Error type | |
| error | The error | |
| text | Optional text to add to the error element |
| static XMLElement* createIdentity | ( | const char * | category, | |
| const char * | type, | |||
| const char * | name | |||
| ) | [static] |
Create an 'identity' element
| category | The 'category' attribute | |
| type | The 'type' attribute | |
| name | The 'name' attribute |
| static XMLElement* createIq | ( | IqType | type, | |
| const char * | from, | |||
| const char * | to, | |||
| const char * | id | |||
| ) | [static] |
Create an 'iq' element
| type | Iq type as enumeration | |
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute |
| static XMLElement* createIqBind | ( | const char * | from, | |
| const char * | to, | |||
| const char * | id, | |||
| const ObjList & | resources | |||
| ) | [static] |
Create an 'iq' element with a 'bind' child containing the resources
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute | |
| resources | The resources to bind (strings) |
| static XMLElement* createIqDisco | ( | const char * | from, | |
| const char * | to, | |||
| const char * | id, | |||
| bool | info = true | |||
| ) | [static] |
Create an 'iq' of type 'get' element with a 'query' child
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute | |
| info | True to create a query info request. False to create a query items request |
| static XMLElement* createRegisterQuery | ( | const char * | from, | |
| const char * | to, | |||
| const char * | id, | |||
| const char * | username, | |||
| const char * | password | |||
| ) | [inline, static] |
Build an register query element used to create/set username/password
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute | |
| username | The username | |
| password | The password |
| static XMLElement* createRegisterQuery | ( | IqType | type, | |
| const char * | from, | |||
| const char * | to, | |||
| const char * | id, | |||
| XMLElement * | child1 = 0, |
|||
| XMLElement * | child2 = 0, |
|||
| XMLElement * | child3 = 0 | |||
| ) | [static] |
Build a register query element
| type | Iq type as enumeration | |
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute | |
| child1 | Optional child of query element | |
| child2 | Optional child of query element | |
| child3 | Optional child of query element |
| static XMLElement* createStreamError | ( | XMPPError::Type | error, | |
| const char * | text = 0 | |||
| ) | [static] |
Create a 'stream:error' element
| error | The XMPP defined condition | |
| text | Optional text to add to the error |
| static XMLElement* createVCard | ( | bool | get, | |
| const char * | from, | |||
| const char * | to, | |||
| const char * | id | |||
| ) | [static] |
Create an 'iq' element with a 'vcard' child
| get | True to set the iq's type to 'get', false to set it to 'set' | |
| from | The 'from' attribute | |
| to | The 'to' attribute | |
| id | The 'id' attribute |
| static unsigned int decodeDateTimeSec | ( | const String & | time, | |
| unsigned int * | fractions = 0 | |||
| ) | [static] |
Decode a date/time profile as defined in XEP-0082 and XML Schema Part 2: Datatypes Second Edition to EPOCH time
| time | The date/time string | |
| fractions | Pointer to integer to be filled with second fractions, if present |
| static void decodeError | ( | XMLElement * | element, | |
| String & | error, | |||
| String & | text | |||
| ) | [static] |
Decode a received stream error or stanza error
| element | The received element | |
| error | The error condition | |
| text | The stanza's error or error text |
Decode a comma separated list of flags and put them into an integer mask
| src | Source string | |
| dict | Dictionary containing flag names and values |
| static void encodeDateTimeSec | ( | String & | buf, | |
| unsigned int | timeSec, | |||
| unsigned int | fractions = 0 | |||
| ) | [static] |
Encode EPOCH time given in seconds to a date/time profile as defined in XEP-0082 and XML Schema Part 2: Datatypes Second Edition
| buf | Destination string | |
| timeSec | The time to encode (in seconds) | |
| fractions | Optional second fractions |
| static bool hasXmlns | ( | XMLElement & | element, | |
| XMPPNamespace::Type | ns | |||
| ) | [static] |
Check if the given element has an attribute 'xmlns' equal to a given value
| element | Element to check | |
| ns | Namespace value to check |
| static IqType iqType | ( | const char * | text | ) | [inline, static] |
Get the type of an 'iq' stanza as enumeration
| text | The text to check |
References TelEngine::lookup().
| static void print | ( | String & | xmlStr, | |
| XMLElement & | element, | |||
| const char * | indent = 0 | |||
| ) | [static] |
Print an XMLElement to a string
| xmlStr | The destination string | |
| element | The element to print | |
| indent | The indent. 0 if it is the root element |
| static bool split | ( | NamedList & | dest, | |
| const char * | src, | |||
| const char | sep, | |||
| bool | nameFirst | |||
| ) | [static] |
Split a string at a delimiter character and fills a named list with its parts Skip empty parts
| dest | The destination NamedList | |
| src | Pointer to the string | |
| sep | The delimiter | |
| nameFirst | True to add the parts as name and index as value. False to do the other way |
TokenDict s_commandAction[] [static] |
Keep the command actions
TokenDict s_commandStatus[] [static] |
Keep the command status
1.6.3