aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppMessageReceiptManager.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-05-06 17:08:57 +0200
committerLinus Jahn <lnj@kaidan.im>2022-05-20 17:28:43 +0200
commitcb8029c7644f3d31503ccea7b14f546589c7c326 (patch)
tree579d4086079640166a99b354baa9a7bbf083d2da /src/client/QXmppMessageReceiptManager.cpp
parent62e2248c30d72ff9c8e2a9acc265d8c39f3c83ca (diff)
downloadqxmpp-cb8029c7644f3d31503ccea7b14f546589c7c326.tar.gz
MessageReceiptHandler: Implement MessageHandler
Diffstat (limited to 'src/client/QXmppMessageReceiptManager.cpp')
-rw-r--r--src/client/QXmppMessageReceiptManager.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/client/QXmppMessageReceiptManager.cpp b/src/client/QXmppMessageReceiptManager.cpp
index 23066bd9..b8e5c90e 100644
--- a/src/client/QXmppMessageReceiptManager.cpp
+++ b/src/client/QXmppMessageReceiptManager.cpp
@@ -26,17 +26,11 @@ QStringList QXmppMessageReceiptManager::discoveryFeatures() const
return QStringList(ns_message_receipts);
}
-bool QXmppMessageReceiptManager::handleStanza(const QDomElement &stanza)
+bool QXmppMessageReceiptManager::handleMessage(const QXmppMessage &message)
{
- if (stanza.tagName() != "message")
+ if (message.type() == QXmppMessage::Error) {
return false;
-
- QXmppMessage message;
- message.parse(stanza);
-
- if (message.type() == QXmppMessage::Error)
- return false;
-
+ }
// Handle receipts and cancel any further processing.
if (!message.receiptId().isEmpty()) {
// Buggy clients also mark carbon messages as received; to avoid this
@@ -52,7 +46,7 @@ bool QXmppMessageReceiptManager::handleStanza(const QDomElement &stanza)
QXmppMessage receipt;
receipt.setTo(message.from());
receipt.setReceiptId(message.id());
- client()->sendPacket(receipt);
+ client()->reply(std::move(receipt), message.e2eeMetadata());
}
// Continue processing.