summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusabstractinterface.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-06-30 16:27:11 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-07-02 09:43:32 (GMT)
commit485b2afb790444a0c6c2b32fbac65421e652dbe4 (patch)
tree7266e87757ab180909c594c715add192d3ebec4d /src/dbus/qdbusabstractinterface.h
parente7ca74ed8a41eb4c05f436007417d160b6cf94f7 (diff)
downloadQt-485b2afb790444a0c6c2b32fbac65421e652dbe4.zip
Qt-485b2afb790444a0c6c2b32fbac65421e652dbe4.tar.gz
Qt-485b2afb790444a0c6c2b32fbac65421e652dbe4.tar.bz2
Use an "int status" extra parameter in property reading/writing.
When calling qt_metacall with the ReadProperty or WriteProperty, the data is on argv[0] like it was before, but now the QVariant itself is on argv[1] and there's an extra parameter in argv[2] which the meta code can use to indicate result. This allows QtDBus to process properties much more easily. In the case of property reading, we need to be able to modify the variant itself, because copying types when we don't have the data isn't very easy. As for setting, we need to be able to tell setProperty to return true or false depending on whether we succeeded in setting the property or not. Reviewed-By: Kent Hansen Reviewed-By: Marius Bugge Monsen
Diffstat (limited to 'src/dbus/qdbusabstractinterface.h')
-rw-r--r--src/dbus/qdbusabstractinterface.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/dbus/qdbusabstractinterface.h b/src/dbus/qdbusabstractinterface.h
index 6400b26..e525f77 100644
--- a/src/dbus/qdbusabstractinterface.h
+++ b/src/dbus/qdbusabstractinterface.h
@@ -61,7 +61,23 @@ class QDBusError;
class QDBusPendingCall;
class QDBusAbstractInterfacePrivate;
-class QDBUS_EXPORT QDBusAbstractInterface: public QObject
+
+class QDBUS_EXPORT QDBusAbstractInterfaceBase: public QObject
+{
+public:
+ int qt_metacall(QMetaObject::Call, int, void**);
+protected:
+ QDBusAbstractInterfaceBase(QDBusAbstractInterfacePrivate &dd, QObject *parent);
+private:
+ Q_DECLARE_PRIVATE(QDBusAbstractInterface)
+};
+
+class QDBUS_EXPORT QDBusAbstractInterface:
+#ifdef Q_QDOC
+ public QObject
+#else
+ public QDBusAbstractInterfaceBase
+#endif
{
Q_OBJECT