aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppDiscoveryManager.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2021-04-28 18:26:21 +0200
committerLinus Jahn <lnj@kaidan.im>2021-06-27 20:17:18 +0200
commitc02b2a1d93b75e5210a2024b398df83c121ae7e7 (patch)
tree6d810590cf3f5acb3af7692c0723d7253dd6abfc /src/client/QXmppDiscoveryManager.h
parent9c9377f609d87578051ab6521544d1f3d80b8011 (diff)
downloadqxmpp-c02b2a1d93b75e5210a2024b398df83c121ae7e7.tar.gz
DiscoveryManager: Add QFuture-based requests
Diffstat (limited to 'src/client/QXmppDiscoveryManager.h')
-rw-r--r--src/client/QXmppDiscoveryManager.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/client/QXmppDiscoveryManager.h b/src/client/QXmppDiscoveryManager.h
index 81500b69..727d876a 100644
--- a/src/client/QXmppDiscoveryManager.h
+++ b/src/client/QXmppDiscoveryManager.h
@@ -26,6 +26,10 @@
#include "QXmppClientExtension.h"
+#include <variant>
+
+template<typename T>
+class QFuture;
class QXmppDataForm;
class QXmppDiscoveryIq;
class QXmppDiscoveryManagerPrivate;
@@ -48,6 +52,11 @@ public:
QString requestInfo(const QString& jid, const QString& node = QString());
QString requestItems(const QString& jid, const QString& node = QString());
+ using InfoResult = std::variant<QXmppDiscoveryIq, QXmppStanza::Error>;
+ using ItemsResult = std::variant<QList<QXmppDiscoveryIq::Item>, QXmppStanza::Error>;
+ QFuture<InfoResult> requestDiscoInfo(const QString &jid, const QString &node = {});
+ QFuture<ItemsResult> requestDiscoItems(const QString &jid, const QString &node = {});
+
QString clientCapabilitiesNode() const;
void setClientCapabilitiesNode(const QString&);