aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppPubSubManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/QXmppPubSubManager.cpp')
-rw-r--r--src/client/QXmppPubSubManager.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/client/QXmppPubSubManager.cpp b/src/client/QXmppPubSubManager.cpp
index aba9f72f..66c2d345 100644
--- a/src/client/QXmppPubSubManager.cpp
+++ b/src/client/QXmppPubSubManager.cpp
@@ -643,6 +643,46 @@ QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::cancelNodeConfiguration(
}
///
+/// Subscribes to a node.
+///
+/// \warning THIS API IS NOT FINALIZED YET!
+///
+/// \param serviceJid JID of the pubsub service
+/// \param nodeName name of the pubsub node being subscribed
+/// \param subscriberJid bare or full JID of the subscriber
+///
+QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::subscribeToNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid)
+{
+ QXmppPubSubIq request;
+ request.setType(QXmppIq::Set);
+ request.setTo(serviceJid);
+ request.setQueryNode(nodeName);
+ request.setQueryType(QXmppPubSubIq<>::Subscribe);
+ request.setQueryJid(subscriberJid);
+ return client()->sendGenericIq(std::move(request));
+}
+
+///
+/// Unsubscribes from a node.
+///
+/// \warning THIS API IS NOT FINALIZED YET!
+///
+/// \param serviceJid JID of the pubsub service
+/// \param nodeName name of the pubsub node being subscribed
+/// \param subscriberJid bare or full JID of the subscriber
+///
+QFuture<QXmppPubSubManager::Result> QXmppPubSubManager::unsubscribeFromNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid)
+{
+ QXmppPubSubIq request;
+ request.setType(QXmppIq::Set);
+ request.setTo(serviceJid);
+ request.setQueryNode(nodeName);
+ request.setQueryType(QXmppPubSubIq<>::Unsubscribe);
+ request.setQueryJid(subscriberJid);
+ return client()->sendGenericIq(std::move(request));
+}
+
+///
/// \fn QFuture<Result> QXmppPubSubManager::createPepNode(const QString &nodeName)
///
/// Creates an empty PEP node with the default configuration.