XMPPUtils Class Reference

General XMPP utilities. More...

#include <xmpputils.h>

List of all members.

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 XMLElementcreateElement (const char *name, XMPPNamespace::Type ns, const char *text=0)
static XMLElementcreateElement (XMLElement::Type type, XMPPNamespace::Type ns, const char *text=0)
static XMLElementcreateIq (IqType type, const char *from, const char *to, const char *id)
static XMLElementcreateIqBind (const char *from, const char *to, const char *id, const ObjList &resources)
static XMLElementcreateCommand (CommandAction action, const char *node, const char *sessionId=0)
static XMLElementcreateIdentity (const char *category, const char *type, const char *name)
static XMLElementcreateIqDisco (const char *from, const char *to, const char *id, bool info=true)
static XMLElementcreateDiscoInfoRes (const char *from, const char *to, const char *id, JIDFeatureList *features, JIDIdentity *identity)
static XMLElementcreateError (XMPPError::ErrorType type, XMPPError::Type error, const char *text=0)
static XMLElementcreateError (XMLElement *xml, XMPPError::ErrorType type, XMPPError::Type error, const char *text=0)
static XMLElementcreateStreamError (XMPPError::Type error, const char *text=0)
static bool hasXmlns (XMLElement &element, XMPPNamespace::Type ns)
static void decodeError (XMLElement *element, String &error, String &text)
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 []


Detailed Description

General XMPP utilities.

This class is a general XMPP utilities


Member Enumeration Documentation

Command action enumeration

Command status enumeration

enum IqType

Iq type enumeration


Member Function Documentation

static bool addChidren ( XMLElement dest,
ObjList list 
) [static]

Add child elements from a list to a destination element

Parameters:
dest Destination XMLElement
list A list containing XML elements
Returns:
True if at least one child was added

static void buildFlags ( String dest,
int  src,
const TokenDict dict 
) [static]

Encode a mask of flags to a comma separated list of names

Parameters:
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

Parameters:
action The command action
node The command
sessionId Optional session ID for the command
Returns:
A valid XMLElement pointer

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

Parameters:
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
Returns:
A valid XMLElement pointer

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

Parameters:
type Element's type
ns 'xmlns' attribute
text Optional text for the element
Returns:
A valid XMLElement pointer

static XMLElement* createElement ( const char *  name,
XMPPNamespace::Type  ns,
const char *  text = 0 
) [static]

Create an XML element with an 'xmlns' attribute

Parameters:
name Element's name
ns 'xmlns' attribute
text Optional text for the element
Returns:
A valid XMLElement pointer

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

Parameters:
xml Received element
type Error type
error The error
text Optional text to add to the error element
Returns:
A valid XMLElement pointer or 0 if xml is 0

static XMLElement* createError ( XMPPError::ErrorType  type,
XMPPError::Type  error,
const char *  text = 0 
) [static]

Create a 'error' element

Parameters:
type Error type
error The error
text Optional text to add to the error element
Returns:
A valid XMLElement pointer

static XMLElement* createIdentity ( const char *  category,
const char *  type,
const char *  name 
) [static]

Create an 'identity' element

Parameters:
category The 'category' attribute
type The 'type' attribute
name The 'name' attribute
Returns:
A valid XMLElement pointer

static XMLElement* createIq ( IqType  type,
const char *  from,
const char *  to,
const char *  id 
) [static]

Create an 'iq' element

Parameters:
type Iq type as enumeration
from The 'from' attribute
to The 'to' attribute
id The 'id' attribute
Returns:
A valid XMLElement pointer

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

Parameters:
from The 'from' attribute
to The 'to' attribute
id The 'id' attribute
resources The resources to bind (strings)
Returns:
A valid XMLElement pointer

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

Parameters:
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
Returns:
A valid XMLElement pointer

static XMLElement* createStreamError ( XMPPError::Type  error,
const char *  text = 0 
) [static]

Create a 'stream:error' element

Parameters:
error The XMPP defined condition
text Optional text to add to the error
Returns:
A valid XMLElement pointer

static void decodeError ( XMLElement element,
String error,
String text 
) [static]

Decode a received stream error or stanza error

Parameters:
element The received element
error The error condition
text The stanza's error or error text

static int decodeFlags ( const String src,
const TokenDict dict 
) [static]

Decode a comma separated list of flags and put them into an integer mask

Parameters:
src Source string
dict Dictionary containing flag names and values
Returns:
The mask of found flags

static bool hasXmlns ( XMLElement element,
XMPPNamespace::Type  ns 
) [static]

Check if the given element has an attribute 'xmlns' equal to a given value

Parameters:
element Element to check
ns Namespace value to check
Returns:
True if the given element has the requested namespace

static IqType iqType ( const char *  text  )  [inline, static]

Get the type of an 'iq' stanza as enumeration

Parameters:
text The text to check
Returns:
Iq type as enumeration

References TelEngine::lookup().

static void print ( String xmlStr,
XMLElement element,
const char *  indent = 0 
) [static]

Print an XMLElement to a string

Parameters:
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

Parameters:
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


Member Data Documentation

Keep the command actions

Keep the command status

TokenDict s_iq[] [static]

Keep the types of 'iq' stanzas


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

Generated on Sun Dec 7 21:36:13 2008 for Yate by  doxygen 1.5.7.1