aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-05-22 19:16:45 +0200
committerLinus Jahn <lnj@kaidan.im>2022-05-22 19:35:56 +0200
commit5cf3038e74983c45cf27d77214ec548db5d36572 (patch)
tree8f368a41126415af0cdf6506ef5d9ec01359329a /src/client/QXmppClient.cpp
parent4a146238b0ddaed6e59f92c0f75536695a9f6b6c (diff)
Client: Add SendStanzaParams parameter to send functions
It can already be used by E2eeExtension.
Diffstat (limited to 'src/client/QXmppClient.cpp')
-rw-r--r--src/client/QXmppClient.cpp26
1 files changed, 15 insertions, 11 deletions
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<QXmpp::SendResult> QXmppClient::send(QXmppStanza &&stanza)
+QFuture<QXmpp::SendResult> QXmppClient::send(QXmppStanza &&stanza, const std::optional<QXmppSendStanzaParams> &params)
{
const auto sendEncrypted = [this](QFuture<MessageEncryptResult> &&future) {
QFutureInterface<QXmpp::SendResult> interface(QFutureInterfaceBase::Started);
@@ -427,9 +427,13 @@ QFuture<QXmpp::SendResult> QXmppClient::send(QXmppStanza &&stanza)
if (d->encryptionExtension) {
if (dynamic_cast<QXmppMessage *>(&stanza)) {
- return sendEncrypted(d->encryptionExtension->encryptMessage(std::move(dynamic_cast<QXmppMessage &&>(stanza))));
+ return sendEncrypted(
+ d->encryptionExtension->encryptMessage(
+ std::move(dynamic_cast<QXmppMessage &&>(stanza)), params));
} else if (dynamic_cast<QXmppIq *>(&stanza)) {
- return sendEncrypted(d->encryptionExtension->encryptIq(std::move(dynamic_cast<QXmppIq &&>(stanza))));
+ return sendEncrypted(
+ d->encryptionExtension->encryptIq(
+ std::move(dynamic_cast<QXmppIq &&>(stanza)), params));
}
}
return d->stream->send(stanza);
@@ -449,7 +453,7 @@ QFuture<QXmpp::SendResult> QXmppClient::send(QXmppStanza &&stanza)
///
/// \since QXmpp 1.5
///
-QFuture<QXmpp::SendResult> QXmppClient::sendUnencrypted(QXmppStanza &&stanza)
+QFuture<QXmpp::SendResult> QXmppClient::sendUnencrypted(QXmppStanza &&stanza, const std::optional<QXmppSendStanzaParams> &)
{
return d->stream->send(stanza);
}
@@ -463,14 +467,14 @@ QFuture<QXmpp::SendResult> QXmppClient::sendUnencrypted(QXmppStanza &&stanza)
///
/// \since QXmpp 1.5
///
-QFuture<QXmpp::SendResult> QXmppClient::reply(QXmppStanza &&stanza, const std::optional<QXmppE2eeMetadata> &e2eeMetadata)
+QFuture<QXmpp::SendResult> QXmppClient::reply(QXmppStanza &&stanza, const std::optional<QXmppE2eeMetadata> &e2eeMetadata, const std::optional<QXmppSendStanzaParams> &params)
{
// 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<QXmpp::SendResult> QXmppClient::reply(QXmppStanza &&stanza, const std::o
///
/// \since QXmpp 1.5
///
-QFuture<QXmppClient::IqResult> QXmppClient::sendIq(QXmppIq &&iq)
+QFuture<QXmppClient::IqResult> QXmppClient::sendIq(QXmppIq &&iq, const std::optional<QXmppSendStanzaParams> &)
{
return d->stream->sendIq(std::move(iq));
}
@@ -506,7 +510,7 @@ QFuture<QXmppClient::IqResult> QXmppClient::sendIq(QXmppIq &&iq)
///
/// \since QXmpp 1.5
///
-QFuture<QXmppClient::IqResult> QXmppClient::sendSensitiveIq(QXmppIq &&iq)
+QFuture<QXmppClient::IqResult> QXmppClient::sendSensitiveIq(QXmppIq &&iq, const std::optional<QXmppSendStanzaParams> &params)
{
const auto sendEncrypted = [this](QFuture<IqEncryptResult> &&future, const QString &id) {
QFutureInterface<IqResult> interface(QFutureInterfaceBase::Started);
@@ -559,7 +563,7 @@ QFuture<QXmppClient::IqResult> 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::IqResult> QXmppClient::sendSensitiveIq(QXmppIq &&iq)
///
/// \since QXmpp 1.5
///
-QFuture<QXmppClient::EmptyResult> QXmppClient::sendGenericIq(QXmppIq &&iq)
+QFuture<QXmppClient::EmptyResult> QXmppClient::sendGenericIq(QXmppIq &&iq, const std::optional<QXmppSendStanzaParams> &)
{
return chainIq(sendIq(std::move(iq)), this, [](const QXmppIq &) -> EmptyResult {
return QXmpp::Success();