#include <disco.h>
Inherits IqHandler.
Inheritance diagram for Disco:
Public Member Functions | |
Disco (ClientBase *parent) | |
virtual | ~Disco () |
void | addFeature (const std::string &feature) |
void | getDiscoInfo (const std::string &to, const std::string &node, DiscoHandler *dh, int context) |
void | getDiscoItems (const std::string &to, const std::string &node, DiscoHandler *dh, int context) |
void | setVersion (const std::string &name, const std::string &version, const std::string &os="") |
void | setIdentity (const std::string &category, const std::string &type) |
void | registerDiscoHandler (DiscoHandler *dh) |
void | removeDiscoHandler (DiscoHandler *dh) |
void | registerNodeHandler (DiscoNodeHandler *nh, const std::string &node) |
void | removeNodeHandler (const std::string &node) |
virtual bool | handleIq (Stanza *stanza) |
virtual bool | handleIqID (Stanza *stanza, int context) |
Please see Adhoc or FlexibleOffline for an implementation that uses this class.
Definition at line 41 of file disco.h.
|
Constructor. Creates a new Disco client that registers as IqHandler with
Definition at line 23 of file disco.cpp. References Disco::addFeature(), and ClientBase::registerIqHandler(). |
|
Virtual destructor. Definition at line 37 of file disco.cpp. References ClientBase::removeIqHandler(). |
|
Adds a feature to the list of supported Jabber features. The list will be posted as an answer to IQ queries in the "http://jabber.org/protocol/disco#info" namespace. These IQ packets will also be forwarded to the application's IqHandler, if it listens to the disco#info namespace. You can call Client::disableDisco() to disable automatic disco entirely. By default, disco(very) queries are handled by the library. By default, all supported, not disabled features are announced.
Definition at line 222 of file disco.cpp. Referenced by Adhoc::Adhoc(), Disco::Disco(), and LastActivity::LastActivity(). |
|
Queries the given JID for general infomation according to JEP-0030 (Service Discovery). To receive the results inherit from DiscoHandler and register with the Disco object.
Definition at line 227 of file disco.cpp. References Tag::addAttrib(), JID::full(), ClientBase::getID(), ClientBase::jid(), ClientBase::send(), and ClientBase::trackID(). Referenced by FlexibleOffline::checkSupport(), and FlexibleOffline::getMsgCount(). |
|
Queries the given JID for its items according to JEP-0030 (Service Discovery). To receive the results inherit from DiscoHandler and register with the Disco object.
Definition at line 249 of file disco.cpp. References Tag::addAttrib(), JID::full(), ClientBase::getID(), ClientBase::jid(), ClientBase::send(), and ClientBase::trackID(). Referenced by FlexibleOffline::fetchHeaders(). |
|
Reimplement this function if you want to be notified about incoming IQs.
Implements IqHandler. Definition at line 47 of file disco.cpp. References Tag::addAttrib(), Stanza::from(), JID::full(), Stanza::id(), ClientBase::jid(), ClientBase::send(), gloox::STANZA_IQ_GET, Stanza::subtype(), and Stanza::xmlns(). |
|
Reimplement this function if you want to be notified about incoming IQs with a specific value of the
Implements IqHandler. Definition at line 191 of file disco.cpp. References Stanza::id(), gloox::STANZA_IQ_ERROR, gloox::STANZA_IQ_RESULT, and Stanza::subtype(). |
|
Use this function to register an DiscoHandler with the Disco object. This is only necessary if you want to receive Disco-set requests. Else a one-time registration happens when calling getDiscoInfo() and getDiscoItems(), respectively.
|
|
Use this function to register an DiscoNodeHandler with the Disco object. The DiscoNodeHandler will receive disco::items queries which are directed to the corresponding node registered for the handler. Only one handler per node is possible.
Definition at line 294 of file disco.cpp. Referenced by Adhoc::Adhoc(), and Adhoc::registerAdhocCommandProvider(). |
|
Unregisters the given DiscoHandler.
|
|
Removes the node handler.
Definition at line 299 of file disco.cpp. Referenced by Adhoc::~Adhoc(). |
|
Sets the identity of this entity. The library uses this information to answer disco::info requests with a correct identity. JEP-0030 requires an entity to have at least one identity. See JEP-0030 for more information on categories and types.
Definition at line 278 of file disco.cpp. Referenced by Component::Component(). |
|
Sets the version of the host application using this library. The library takes care of jabber:iq:version requests. These IQ packets will not be forwarded to the IqHandlers.
Definition at line 271 of file disco.cpp. Referenced by Component::Component(). |