class JBEntityCapsList

Entity capability list manager. More...

Full nameTelEngine::JBEntityCapsList
Definition#include <libs/yjabber/yatejabber.h>
InheritsTelEngine::Mutex [public ], TelEngine::ObjList [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Static Methods

Public Members

Protected Methods

Protected Members


Detailed Description

This class holds data and offer entity capability services. Implements XEP 0115 support

inline  JBEntityCapsList ()

JBEntityCapsList

Constructor

inline JBEntityCaps*  findCaps (const String& id)

findCaps

Retrieve an entity caps object. This method is not thread safe

Parameters:
idThe id to find

Returns: JBEntityCaps pointer or 0

void  expire (u_int64_t msecNow = Time::msecNow())

expire

Expire pending requests. This method is thread safe

Parameters:
msecNowCurrent time

bool  processRsp (XmlElement* rsp, const String& id, bool ok)

processRsp

Process a response. This method is thread safe

Parameters:
rspThe element to process
idThe element's id
okTrue if the response is a result one, false if it's an error

Returns: True if the element was processed (handled)

void  requestCaps (JBStream* stream, const char* from, const char* to, const String& id, char version, const char* node, const char* data)

requestCaps

Request entity capabilities. This method is thread safe

Parameters:
streamThe stream to send the request
fromThe 'from' attribute
toThe 'to' attribute
idEntity caps id
versionEntity caps version
nodeEntity node
dataEntity caps data

XmlDocument*  toDocument (const char* rootName = "entitycaps")

toDocument

Build an XML document from this list. This method is thread safe

Parameters:
rootNameDocument root element name

Returns: XmlDocument pointer

void  fromDocument (XmlDocument& doc, const char* rootName = "entitycaps")

fromDocument

Build this list from an XML document. This method is thread safe

Parameters:
docDocument to build from
rootNameDocument root element name (it will be checked if set)

Returns: XmlDocument pointer

bool  processCaps (String& capsId, XmlElement* xml, JBStream* stream, const char* from, const char* to)

processCaps

[virtual]

Process an element containing an entity capabily child. Request capabilities if not found in the list. This method is thread safe

Parameters:
capsIdString to be filled with entity caps object id (empty if an entity caps child is not found in element )
xmlXML element to process
streamThe stream used to request capabilities
fromThe 'from' attribute of the request stanza
toThe 'to' attribute of the request stanza

Returns: True if processed (already found, added or request sent)

inline void  addCaps (NamedList& list, const String& id)

addCaps

Add capabilities to a list. This method is thread safe

Parameters:
listDestination list
idEntity caps id

void  addCaps (NamedList& list, JBEntityCaps& caps)

addCaps

[virtual]

Add capabilities to a list. This method is not thread safe

Parameters:
listDestination list
capsEntity caps to add

bool  loadXmlDoc (const char* file, DebugEnabler* enabler = 0)

loadXmlDoc

Load (reset) this list from an XML document file. This method is thread safe

Parameters:
fileThe file to load
enablerThe debug enabler used to output messages

Returns: True on success

bool  saveXmlDoc (const char* file, DebugEnabler* enabler = 0)

saveXmlDoc

Save this list to an XML document file. This method is thread safe

Parameters:
fileThe file to save
enablerThe debug enabler used to output messages

Returns: True on success

bool  decodeCaps (const XmlElement& xml, char& version, String*& node, String*& ver, String*& ext)

decodeCaps

[static]

Check if an XML element has a 'c' entity capability child and decode it

Parameters:
xmlThe element to process
versionEntity caps version
nodeEntity node attribute
verEntity ver attribute
extEntity ext attribute if version is less the 1.4

Returns: True if a child was succesfully decoded

bool m_enable

m_enable

void  capsAdded (JBEntityCaps* caps)

capsAdded

[protected virtual]

Caps list item add notification for descendants. This method is called when processing responses with the list locked

Parameters:
capsChanged caps object. 0 if none specified

unsigned int m_reqIndex

m_reqIndex

[protected]

String m_reqPrefix

m_reqPrefix

[protected]

ObjList m_requests

m_requests

[protected]


Generated by: paulc on bussard on Thu Jul 24 18:41:02 2014, using kdoc 2.0a54.