From b17284ee7d674416e0d11f1699f73fcc606262d4 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Tue, 16 Aug 2022 21:00:15 +0200 Subject: Introduce QXmppTask & QXmppPromise MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #502. Co-authored-by: Jonah BrĂ¼chert --- src/base/QXmppPacket.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'src/base/QXmppPacket.cpp') 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 #include inline QByteArray serialize(const QXmppNonza &nonza) @@ -17,17 +16,16 @@ inline QByteArray serialize(const QXmppNonza &nonza) } /// \cond -QXmppPacket::QXmppPacket(const QXmppNonza &nonza, QFutureInterface interface) +QXmppPacket::QXmppPacket(const QXmppNonza &nonza, QXmppPromise interface) : QXmppPacket(serialize(nonza), nonza.isXmppStanza(), std::move(interface)) { } -QXmppPacket::QXmppPacket(const QByteArray &data, bool isXmppStanza, QFutureInterface interface) - : m_interface(std::move(interface)), +QXmppPacket::QXmppPacket(const QByteArray &data, bool isXmppStanza, QXmppPromise 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 QXmppPacket::future() +QXmppTask 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 -- cgit v1.2.3