aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppPacket.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-08-16 21:00:15 +0200
committerLinus Jahn <lnj@kaidan.im>2023-01-03 22:05:54 +0100
commitb17284ee7d674416e0d11f1699f73fcc606262d4 (patch)
tree86597f2bc2a1ed2d257e0cbf8e7de1ca54080c08 /src/base/QXmppPacket.cpp
parent3271c6642439d4d3c0d8c634e2b3f4cf17b908a0 (diff)
downloadqxmpp-b17284ee7d674416e0d11f1699f73fcc606262d4.tar.gz
Introduce QXmppTask & QXmppPromise
Closes #502. Co-authored-by: Jonah BrĂ¼chert <jbb@kaidan.im>
Diffstat (limited to 'src/base/QXmppPacket.cpp')
-rw-r--r--src/base/QXmppPacket.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/base/QXmppPacket.cpp b/src/base/QXmppPacket.cpp
index d61af9da..a0921973 100644
--- a/src/base/QXmppPacket.cpp
+++ b/src/base/QXmppPacket.cpp
@@ -5,7 +5,6 @@
#include "QXmppNonza.h"
#include "QXmppPacket_p.h"
-#include <QFuture>
#include <QXmlStreamWriter>
inline QByteArray serialize(const QXmppNonza &nonza)
@@ -17,17 +16,16 @@ inline QByteArray serialize(const QXmppNonza &nonza)
}
/// \cond
-QXmppPacket::QXmppPacket(const QXmppNonza &nonza, QFutureInterface<QXmpp::SendResult> interface)
+QXmppPacket::QXmppPacket(const QXmppNonza &nonza, QXmppPromise<QXmpp::SendResult> interface)
: QXmppPacket(serialize(nonza), nonza.isXmppStanza(), std::move(interface))
{
}
-QXmppPacket::QXmppPacket(const QByteArray &data, bool isXmppStanza, QFutureInterface<QXmpp::SendResult> interface)
- : m_interface(std::move(interface)),
+QXmppPacket::QXmppPacket(const QByteArray &data, bool isXmppStanza, QXmppPromise<QXmpp::SendResult> interface)
+ : m_promise(std::move(interface)),
m_data(data),
m_isXmppStanza(isXmppStanza)
{
- m_interface.reportStarted();
}
QByteArray QXmppPacket::data() const
@@ -40,18 +38,13 @@ bool QXmppPacket::isXmppStanza() const
return m_isXmppStanza;
}
-QFuture<QXmpp::SendResult> QXmppPacket::future()
+QXmppTask<QXmpp::SendResult> QXmppPacket::task()
{
- return m_interface.future();
+ return m_promise.task();
}
-void QXmppPacket::reportFinished()
+void QXmppPacket::reportFinished(QXmpp::SendResult &&result)
{
- m_interface.reportFinished();
-}
-
-void QXmppPacket::reportResult(const QXmpp::SendResult &result)
-{
- m_interface.reportResult(result);
+ m_promise.finish(std::move(result));
}
/// \endcond