gloox
1.1-svn
|
#include <pubsubmanager.h>
Public Member Functions | |
Manager (ClientBase *parent) | |
virtual | ~Manager () |
const std::string | subscribe (const JID &service, const std::string &node, ResultHandler *handler, const JID &jid=JID(), SubscriptionObject type=SubscriptionNodes, int depth=1, const std::string &expire=EmptyString) |
const std::string | subscribe (const JID &service, const std::string &node, ResultHandler *handler, const JID &jid, DataForm *options) |
const std::string | unsubscribe (const JID &service, const std::string &node, const std::string &subid, ResultHandler *handler, const JID &jid=JID()) |
const std::string | getSubscriptions (const JID &service, ResultHandler *handler) |
const std::string | getAffiliations (const JID &service, ResultHandler *handler) |
const std::string | getSubscriptionOptions (const JID &service, const JID &jid, const std::string &node, ResultHandler *handler, const std::string &subid=EmptyString) |
const std::string | setSubscriptionOptions (const JID &service, const JID &jid, const std::string &node, DataForm *df, ResultHandler *handler, const std::string &subid=EmptyString) |
void | getAffiliations (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | requestItems (const JID &service, const std::string &node, const std::string &subid, int maxItems, ResultHandler *handler) |
const std::string | requestItems (const JID &service, const std::string &node, const std::string &subid, const ItemList &items, ResultHandler *handler) |
const std::string | publishItem (const JID &service, const std::string &node, ItemList &items, DataForm *options, ResultHandler *handler) |
const std::string | deleteItem (const JID &service, const std::string &node, const ItemList &items, bool notify, ResultHandler *handler) |
const std::string | createNode (const JID &service, const std::string &node, DataForm *config, ResultHandler *handler) |
const std::string | deleteNode (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | getDefaultNodeConfig (const JID &service, NodeType type, ResultHandler *handler) |
const std::string | purgeNode (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | getSubscribers (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | setSubscribers (const JID &service, const std::string &node, const SubscriberList &list, ResultHandler *handler) |
const std::string | getAffiliates (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | setAffiliates (const JID &service, const std::string &node, const AffiliateList &list, ResultHandler *handler) |
const std::string | getNodeConfig (const JID &service, const std::string &node, ResultHandler *handler) |
const std::string | setNodeConfig (const JID &service, const std::string &node, DataForm *config, ResultHandler *handler) |
bool | removeID (const std::string &id) |
virtual bool | handleIq (const IQ &iq) |
virtual void | handleIqID (const IQ &iq, int context) |
Public Member Functions inherited from IqHandler | |
virtual | ~IqHandler () |
This manager is used to interact with PubSub services (XEP-0060).
A ResultHandler is used to receive a request's result. Depending on the context, this can be a notification that an item has been succesfully deleted (or not), or the default node configuration for a service.
To receive PubSub events:
To interact with PubSub services, you will need to instantiate a PubSub::Manager and implement the ResultHandler virtual interfaces to be notified of the result of requests.
XEP Version: 1.12
Definition at line 78 of file pubsubmanager.h.
Manager | ( | ClientBase * | parent | ) |
Initialize the manager.
parent | Client to which this manager belongs. |
Definition at line 570 of file pubsubmanager.cpp.
|
inlinevirtual |
Default virtual destructor.
Definition at line 91 of file pubsubmanager.h.
const std::string createNode | ( | const JID & | service, |
const std::string & | node, | ||
DataForm * | config, | ||
ResultHandler * | handler | ||
) |
Creates a new node.
service | Service where to create the new node. |
node | The ID of the new node. |
config | An optional DataForm that holds the node configuration. The DataForm will be owned and deleted by the Manager. |
handler | The handler to handle the result. |
Definition at line 817 of file pubsubmanager.cpp.
const std::string deleteItem | ( | const JID & | service, |
const std::string & | node, | ||
const ItemList & | items, | ||
bool | notify, | ||
ResultHandler * | handler | ||
) |
Delete an item from a node.
service | Service hosting the node. |
node | ID of the node to delete the item from. |
items | A list of items to delete (only ID filled in). |
notify | Whether or not to notify subscribers about the deletion. |
handler | The handler to handle the result. |
Definition at line 793 of file pubsubmanager.cpp.
const std::string deleteNode | ( | const JID & | service, |
const std::string & | node, | ||
ResultHandler * | handler | ||
) |
Deletes a node.
service | Service where to create the new node. |
node | Node ID of the new node. |
handler | The handler to handle the result. |
Definition at line 840 of file pubsubmanager.cpp.
|
inline |
Requests the affiliate list for a node.
service | Service to query. |
node | Node ID of the node. |
handler | ResultHandler. |
Definition at line 413 of file pubsubmanager.h.
|
inline |
Requests the affiliation list from a service.
service | Service to query. |
handler | The ResultHandler to handle the result. |
Definition at line 179 of file pubsubmanager.h.
void getAffiliations | ( | const JID & | service, |
const std::string & | node, | ||
ResultHandler * | handler | ||
) |
Requests the affiliation list for a node.
service | Service to query. |
node | Node ID of the node. |
handler | The AffiliationListHandler to handle the result. |
const std::string getDefaultNodeConfig | ( | const JID & | service, |
NodeType | type, | ||
ResultHandler * | handler | ||
) |
Retrieves the default configuration for a specific NodeType.
service | The queried service. |
type | NodeType to get default configuration for. |
handler | ResultHandler. |
Definition at line 861 of file pubsubmanager.cpp.
|
inline |
Retrieve the configuration (options) of a node.
service | Service hosting the node. |
node | ID of the node. |
handler | ResultHandler responsible to handle the request result. |
Definition at line 448 of file pubsubmanager.h.
|
inline |
Requests the subscriber list for a node.
service | Service to query. |
node | Node ID of the node. |
handler | ResultHandler. |
Definition at line 377 of file pubsubmanager.h.
|
inline |
Requests subscription options.
service | Service to query. |
jid | Subscribed entity. |
node | Node ID of the node. |
handler | The SubscriptionListHandler to handle the result. |
subid | An optional subscription ID. |
Definition at line 199 of file pubsubmanager.h.
|
inline |
Requests the subscription list from a service.
service | Service to query. |
handler | The ResultHandler to handle the result. |
Definition at line 162 of file pubsubmanager.h.
|
inlinevirtual |
Reimplement this function if you want to be notified about incoming IQs.
iq | The complete IQ stanza. |
Implements IqHandler.
Definition at line 490 of file pubsubmanager.h.
|
virtual |
Reimplement this function if you want to be notified about incoming IQs with a specific value of the id
attribute. You have to enable tracking of those IDs using Client::trackID(). This is usually useful for IDs that generate a positive reply, i.e. <iq type='result' id='reg'/> where a namespace filter wouldn't work.
iq | The complete IQ stanza. |
context | A value to restore context, stored with ClientBase::trackID(). |
Implements IqHandler.
Definition at line 993 of file pubsubmanager.cpp.
const std::string publishItem | ( | const JID & | service, |
const std::string & | node, | ||
ItemList & | items, | ||
DataForm * | options, | ||
ResultHandler * | handler | ||
) |
Publish an item to a node. The Tag to publish is destroyed by the function before returning.
service | Service hosting the node. |
node | ID of the node to delete the item from. |
items | One or more items to publish. The items will be owned and deleted by the Manager, even in the error case (empty string returned). |
options | An optional DataForm containing publish options. The DataForm will be owned and deleted by the Manager. |
handler | The handler to handle the result. |
Definition at line 766 of file pubsubmanager.cpp.
const std::string purgeNode | ( | const JID & | service, |
const std::string & | node, | ||
ResultHandler * | handler | ||
) |
Removes all the items from a node.
service | Service to query. |
node | Node ID of the node. |
handler | ResultHandler. |
Definition at line 958 of file pubsubmanager.cpp.
bool removeID | ( | const std::string & | id | ) |
Removes an ID from our tracking lists.
id | The ID to remove. |
Definition at line 979 of file pubsubmanager.cpp.
const std::string requestItems | ( | const JID & | service, |
const std::string & | node, | ||
const std::string & | subid, | ||
int | maxItems, | ||
ResultHandler * | handler | ||
) |
Requests items from a node.
service | Service to query. |
node | Node ID of the node. |
subid | An optional subscription ID. |
maxItems | The optional maximum number of items to return. |
handler | The handler to handle the result. |
Definition at line 718 of file pubsubmanager.cpp.
const std::string requestItems | ( | const JID & | service, |
const std::string & | node, | ||
const std::string & | subid, | ||
const ItemList & | items, | ||
ResultHandler * | handler | ||
) |
Requests specific items from a node.
service | Service to query. |
node | Node ID of the node. |
subid | An optional subscription ID. |
items | The list of item IDs to request. |
handler | The handler to handle the result. |
Definition at line 742 of file pubsubmanager.cpp.
|
inline |
Modifies the affiliate list for a node.
service | Service to query. |
node | Node ID of the node. |
list | ResultHandler. |
handler | ResultHandler. |
Definition at line 431 of file pubsubmanager.h.
|
inline |
Changes a node's configuration (options).
service | Service to query. |
node | Node ID of the node. |
config | The node's configuration DataForm. |
handler | ResultHandler responsible to handle the request result. |
Definition at line 464 of file pubsubmanager.h.
|
inline |
Modifies the subscriber list for a node. This function SHOULD only set the subscriber list to those which needs modification.
service | Service to query. |
node | Node ID of the node. |
list | The subscriber list. |
handler | The ResultHandler. |
Definition at line 396 of file pubsubmanager.h.
|
inline |
Modifies subscription options.
service | Service to query. |
jid | Subscribed entity. |
node | Node ID of the node. |
df | New configuration. The DataForm will be owned and deleted by the Manager. |
handler | The handler to handle the result. |
subid | An optional subscription ID. |
Definition at line 219 of file pubsubmanager.h.
const std::string subscribe | ( | const JID & | service, |
const std::string & | node, | ||
ResultHandler * | handler, | ||
const JID & | jid = JID() , |
||
SubscriptionObject | type = SubscriptionNodes , |
||
int | depth = 1 , |
||
const std::string & | expire = EmptyString |
||
) |
Subscribe to a node.
service | Service hosting the node. |
node | ID of the node to subscribe to. |
handler | The ResultHandler. |
jid | JID to subscribe. If empty, the client's JID will be used (ie. self subscription). |
type | SubscriptionType of the subscription (Collections only). |
depth | Subscription depth. For 'all', use 0 (Collections only). |
expire | Subscription expiry. Defaults to the empty string. |
Definition at line 599 of file pubsubmanager.cpp.
const std::string subscribe | ( | const JID & | service, |
const std::string & | node, | ||
ResultHandler * | handler, | ||
const JID & | jid, | ||
DataForm * | options | ||
) |
Subscribe to a node and configure options.
service | Service hosting the node. |
node | ID of the node to subscribe to. |
handler | The ResultHandler. |
jid | JID to subscribe. If empty, the client's JID will be used (ie. self subscription). |
options | The options to configure while subscribing. Should be a TypeSubmit form, with a field named FORM_TYPE having the value http://jabber.org/protocol/pubsub#subscribe_options See XEP-0060, "Subscribe and Configure". Will be owned and deleted by the PubSub object. |
Definition at line 639 of file pubsubmanager.cpp.
const std::string unsubscribe | ( | const JID & | service, |
const std::string & | node, | ||
const std::string & | subid, | ||
ResultHandler * | handler, | ||
const JID & | jid = JID() |
||
) |
Unsubscribe from a node.
service | Service hosting the node. |
node | ID of the node to unsubscribe from. |
subid | An optional, additional subscription ID. |
handler | ResultHandler receiving the result notification. |
jid | JID to unsubscribe. If empty, the client's JID will be used (ie self unsubscription). |
Definition at line 666 of file pubsubmanager.cpp.