From b17284ee7d674416e0d11f1699f73fcc606262d4 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Tue, 16 Aug 2022 21:00:15 +0200 Subject: Introduce QXmppTask & QXmppPromise MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #502. Co-authored-by: Jonah BrĂ¼chert --- src/client/QXmppPubSubManager.cpp | 59 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 30 deletions(-) (limited to 'src/client/QXmppPubSubManager.cpp') diff --git a/src/client/QXmppPubSubManager.cpp b/src/client/QXmppPubSubManager.cpp index 1582c65e..a10fc25b 100644 --- a/src/client/QXmppPubSubManager.cpp +++ b/src/client/QXmppPubSubManager.cpp @@ -17,7 +17,6 @@ #include "QXmppUtils.h" #include -#include using namespace QXmpp::Private; @@ -211,7 +210,7 @@ QXmppPubSubManager::~QXmppPubSubManager() /// \param serviceJid JID of the entity hosting the pubsub service /// \param serviceType type of service to retrieve features for /// -QFuture QXmppPubSubManager::requestFeatures(const QString &serviceJid, ServiceType serviceType) +QXmppTask QXmppPubSubManager::requestFeatures(const QString &serviceJid, ServiceType serviceType) { QXmppDiscoveryIq request; request.setType(QXmppIq::Get); @@ -259,7 +258,7 @@ QFuture QXmppPubSubManager::requestFeatures( /// \param jid Jabber ID of the entity hosting the pubsub service /// \return /// -QFuture QXmppPubSubManager::requestNodes(const QString &jid) +QXmppTask QXmppPubSubManager::requestNodes(const QString &jid) { QXmppDiscoveryIq request; request.setType(QXmppIq::Get); @@ -293,7 +292,7 @@ QFuture QXmppPubSubManager::requestNodes(const /// \param nodeName the name of the node to be created /// \return /// -auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName) -> QFuture +auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -316,7 +315,7 @@ auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName) /// \param config The configuration for the node /// \return /// -auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName, const QXmppPubSubNodeConfig &config) -> QFuture +auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName, const QXmppPubSubNodeConfig &config) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -337,7 +336,7 @@ auto QXmppPubSubManager::createNode(const QString &jid, const QString &nodeName, /// \param jid Jabber ID of the entity hosting the pubsub service /// \return /// -QFuture QXmppPubSubManager::createInstantNode(const QString &jid) +QXmppTask QXmppPubSubManager::createInstantNode(const QString &jid) { PubSubIq request; request.setType(QXmppIq::Set); @@ -360,7 +359,7 @@ QFuture QXmppPubSubManager::createInstant /// \param config The configuration for the node /// \return /// -auto QXmppPubSubManager::createInstantNode(const QString &jid, const QXmppPubSubNodeConfig &config) -> QFuture +auto QXmppPubSubManager::createInstantNode(const QString &jid, const QXmppPubSubNodeConfig &config) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -381,7 +380,7 @@ auto QXmppPubSubManager::createInstantNode(const QString &jid, const QXmppPubSub /// \param nodeName the name of the node to delete along with all of its items /// \return /// -auto QXmppPubSubManager::deleteNode(const QString &jid, const QString &nodeName) -> QFuture +auto QXmppPubSubManager::deleteNode(const QString &jid, const QString &nodeName) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -403,7 +402,7 @@ auto QXmppPubSubManager::deleteNode(const QString &jid, const QString &nodeName) /// \param nodeName the name of the node whose items are requested /// \return /// -QFuture QXmppPubSubManager::requestItemIds(const QString &serviceJid, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestItemIds(const QString &serviceJid, const QString &nodeName) { QXmppDiscoveryIq request; request.setType(QXmppIq::Get); @@ -430,7 +429,7 @@ QFuture QXmppPubSubManager::requestItemIds(co /// \param itemId the ID of the item to delete /// \return /// -auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName, const QString &itemId) -> QFuture +auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName, const QString &itemId) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -449,7 +448,7 @@ auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName /// \param nodeName the name of the node to delete the item from /// \param itemId the ID of the item to delete /// -auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName, StandardItemId itemId) -> QFuture +auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName, StandardItemId itemId) -> QXmppTask { return retractItem(jid, nodeName, standardItemIdToString(itemId)); } @@ -462,7 +461,7 @@ auto QXmppPubSubManager::retractItem(const QString &jid, const QString &nodeName /// items /// \return /// -auto QXmppPubSubManager::purgeItems(const QString &jid, const QString &nodeName) -> QFuture +auto QXmppPubSubManager::purgeItems(const QString &jid, const QString &nodeName) -> QXmppTask { PubSubIq request; request.setType(QXmppIq::Set); @@ -479,7 +478,7 @@ auto QXmppPubSubManager::purgeItems(const QString &jid, const QString &nodeName) /// \param jid JID of the pubsub service /// \return /// -QFuture QXmppPubSubManager::requestSubscriptions(const QString &jid) +QXmppTask QXmppPubSubManager::requestSubscriptions(const QString &jid) { return requestSubscriptions(jid, {}); } @@ -491,7 +490,7 @@ QFuture QXmppPubSubManager::requestSubs /// \param nodeName Name of the node on the pubsub service /// \return /// -QFuture QXmppPubSubManager::requestSubscriptions(const QString &jid, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestSubscriptions(const QString &jid, const QString &nodeName) { PubSubIq request; request.setType(QXmppIq::Get); @@ -515,7 +514,7 @@ QFuture QXmppPubSubManager::requestSubs /// \param nodeName Name of the pubsub node on the service. /// \return /// -QFuture QXmppPubSubManager::requestNodeAffiliations(const QString &jid, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestNodeAffiliations(const QString &jid, const QString &nodeName) { PubSubIq request; request.setType(QXmppIq::Get); @@ -535,7 +534,7 @@ QFuture QXmppPubSubManager::requestNodeA /// \param jid JID of the pubsub service /// \return /// -QFuture QXmppPubSubManager::requestAffiliations(const QString &jid) +QXmppTask QXmppPubSubManager::requestAffiliations(const QString &jid) { return requestAffiliations(jid, {}); } @@ -547,7 +546,7 @@ QFuture QXmppPubSubManager::requestAffil /// \param nodeName Name of the pubsub node on the service. /// \return /// -QFuture QXmppPubSubManager::requestAffiliations(const QString &jid, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestAffiliations(const QString &jid, const QString &nodeName) { PubSubIq request; request.setType(QXmppIq::Get); @@ -568,7 +567,7 @@ QFuture QXmppPubSubManager::requestAffil /// \param nodeName Name of the pubsub node on the service. /// \return /// -QFuture QXmppPubSubManager::requestSubscribeOptions(const QString &service, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestSubscribeOptions(const QString &service, const QString &nodeName) { return requestSubscribeOptions(service, nodeName, client()->configuration().jidBare()); } @@ -581,7 +580,7 @@ QFuture QXmppPubSubManager::requestSubscribeO /// \param subscriberJid JID of the user to request the options for /// \return /// -QFuture QXmppPubSubManager::requestSubscribeOptions(const QString &service, const QString &nodeName, const QString &subscriberJid) +QXmppTask QXmppPubSubManager::requestSubscribeOptions(const QString &service, const QString &nodeName, const QString &subscriberJid) { PubSubIq request; request.setType(QXmppIq::Get); @@ -614,7 +613,7 @@ QFuture QXmppPubSubManager::requestSubscribeO /// \param options The new options to be set /// \return /// -QFuture QXmppPubSubManager::setSubscribeOptions(const QString &service, const QString &nodeName, const QXmppPubSubSubscribeOptions &options) +QXmppTask QXmppPubSubManager::setSubscribeOptions(const QString &service, const QString &nodeName, const QXmppPubSubSubscribeOptions &options) { return setSubscribeOptions(service, nodeName, options, client()->configuration().jidBare()); } @@ -628,7 +627,7 @@ QFuture QXmppPubSubManager::setSubscribeOptions(cons /// \param subscriberJid The JID of the user /// \return /// -QFuture QXmppPubSubManager::setSubscribeOptions(const QString &service, const QString &nodeName, const QXmppPubSubSubscribeOptions &options, const QString &subscriberJid) +QXmppTask QXmppPubSubManager::setSubscribeOptions(const QString &service, const QString &nodeName, const QXmppPubSubSubscribeOptions &options, const QString &subscriberJid) { PubSubIq request; request.setType(QXmppIq::Set); @@ -654,7 +653,7 @@ QFuture QXmppPubSubManager::setSubscribeOptions(cons /// \sa configureNode() /// \sa cancelNodeConfiguration() /// -QFuture QXmppPubSubManager::requestNodeConfiguration(const QString &service, const QString &nodeName) +QXmppTask QXmppPubSubManager::requestNodeConfiguration(const QString &service, const QString &nodeName) { using Error = QXmppStanza::Error; @@ -689,7 +688,7 @@ QFuture QXmppPubSubManager::requestNodeCon /// /// \sa requestNodeConfiguration() /// -QFuture QXmppPubSubManager::configureNode(const QString &service, const QString &nodeName, const QXmppPubSubNodeConfig &config) +QXmppTask QXmppPubSubManager::configureNode(const QString &service, const QString &nodeName, const QXmppPubSubNodeConfig &config) { PubSubIq request; request.setType(QXmppIq::Set); @@ -710,7 +709,7 @@ QFuture QXmppPubSubManager::configureNode(const QStr /// /// \sa requestNodeConfiguration() /// -QFuture QXmppPubSubManager::cancelNodeConfiguration(const QString &service, const QString &nodeName) +QXmppTask QXmppPubSubManager::cancelNodeConfiguration(const QString &service, const QString &nodeName) { PubSubIq request; request.setType(QXmppIq::Set); @@ -730,7 +729,7 @@ QFuture QXmppPubSubManager::cancelNodeConfiguration( /// \param nodeName name of the pubsub node being subscribed /// \param subscriberJid bare or full JID of the subscriber /// -QFuture QXmppPubSubManager::subscribeToNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) +QXmppTask QXmppPubSubManager::subscribeToNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) { PubSubIq request; request.setType(QXmppIq::Set); @@ -750,7 +749,7 @@ QFuture QXmppPubSubManager::subscribeToNode(const QS /// \param nodeName name of the pubsub node being subscribed /// \param subscriberJid bare or full JID of the subscriber /// -QFuture QXmppPubSubManager::unsubscribeFromNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) +QXmppTask QXmppPubSubManager::unsubscribeFromNode(const QString &serviceJid, const QString &nodeName, const QString &subscriberJid) { PubSubIq request; request.setType(QXmppIq::Set); @@ -785,7 +784,7 @@ QFuture QXmppPubSubManager::unsubscribeFromNode(cons /// /// -/// \fn QFuture QXmppPubSubManager::createOwnPepNode(const QString &nodeName) +/// \fn QXmppTask QXmppPubSubManager::createOwnPepNode(const QString &nodeName) /// /// Creates an empty PEP node with the default configuration. /// @@ -801,7 +800,7 @@ QFuture QXmppPubSubManager::unsubscribeFromNode(cons /// /// -/// \fn QFuture QXmppPubSubManager::createOwnPepNode(const QString &nodeName, const QXmppPubSubNodeConfig &config) +/// \fn QXmppTask QXmppPubSubManager::createOwnPepNode(const QString &nodeName, const QXmppPubSubNodeConfig &config) /// /// Creates an empty PEP node with a custom configuration. /// @@ -1024,7 +1023,7 @@ PubSubIq<> QXmppPubSubManager::requestItemsIq(const QString &jid, const QString return request; } -auto QXmppPubSubManager::publishItem(PubSubIqBase &&request) -> QFuture +auto QXmppPubSubManager::publishItem(PubSubIqBase &&request) -> QXmppTask { request.setType(QXmppIq::Set); request.setQueryType(PubSubIqBase::Publish); @@ -1039,7 +1038,7 @@ auto QXmppPubSubManager::publishItem(PubSubIqBase &&request) -> QFuture QFuture +auto QXmppPubSubManager::publishItems(PubSubIqBase &&request) -> QXmppTask { request.setType(QXmppIq::Set); request.setQueryType(PubSubIqBase::Publish); -- cgit v1.2.3