From 5cf3038e74983c45cf27d77214ec548db5d36572 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 22 May 2022 19:16:45 +0200 Subject: Client: Add SendStanzaParams parameter to send functions It can already be used by E2eeExtension. --- src/client/QXmppClient.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'src/client/QXmppClient.cpp') diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp index 650e9991..76c9ea25 100644 --- a/src/client/QXmppClient.cpp +++ b/src/client/QXmppClient.cpp @@ -406,7 +406,7 @@ bool QXmppClient::sendPacket(const QXmppNonza &packet) /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::send(QXmppStanza &&stanza) +QFuture QXmppClient::send(QXmppStanza &&stanza, const std::optional ¶ms) { const auto sendEncrypted = [this](QFuture &&future) { QFutureInterface interface(QFutureInterfaceBase::Started); @@ -427,9 +427,13 @@ QFuture QXmppClient::send(QXmppStanza &&stanza) if (d->encryptionExtension) { if (dynamic_cast(&stanza)) { - return sendEncrypted(d->encryptionExtension->encryptMessage(std::move(dynamic_cast(stanza)))); + return sendEncrypted( + d->encryptionExtension->encryptMessage( + std::move(dynamic_cast(stanza)), params)); } else if (dynamic_cast(&stanza)) { - return sendEncrypted(d->encryptionExtension->encryptIq(std::move(dynamic_cast(stanza)))); + return sendEncrypted( + d->encryptionExtension->encryptIq( + std::move(dynamic_cast(stanza)), params)); } } return d->stream->send(stanza); @@ -449,7 +453,7 @@ QFuture QXmppClient::send(QXmppStanza &&stanza) /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::sendUnencrypted(QXmppStanza &&stanza) +QFuture QXmppClient::sendUnencrypted(QXmppStanza &&stanza, const std::optional &) { return d->stream->send(stanza); } @@ -463,14 +467,14 @@ QFuture QXmppClient::sendUnencrypted(QXmppStanza &&stanza) /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::reply(QXmppStanza &&stanza, const std::optional &e2eeMetadata) +QFuture QXmppClient::reply(QXmppStanza &&stanza, const std::optional &e2eeMetadata, const std::optional ¶ms) { // This should pick the right e2ee manager as soon as multiple encryptions // in parallel are supported. if (e2eeMetadata) { - return send(std::move(stanza)); + return send(std::move(stanza), params); } - return sendUnencrypted(std::move(stanza)); + return sendUnencrypted(std::move(stanza), params); } /// @@ -488,7 +492,7 @@ QFuture QXmppClient::reply(QXmppStanza &&stanza, const std::o /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::sendIq(QXmppIq &&iq) +QFuture QXmppClient::sendIq(QXmppIq &&iq, const std::optional &) { return d->stream->sendIq(std::move(iq)); } @@ -506,7 +510,7 @@ QFuture QXmppClient::sendIq(QXmppIq &&iq) /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::sendSensitiveIq(QXmppIq &&iq) +QFuture QXmppClient::sendSensitiveIq(QXmppIq &&iq, const std::optional ¶ms) { const auto sendEncrypted = [this](QFuture &&future, const QString &id) { QFutureInterface interface(QFutureInterfaceBase::Started); @@ -559,7 +563,7 @@ QFuture QXmppClient::sendSensitiveIq(QXmppIq &&iq) if (d->encryptionExtension) { const auto id = iq.id(); - return sendEncrypted(d->encryptionExtension->encryptIq(std::move(iq)), id); + return sendEncrypted(d->encryptionExtension->encryptIq(std::move(iq), params), id); } return d->stream->sendIq(std::move(iq)); } @@ -577,7 +581,7 @@ QFuture QXmppClient::sendSensitiveIq(QXmppIq &&iq) /// /// \since QXmpp 1.5 /// -QFuture QXmppClient::sendGenericIq(QXmppIq &&iq) +QFuture QXmppClient::sendGenericIq(QXmppIq &&iq, const std::optional &) { return chainIq(sendIq(std::move(iq)), this, [](const QXmppIq &) -> EmptyResult { return QXmpp::Success(); -- cgit v1.2.3