diff options
author | Thiago Macieira <thiago@kde.org> | 2006-03-28 18:56:08 +0000 |
---|---|---|
committer | Thiago Macieira <thiago@kde.org> | 2006-03-28 18:56:08 +0000 |
commit | d42c8663e8fd441838a238bfb845a7c80c37b253 (patch) | |
tree | ac29c8e23bc1e48690cac1fc8416a1b34628e832 /qt/qdbusinterface_p.h | |
parent | 36e1d8bfc79614617f364306bb168f46e0d4761c (diff) |
* 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<basic-types> 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.
Diffstat (limited to 'qt/qdbusinterface_p.h')
-rw-r--r-- | qt/qdbusinterface_p.h | 41 |
1 files changed, 17 insertions, 24 deletions
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 <thiago@kde.org> * Copyright (C) 2006 Trolltech AS. All rights reserved. * Author: Thiago Macieira <thiago.macieira@trolltech.com> * @@ -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<QDBusIntrospection::Interface> 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 |