diff options
| author | Linus Jahn <lnj@kaidan.im> | 2021-09-05 16:02:37 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2021-09-28 17:08:08 +0200 |
| commit | 22be2464b5d253e840d4731fbc86e9633a394e8c (patch) | |
| tree | 341eea345bd621cd4ef045a79aca57129075ee8d /src/base/QXmppStream.h | |
| parent | 21a198fd66e7c35622fce0b08c306553a4e4ff5a (diff) | |
| download | qxmpp-22be2464b5d253e840d4731fbc86e9633a394e8c.tar.gz | |
QXmppStream: Allow to use existing future interface
Diffstat (limited to 'src/base/QXmppStream.h')
| -rw-r--r-- | src/base/QXmppStream.h | 8 |
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 &); |
