aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStream.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2021-09-05 16:02:37 +0200
committerLinus Jahn <lnj@kaidan.im>2021-09-28 17:08:08 +0200
commit22be2464b5d253e840d4731fbc86e9633a394e8c (patch)
tree341eea345bd621cd4ef045a79aca57129075ee8d /src/base/QXmppStream.h
parent21a198fd66e7c35622fce0b08c306553a4e4ff5a (diff)
downloadqxmpp-22be2464b5d253e840d4731fbc86e9633a394e8c.tar.gz
QXmppStream: Allow to use existing future interface
Diffstat (limited to 'src/base/QXmppStream.h')
-rw-r--r--src/base/QXmppStream.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h
index e1fd31ac..3c321921 100644
--- a/src/base/QXmppStream.h
+++ b/src/base/QXmppStream.h
@@ -29,6 +29,7 @@
#include "QXmppSendResult.h"
#include <variant>
+#include <memory>
#include <QAbstractSocket>
#include <QObject>
@@ -36,6 +37,8 @@
class QDomElement;
template<typename T>
class QFuture;
+template<typename T>
+class QFutureInterface;
class QSslSocket;
class QXmppIq;
class QXmppNonza;
@@ -58,10 +61,13 @@ public:
bool sendPacket(const QXmppNonza &);
QFuture<QXmpp::SendResult> send(QXmppNonza &&);
+ QFuture<QXmpp::SendResult> send(QXmppPacket &&);
using IqResult = std::variant<QDomElement, QXmpp::SendError>;
QFuture<IqResult> sendIq(QXmppIq &&);
+ QFuture<IqResult> sendIq(QXmppPacket &&, const QString &id);
void cancelOngoingIqs();
+ bool hasIqId(const QString &id) const;
void resetPacketCache();
@@ -110,7 +116,7 @@ private:
friend class tst_QXmppStream;
friend class TestClient;
- QFuture<QXmpp::SendResult> send(QXmppNonza &&, bool &);
+ QFuture<QXmpp::SendResult> send(QXmppPacket &&, bool &);
void processData(const QString &data);
bool handleIqResponse(const QDomElement &);