telepathy-qt: BaseChannel: Implemented descriptive unique name.

David Edmundson davidedmundson at kemper.freedesktop.org
Wed Sep 3 02:28:45 PDT 2014


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

Author: Alexandr Akulich <akulichalexander at gmail.com>
Date:   Thu Aug 21 18:53:21 2014 +0600

BaseChannel: Implemented descriptive unique name.

---

 TelepathyQt/base-channel.cpp |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/TelepathyQt/base-channel.cpp b/TelepathyQt/base-channel.cpp
index 394f4af..af9aad1 100644
--- a/TelepathyQt/base-channel.cpp
+++ b/TelepathyQt/base-channel.cpp
@@ -49,12 +49,23 @@ struct TP_QT_NO_EXPORT BaseChannel::Private {
           targetHandle(targetHandle),
           targetHandleType(targetHandleType),
           adaptee(new BaseChannel::Adaptee(dbusConnection, parent)) {
+        static uint s_channelIncrementalId = 0;
+
+        QString baseName;
+        static const QString s_channelTypePrefix = TP_QT_IFACE_CHANNEL + QLatin1String(".Type.");
+        if (channelType.startsWith(s_channelTypePrefix)) {
+            baseName = channelType.mid(s_channelTypePrefix.length());
+        }
+
+        uniqueName = baseName + QLatin1String("Channel") + QString::number(s_channelIncrementalId);
+        ++s_channelIncrementalId;
     }
 
     BaseChannel *parent;
     BaseConnection* connection;
     QString channelType;
     QHash<QString, AbstractChannelInterfacePtr> interfaces;
+    QString uniqueName;
     uint targetHandle;
     QString targetID;
     uint targetHandleType;
@@ -129,7 +140,7 @@ BaseChannel::~BaseChannel()
  */
 QString BaseChannel::uniqueName() const
 {
-    return QString(QLatin1String("_%1")).arg((quintptr) this, 0, 16);
+    return mPriv->uniqueName;
 }
 
 bool BaseChannel::registerObject(DBusError *error)



More information about the telepathy-commits mailing list