|
Yate
|
Entity capability list manager. More...
#include <yatejabber.h>
Public Member Functions | |
| JBEntityCapsList () | |
| JBEntityCaps * | findCaps (const String &id) |
| void | expire (u_int64_t msecNow=Time::msecNow()) |
| bool | processRsp (XmlElement *rsp, const String &id, bool ok) |
| void | requestCaps (JBStream *stream, const char *from, const char *to, const String &id, char version, const char *node, const char *data) |
| XmlDocument * | toDocument (const char *rootName="entitycaps") |
| void | fromDocument (XmlDocument &doc, const char *rootName="entitycaps") |
| virtual bool | processCaps (String &capsId, XmlElement *xml, JBStream *stream, const char *from, const char *to) |
| void | addCaps (NamedList &list, const String &id) |
| virtual void | addCaps (NamedList &list, JBEntityCaps &caps) |
| bool | loadXmlDoc (const char *file, DebugEnabler *enabler=0) |
| bool | saveXmlDoc (const char *file, DebugEnabler *enabler=0) |
Static Public Member Functions | |
| static bool | decodeCaps (const XmlElement &xml, char &version, String *&node, String *&ver, String *&ext) |
Public Attributes | |
| bool | m_enable |
Protected Member Functions | |
| virtual void | capsAdded (JBEntityCaps *caps) |
Protected Attributes | |
| unsigned int | m_reqIndex |
| String | m_reqPrefix |
| ObjList | m_requests |
Entity capability list manager.
This class holds data and offer entity capability services. Implements XEP 0115 support
| JBEntityCapsList | ( | ) | [inline] |
Constructor
References Time::msecNow().
Add capabilities to a list. This method is thread safe
| list | Destination list |
| id | Entity caps id |
| virtual void addCaps | ( | NamedList & | list, |
| JBEntityCaps & | caps | ||
| ) | [virtual] |
Add capabilities to a list. This method is not thread safe
| list | Destination list |
| caps | Entity caps to add |
| virtual void capsAdded | ( | JBEntityCaps * | caps | ) | [inline, protected, virtual] |
Caps list item add notification for descendants. This method is called when processing responses with the list locked
| caps | Changed caps object. 0 if none specified |
| static bool decodeCaps | ( | const XmlElement & | xml, |
| char & | version, | ||
| String *& | node, | ||
| String *& | ver, | ||
| String *& | ext | ||
| ) | [static] |
Check if an XML element has a 'c' entity capability child and decode it
| xml | The element to process |
| version | Entity caps version |
| node | Entity node attribute |
| ver | Entity ver attribute |
| ext | Entity ext attribute if version is less the 1.4 |
| void expire | ( | u_int64_t | msecNow = Time::msecNow() | ) |
Expire pending requests. This method is thread safe
| msecNow | Current time |
| JBEntityCaps* findCaps | ( | const String & | id | ) | [inline] |
Retrieve an entity caps object. This method is not thread safe
| id | The id to find |
References ObjList::skipNext().
| void fromDocument | ( | XmlDocument & | doc, |
| const char * | rootName = "entitycaps" |
||
| ) |
Build this list from an XML document. This method is thread safe
| doc | Document to build from |
| rootName | Document root element name (it will be checked if set) |
| bool loadXmlDoc | ( | const char * | file, |
| DebugEnabler * | enabler = 0 |
||
| ) |
Load (reset) this list from an XML document file. This method is thread safe
| file | The file to load |
| enabler | The debug enabler used to output messages |
| virtual bool processCaps | ( | String & | capsId, |
| XmlElement * | xml, | ||
| JBStream * | stream, | ||
| const char * | from, | ||
| const char * | to | ||
| ) | [virtual] |
Process an element containing an entity capabily child. Request capabilities if not found in the list. This method is thread safe
| capsId | String to be filled with entity caps object id (empty if an entity caps child is not found in element ) |
| xml | XML element to process |
| stream | The stream used to request capabilities |
| from | The 'from' attribute of the request stanza |
| to | The 'to' attribute of the request stanza |
| bool processRsp | ( | XmlElement * | rsp, |
| const String & | id, | ||
| bool | ok | ||
| ) |
Process a response. This method is thread safe
| rsp | The element to process |
| id | The element's id |
| ok | True if the response is a result one, false if it's an error |
| void requestCaps | ( | JBStream * | stream, |
| const char * | from, | ||
| const char * | to, | ||
| const String & | id, | ||
| char | version, | ||
| const char * | node, | ||
| const char * | data | ||
| ) |
Request entity capabilities. This method is thread safe
| stream | The stream to send the request |
| from | The 'from' attribute |
| to | The 'to' attribute |
| id | Entity caps id |
| version | Entity caps version |
| node | Entity node |
| data | Entity caps data |
| bool saveXmlDoc | ( | const char * | file, |
| DebugEnabler * | enabler = 0 |
||
| ) |
Save this list to an XML document file. This method is thread safe
| file | The file to save |
| enabler | The debug enabler used to output messages |
| XmlDocument* toDocument | ( | const char * | rootName = "entitycaps" | ) |
Build an XML document from this list. This method is thread safe
| rootName | Document root element name |
| bool m_enable |
Enabled flag
1.7.6.1