[Telepathy-commits] [telepathy-qt4/master] AbstractInterface: add a constructor from DBusProxy

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Jan 23 02:53:02 PST 2009


Also make the invalidate slot protected.
---
 TelepathyQt4/Client/abstract-interface.cpp |   11 +++++++++++
 TelepathyQt4/Client/abstract-interface.h   |    5 +++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/TelepathyQt4/Client/abstract-interface.cpp b/TelepathyQt4/Client/abstract-interface.cpp
index 8d62661..bd4b398 100644
--- a/TelepathyQt4/Client/abstract-interface.cpp
+++ b/TelepathyQt4/Client/abstract-interface.cpp
@@ -20,6 +20,8 @@
 
 #include <TelepathyQt4/Client/AbstractInterface>
 
+#include <TelepathyQt4/Client/DBusProxy>
+
 #include "TelepathyQt4/Client/_gen/abstract-interface.moc.hpp"
 #include "TelepathyQt4/debug-internal.h"
 
@@ -48,6 +50,15 @@ AbstractInterface::AbstractInterface(const QString &busName,
 {
 }
 
+AbstractInterface::AbstractInterface(DBusProxy *parent, const char *interface)
+    : QDBusAbstractInterface(parent->busName(), parent->objectPath(),
+            interface, parent->dbusConnection(), parent),
+      mPriv(new Private())
+{
+    connect(parent, SIGNAL(invalidated(Telepathy::Client::DBusProxy *, QString, QString)),
+            this, SLOT(invalidate(Telepathy::Client::DBusProxy *, QString, QString)));
+}
+
 AbstractInterface::~AbstractInterface()
 {
     delete mPriv;
diff --git a/TelepathyQt4/Client/abstract-interface.h b/TelepathyQt4/Client/abstract-interface.h
index 0102afb..933359e 100644
--- a/TelepathyQt4/Client/abstract-interface.h
+++ b/TelepathyQt4/Client/abstract-interface.h
@@ -45,11 +45,12 @@ public:
     QString invalidationReason() const;
     QString invalidationMessage() const;
 
-public Q_SLOTS:
-    void invalidate(Telepathy::Client::DBusProxy *proxy, QString error,
+protected Q_SLOTS:
+    virtual void invalidate(Telepathy::Client::DBusProxy *proxy, QString error,
             QString message);
 
 protected:
+    AbstractInterface(DBusProxy *parent, const char *interface);
     AbstractInterface(const QString &busName, const QString &path,
             const char *interface, const QDBusConnection &connection,
             QObject *parent);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list