diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-04-07 18:38:22 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-04-09 22:27:10 +0200 |
| commit | f78931350a05c950a7e650805d5db02ae7b9ac86 (patch) | |
| tree | 17f0ac4f7952ef0d017eea57931e265a0c4bf14a /src/client/QXmppPubSubManager.cpp | |
| parent | 0655b3eb3e2d110434b0d6f4d1ddee7697f1c0b6 (diff) | |
| download | qxmpp-f78931350a05c950a7e650805d5db02ae7b9ac86.tar.gz | |
PubSubManager: Add subscribeToNode()/unsubscribeFromNode()
Diffstat (limited to 'src/client/QXmppPubSubManager.cpp')
| -rw-r--r-- | src/client/QXmppPubSubManager.cpp | 40 |
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. |
