From d42c8663e8fd441838a238bfb845a7c80c37b253 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 28 Mar 2006 18:56:08 +0000 Subject: * qt/*: * dbus/qdbus.h: Sync with KDE Subversion revision 523647. Hopefully, this will be the last of the source-incompatible changes. Documentation has been improved; support for QList has been added; QDBusObject is gone; QDBus(Abstract)Interface is now a QObject with auto-generated meta-object; QDBusIntrospection is marked private, since QMetaObject can be used now; lots of bugfixes. --- qt/qdbusinterface_p.h | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'qt/qdbusinterface_p.h') diff --git a/qt/qdbusinterface_p.h b/qt/qdbusinterface_p.h index 04aa243f..70b732c2 100644 --- a/qt/qdbusinterface_p.h +++ b/qt/qdbusinterface_p.h @@ -1,6 +1,5 @@ /* * - * Copyright (C) 2006 Thiago José Macieira * Copyright (C) 2006 Trolltech AS. All rights reserved. * Author: Thiago Macieira * @@ -37,36 +36,30 @@ #ifndef QDBUSINTERFACEPRIVATE_H #define QDBUSINTERFACEPRIVATE_H -#include "qdbusobject.h" +#include "qdbusabstractinterface_p.h" +#include "qdbusmetaobject_p.h" #include "qdbusinterface.h" -#include "qdbusconnection.h" -#include "qdbuserror.h" -#define ANNOTATION_NO_WAIT "org.freedesktop.DBus.Method.NoReply" - -class QDBusInterfacePrivate +class QDBusInterfacePrivate: public QDBusAbstractInterfacePrivate { public: - QAtomic ref; - QDBusConnection conn; - QString service; - QString path; - QDBusError lastError; - - //QConstSharedDataPointer data; - const QDBusIntrospection::Interface* data; - - inline QDBusInterfacePrivate(const QDBusConnection &other) : conn(other), data(emptyData()) - { } + Q_DECLARE_PUBLIC(QDBusInterface) - inline bool needsIntrospection() const - { return data && data->introspection.isNull(); } + QDBusMetaObject *metaObject; - inline void introspect() - { if (needsIntrospection()) conn.findObject(service, path).introspect(); } + inline QDBusInterfacePrivate(const QDBusConnection &con, QDBusConnectionPrivate *conp, + const QString &serv, const QString &p, const QString &iface, + QDBusMetaObject *mo = 0) + : QDBusAbstractInterfacePrivate(con, conp, serv, p, iface), metaObject(mo) + { + } + ~QDBusInterfacePrivate() + { + if (!metaObject->cached) + delete metaObject; + } - static const QDBusIntrospection::Interface *emptyData(); + int metacall(QMetaObject::Call c, int id, void **argv); }; - #endif -- cgit