telepathy-qt: !Hackish! BaseChannelMessagesInterface::sendMessage: Token added to message header.

David Edmundson davidedmundson at kemper.freedesktop.org
Mon Aug 18 07:42:03 PDT 2014


Module: telepathy-qt
Branch: master
Commit: 6cb774eb3994b513e321a91cfcc2d29b9aa494c3
URL:    http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=6cb774eb3994b513e321a91cfcc2d29b9aa494c3

Author: Alexandr Akulich <akulichalexander at gmail.com>
Date:   Fri Aug 15 01:36:47 2014 +0600

!Hackish! BaseChannelMessagesInterface::sendMessage: Token added to message header.

---

 TelepathyQt/base-channel.cpp |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/TelepathyQt/base-channel.cpp b/TelepathyQt/base-channel.cpp
index c1c6307..43808af 100644
--- a/TelepathyQt/base-channel.cpp
+++ b/TelepathyQt/base-channel.cpp
@@ -689,12 +689,19 @@ QString BaseChannelMessagesInterface::sendMessage(const Tp::MessagePartList &mes
         error->set(TP_QT_ERROR_NOT_IMPLEMENTED, QLatin1String("Not implemented"));
         return QString();
     }
-    QString token = mPriv->sendMessageCB(message, flags, error);
+    const QString token = mPriv->sendMessageCB(message, flags, error);
+
+    Tp::MessagePartList messageWithToken = message;
+
+    MessagePart header = messageWithToken.front();
+    header[QLatin1String("message-token")] = QDBusVariant(token);
+
+    messageWithToken.replace(0, header);
 
     //emit after return
     QMetaObject::invokeMethod(mPriv->adaptee, "messageSent",
                               Qt::QueuedConnection,
-                              Q_ARG(Tp::MessagePartList, message),
+                              Q_ARG(Tp::MessagePartList, messageWithToken),
                               Q_ARG(uint, flags),
                               Q_ARG(QString, token));
 
@@ -702,7 +709,6 @@ QString BaseChannelMessagesInterface::sendMessage(const Tp::MessagePartList &mes
         warning() << "Sending empty message";
         return token;
     }
-    const MessagePart &header = message.front();
 
     uint timestamp = 0;
     if (header.count(QLatin1String("message-received")))



More information about the telepathy-commits mailing list