telepathy-qt: Revert "Add BaseConnection RequestsInterface"

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


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

Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Sep  3 11:44:21 2014 +0200

Revert "Add BaseConnection RequestsInterface"

This reverts commit c00a4737402dd86630f117d9d5c65a12e1e55582.

Patch made little sense.

If this is going in the ctor because the interface is mandatory
so should contacts. Also it needs to go via plugInterface so it's
in the interfaces map, otherwise we end up with two

---

 TelepathyQt/base-connection.cpp |   54 ++++++++++++++++++---------------------
 TelepathyQt/base-connection.h   |    3 ---
 2 files changed, 25 insertions(+), 32 deletions(-)

diff --git a/TelepathyQt/base-connection.cpp b/TelepathyQt/base-connection.cpp
index 93ea0dd..260cf36 100644
--- a/TelepathyQt/base-connection.cpp
+++ b/TelepathyQt/base-connection.cpp
@@ -47,7 +47,6 @@ struct TP_QT_NO_EXPORT BaseConnection::Private {
           protocolName(protocolName),
           parameters(parameters),
           status(Tp::ConnectionStatusDisconnected),
-          requestsIface(Tp::BaseConnectionRequestsInterface::create(connection)),
           selfHandle(0),
           adaptee(new BaseConnection::Adaptee(dbusConnection, parent)) {
     }
@@ -58,9 +57,6 @@ struct TP_QT_NO_EXPORT BaseConnection::Private {
     QVariantMap parameters;
     uint status;
     QHash<QString, AbstractConnectionInterfacePtr> interfaces;
-
-    BaseConnectionRequestsInterfacePtr requestsIface;
-
     QSet<BaseChannelPtr> channels;
     CreateChannelCallback createChannelCB;
     RequestHandlesCallback requestHandlesCB;
@@ -200,7 +196,6 @@ BaseConnection::BaseConnection(const QDBusConnection &dbusConnection,
     : DBusService(dbusConnection),
       mPriv(new Private(this, dbusConnection, cmName, protocolName, parameters))
 {
-    plugInterface(mPriv->requestsIface);
 }
 
 /**
@@ -342,10 +337,15 @@ Tp::BaseChannelPtr BaseConnection::createChannel(const QString &channelType,
 
     mPriv->channels.insert(channel);
 
-    //emit after return
-    QMetaObject::invokeMethod(mPriv->requestsIface.data(), "newChannels",
-                              Qt::QueuedConnection,
-                              Q_ARG(Tp::ChannelDetailsList, ChannelDetailsList() << channel->details()));
+    BaseConnectionRequestsInterfacePtr reqIface =
+        BaseConnectionRequestsInterfacePtr::dynamicCast(interface(TP_QT_IFACE_CONNECTION_INTERFACE_REQUESTS));
+
+    if (!reqIface.isNull())
+        //emit after return
+        QMetaObject::invokeMethod(reqIface.data(), "newChannels",
+                                  Qt::QueuedConnection,
+                                  Q_ARG(Tp::ChannelDetailsList, ChannelDetailsList() << channel->details()));
+
 
     //emit after return
     QMetaObject::invokeMethod(mPriv->adaptee, "newChannel",
@@ -377,21 +377,6 @@ UIntList BaseConnection::requestHandles(uint handleType, const QStringList &iden
     return mPriv->requestHandlesCB(handleType, identifiers, error);
 }
 
-RequestableChannelClassList BaseConnection::requestableChannelClasses() const
-{
-    return mPriv->requestsIface->requestableChannelClasses;
-}
-
-void BaseConnection::setRequestableChannelClasses(const RequestableChannelClassList &requestableChannelClasses)
-{
-    if (mPriv->status == ConnectionStatusConnected) {
-        warning() << "BaseConnection::setRequestableChannelClasses() is called in connected state. Ignored.";
-        return;
-    }
-
-    mPriv->requestsIface->requestableChannelClasses = requestableChannelClasses;
-}
-
 Tp::ChannelInfoList BaseConnection::channelsInfo()
 {
     qDebug() << "BaseConnection::channelsInfo:";
@@ -442,10 +427,15 @@ void BaseConnection::addChannel(BaseChannelPtr channel)
 
     mPriv->channels.insert(channel);
 
-    //emit after return
-    QMetaObject::invokeMethod(mPriv->requestsIface.data(), "newChannels",
-                              Qt::QueuedConnection,
-                              Q_ARG(Tp::ChannelDetailsList, ChannelDetailsList() << channel->details()));
+    BaseConnectionRequestsInterfacePtr reqIface =
+        BaseConnectionRequestsInterfacePtr::dynamicCast(interface(TP_QT_IFACE_CONNECTION_INTERFACE_REQUESTS));
+
+    if (!reqIface.isNull()) {
+        //emit after return
+        QMetaObject::invokeMethod(reqIface.data(), "newChannels",
+                                  Qt::QueuedConnection,
+                                  Q_ARG(Tp::ChannelDetailsList, ChannelDetailsList() << channel->details()));
+    }
 
     //emit after return
     QMetaObject::invokeMethod(mPriv->adaptee, "newChannel",
@@ -468,7 +458,13 @@ void BaseConnection::removeChannel()
     Q_ASSERT(channel);
     Q_ASSERT(mPriv->channels.contains(channel));
 
-    mPriv->requestsIface->channelClosed(QDBusObjectPath(channel->objectPath()));
+    BaseConnectionRequestsInterfacePtr reqIface =
+        BaseConnectionRequestsInterfacePtr::dynamicCast(interface(TP_QT_IFACE_CONNECTION_INTERFACE_REQUESTS));
+
+    if (!reqIface.isNull()) {
+        reqIface->channelClosed(QDBusObjectPath(channel->objectPath()));
+    }
+
     mPriv->channels.remove(channel);
 }
 
diff --git a/TelepathyQt/base-connection.h b/TelepathyQt/base-connection.h
index 3b3e956..8a638f9 100644
--- a/TelepathyQt/base-connection.h
+++ b/TelepathyQt/base-connection.h
@@ -89,9 +89,6 @@ public:
     void setRequestHandlesCallback(const RequestHandlesCallback &cb);
     UIntList requestHandles(uint handleType, const QStringList &identifiers, DBusError* error);
 
-    Tp::RequestableChannelClassList requestableChannelClasses() const;
-    void setRequestableChannelClasses(const Tp::RequestableChannelClassList &requestableChannelClasses);
-
     //typedef Callback3<uint, const QString&, const QString&, DBusError*> SetPresenceCallback;
     //void setSetPresenceCallback(const SetPresenceCallback &cb);
 



More information about the telepathy-commits mailing list