[telepathy-qt4/master] ClientRegistrar: Added ClientObserverAdaptor skeleton class.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Fri May 15 07:14:30 PDT 2009
---
TelepathyQt4/client-registrar-internal.h | 47 ++++++++++++++++++++++++++++++
TelepathyQt4/client-registrar.cpp | 23 ++++++++++++++
2 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/TelepathyQt4/client-registrar-internal.h b/TelepathyQt4/client-registrar-internal.h
index 8ef6613..6021daa 100644
--- a/TelepathyQt4/client-registrar-internal.h
+++ b/TelepathyQt4/client-registrar-internal.h
@@ -60,6 +60,53 @@ private:
QStringList mInterfaces;
};
+class ClientObserverAdaptor : public QDBusAbstractAdaptor
+{
+ Q_OBJECT
+ Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Client.Observer")
+ Q_CLASSINFO("D-Bus Introspection", ""
+" <interface name=\"org.freedesktop.Telepathy.Client.Handler\" >\n"
+" <property name=\"ObserverChannelFilter\" type=\"aa{sv}\" access=\"read\" />\n"
+" <method name=\"ObserveChannels\" >\n"
+" <arg name=\"Account\" type=\"o\" direction=\"in\" />\n"
+" <arg name=\"Connection\" type=\"o\" direction=\"in\" />\n"
+" <arg name=\"Channels\" type=\"a(oa{sv})\" direction=\"in\" />\n"
+" <arg name=\"Dispatch_Operation\" type=\"o\" direction=\"in\" />\n"
+" <arg name=\"Requests_Satisfied\" type=\"ao\" direction=\"in\" />\n"
+" <arg name=\"Observer_Info\" type=\"a{sv}\" direction=\"in\" />\n"
+" </method>\n"
+" </interface>\n"
+ "")
+
+ Q_PROPERTY(Tp::ChannelClassList ObserverChannelFilter READ ObserverChannelFilter)
+
+public:
+ ClientObserverAdaptor(
+ const QDBusConnection &bus,
+ AbstractClientObserver *client,
+ QObject *parent);
+ virtual ~ClientObserverAdaptor();
+
+public: // Properties
+ inline Tp::ChannelClassList ObserverChannelFilter() const
+ {
+ return mClient->observerChannelFilter();
+ }
+
+public Q_SLOTS: // Methods
+ void ObserveChannels(const QDBusObjectPath &account,
+ const QDBusObjectPath &connection,
+ const Tp::ChannelDetailsList &channels,
+ const QDBusObjectPath &dispatchOperation,
+ const Tp::ObjectPathList &requestsSatisfied,
+ const QVariantMap &observerInfo,
+ const QDBusMessage &message);
+
+private:
+ QDBusConnection mBus;
+ AbstractClientObserver *mClient;
+};
+
class ClientHandlerAdaptor : public QDBusAbstractAdaptor
{
Q_OBJECT
diff --git a/TelepathyQt4/client-registrar.cpp b/TelepathyQt4/client-registrar.cpp
index 1f34180..5029bc9 100644
--- a/TelepathyQt4/client-registrar.cpp
+++ b/TelepathyQt4/client-registrar.cpp
@@ -90,6 +90,29 @@ ClientAdaptor::~ClientAdaptor()
{
}
+ClientObserverAdaptor::ClientObserverAdaptor(const QDBusConnection &bus,
+ AbstractClientObserver *client,
+ QObject *parent)
+ : QDBusAbstractAdaptor(parent),
+ mBus(bus),
+ mClient(client)
+{
+}
+
+ClientObserverAdaptor::~ClientObserverAdaptor()
+{
+}
+
+void ClientObserverAdaptor::ObserveChannels(const QDBusObjectPath &accountPath,
+ const QDBusObjectPath &connectionPath,
+ const Tp::ChannelDetailsList &channelDetailsList,
+ const QDBusObjectPath &dispatchOperationPath,
+ const Tp::ObjectPathList &requestsSatisfied,
+ const QVariantMap &observerInfo,
+ const QDBusMessage &message)
+{
+}
+
QHash<QPair<QString, QString>, QList<ClientHandlerAdaptor *> > ClientHandlerAdaptor::mAdaptorsForConnection;
ClientHandlerAdaptor::ClientHandlerAdaptor(const QDBusConnection &bus,
--
1.5.6.5
More information about the telepathy-commits
mailing list