telepathy-qt: BaseChannelTextType: Refactored protected API
Alexandr Akulich
kaffeine at kemper.freedesktop.org
Fri Sep 16 08:46:58 UTC 2016
Module: telepathy-qt
Branch: master
Commit: 58ba02778eb29f1f1412fd1a050bbdf55893ad09
URL: http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=58ba02778eb29f1f1412fd1a050bbdf55893ad09
Author: Alexandr Akulich <akulichalexander at gmail.com>
Date: Mon Jul 11 20:09:49 2016 +0500
BaseChannelTextType: Refactored protected API
Extracted method removePendingMessages() will be reused in the next commit.
---
TelepathyQt/base-channel.cpp | 14 +++++++++++---
TelepathyQt/base-channel.h | 4 +++-
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/TelepathyQt/base-channel.cpp b/TelepathyQt/base-channel.cpp
index f551d2f..23a6a8b 100644
--- a/TelepathyQt/base-channel.cpp
+++ b/TelepathyQt/base-channel.cpp
@@ -545,7 +545,7 @@ void BaseChannelTextType::setMessageAcknowledgedCallback(const MessageAcknowledg
void BaseChannelTextType::acknowledgePendingMessages(const Tp::UIntList &IDs, DBusError* error)
{
- foreach(uint id, IDs) {
+ Q_FOREACH (uint id, IDs) {
QMap<uint, Tp::MessagePartList>::Iterator i = mPriv->pendingMessages.find(id);
if (i == mPriv->pendingMessages.end()) {
error->set(TP_QT_ERROR_INVALID_ARGUMENT, QLatin1String("id not found"));
@@ -553,10 +553,18 @@ void BaseChannelTextType::acknowledgePendingMessages(const Tp::UIntList &IDs, DB
}
const MessagePart &header = i->front();
- if (header.count(QLatin1String("message-token")) && mPriv->messageAcknowledgedCB.isValid())
+ if (header.count(QLatin1String("message-token")) && mPriv->messageAcknowledgedCB.isValid()) {
mPriv->messageAcknowledgedCB(header[QLatin1String("message-token")].variant().toString());
+ }
+ }
- mPriv->pendingMessages.erase(i);
+ removePendingMessages(IDs);
+}
+
+void BaseChannelTextType::removePendingMessages(const UIntList &IDs)
+{
+ foreach (uint id, IDs) {
+ mPriv->pendingMessages.remove(id);
}
/* Signal on ChannelMessagesInterface */
diff --git a/TelepathyQt/base-channel.h b/TelepathyQt/base-channel.h
index 46503fa..4edcb4f 100644
--- a/TelepathyQt/base-channel.h
+++ b/TelepathyQt/base-channel.h
@@ -142,11 +142,13 @@ public:
/* Convenience function */
void addReceivedMessage(const Tp::MessagePartList &message);
+
private Q_SLOTS:
void sent(uint timestamp, uint type, QString text);
protected:
BaseChannelTextType(BaseChannel* channel);
- void acknowledgePendingMessages(const Tp::UIntList &IDs, DBusError* error);
+ void acknowledgePendingMessages(const Tp::UIntList &IDs, DBusError *error);
+ void removePendingMessages(const Tp::UIntList &IDs);
private:
void createAdaptor();
More information about the telepathy-commits
mailing list