aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStream.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2020-09-09 15:05:23 +0200
committerLinus Jahn <lnj@kaidan.im>2021-06-27 20:17:17 +0200
commit3caffcebf16680576d8dd785437eed16a6c5f36d (patch)
tree0805a42decacdda2ace8d43196c25fe21a6fad79 /src/base/QXmppStream.h
parent7e936d200db4855ceaf9eabc1e84c3574a12ec98 (diff)
downloadqxmpp-3caffcebf16680576d8dd785437eed16a6c5f36d.tar.gz
Add reporting of IQ responses with QFutures
Diffstat (limited to 'src/base/QXmppStream.h')
-rw-r--r--src/base/QXmppStream.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h
index 65547814..91bf7d09 100644
--- a/src/base/QXmppStream.h
+++ b/src/base/QXmppStream.h
@@ -27,6 +27,8 @@
#include "QXmppLogger.h"
+#include <variant>
+
#include <QAbstractSocket>
#include <QObject>
@@ -34,6 +36,7 @@ class QDomElement;
template<typename T>
class QFuture;
class QSslSocket;
+class QXmppIq;
class QXmppPacket;
class QXmppStanza;
class QXmppStreamPrivate;
@@ -54,6 +57,10 @@ public:
bool sendPacket(const QXmppStanza &);
QFuture<QXmpp::PacketState> send(const QXmppStanza &);
+ using IqResult = std::variant<QDomElement, QXmpp::PacketState>;
+ QFuture<IqResult> sendIq(const QXmppIq &);
+ void cancelOngoingIqs();
+
void resetPacketCache();
Q_SIGNALS:
@@ -102,6 +109,7 @@ private:
void processData(const QString &data);
void sendPacket(QXmppPacket &packet);
+ bool handleIqResponse(const QDomElement &);
QXmppStreamPrivate *const d;
};