summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/dbus/qdbuserror.cpp10
-rw-r--r--src/dbus/qdbuserror.h5
-rw-r--r--src/dbus/qdbusmessage.h2
-rw-r--r--src/dbus/qdbusmetatype.cpp16
-rw-r--r--src/dbus/qdbusmetatype.h2
5 files changed, 25 insertions, 10 deletions
diff --git a/src/dbus/qdbuserror.cpp b/src/dbus/qdbuserror.cpp
index b81d8a68f6..85d7d016ff 100644
--- a/src/dbus/qdbuserror.cpp
+++ b/src/dbus/qdbuserror.cpp
@@ -250,6 +250,16 @@ static inline QDBusError::ErrorType get(const char *name)
\value InvalidInterface The interface is invalid.
*/
+/*!
+ \internal
+ Constructs a QDBusError that represents no error.
+*/
+QDBusError::QDBusError()
+ : code(NoError)
+{
+
+}
+
#ifndef QT_BOOTSTRAPPED
/*!
\internal
diff --git a/src/dbus/qdbuserror.h b/src/dbus/qdbuserror.h
index a6b3c9a70a..52e65d677d 100644
--- a/src/dbus/qdbuserror.h
+++ b/src/dbus/qdbuserror.h
@@ -95,8 +95,9 @@ public:
#endif
};
+ QDBusError();
#ifndef QT_BOOTSTRAPPED
- explicit QDBusError(const DBusError *error = 0);
+ explicit QDBusError(const DBusError *error);
/*implicit*/ QDBusError(const QDBusMessage& msg);
#endif
QDBusError(ErrorType error, const QString &message);
@@ -126,6 +127,8 @@ Q_DBUS_EXPORT QDebug operator<<(QDebug, const QDBusError &);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QDBusError)
+
QT_END_HEADER
#endif // QT_NO_DBUS
diff --git a/src/dbus/qdbusmessage.h b/src/dbus/qdbusmessage.h
index 20859ebb70..461a27600e 100644
--- a/src/dbus/qdbusmessage.h
+++ b/src/dbus/qdbusmessage.h
@@ -124,6 +124,8 @@ Q_DBUS_EXPORT QDebug operator<<(QDebug, const QDBusMessage &);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QDBusMessage)
+
QT_END_HEADER
#endif // QT_NO_DBUS
diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp
index 5c8a7bc08f..835fa4fa43 100644
--- a/src/dbus/qdbusmetatype.cpp
+++ b/src/dbus/qdbusmetatype.cpp
@@ -105,15 +105,15 @@ void QDBusMetaTypeId::init()
// set the guard variable at the end
if (!initialized) {
#ifndef QT_BOOTSTRAPPED
- // register our types with QtCore
- message = qRegisterMetaType<QDBusMessage>("QDBusMessage");
- error = qRegisterMetaType<QDBusError>("QDBusError");
+ // register our types with QtCore (calling qMetaTypeId<T>() does this implicitly)
+ message = qMetaTypeId<QDBusMessage>();
+ error = qMetaTypeId<QDBusError>();
#endif
- argument = qRegisterMetaType<QDBusArgument>("QDBusArgument");
- variant = qRegisterMetaType<QDBusVariant>("QDBusVariant");
- objectpath = qRegisterMetaType<QDBusObjectPath>("QDBusObjectPath");
- signature = qRegisterMetaType<QDBusSignature>("QDBusSignature");
- unixfd = qRegisterMetaType<QDBusUnixFileDescriptor>("QDBusUnixFileDescriptor");
+ argument = qMetaTypeId<QDBusArgument>();
+ variant = qMetaTypeId<QDBusVariant>();
+ objectpath = qMetaTypeId<QDBusObjectPath>();
+ signature = qMetaTypeId<QDBusSignature>();
+ unixfd = qMetaTypeId<QDBusUnixFileDescriptor>();
#ifndef QDBUS_NO_SPECIALTYPES
// and register QtCore's with us
diff --git a/src/dbus/qdbusmetatype.h b/src/dbus/qdbusmetatype.h
index bb791c9636..060e8adf2e 100644
--- a/src/dbus/qdbusmetatype.h
+++ b/src/dbus/qdbusmetatype.h
@@ -84,7 +84,7 @@ int qDBusRegisterMetaType(
void (*mf)(QDBusArgument &, const T *) = qDBusMarshallHelper<T>;
void (*df)(const QDBusArgument &, T *) = qDBusDemarshallHelper<T>;
- int id = qRegisterMetaType<T>(); // make sure it's registered
+ int id = qMetaTypeId<T>(); // make sure it's registered
QDBusMetaType::registerMarshallOperators(id,
reinterpret_cast<QDBusMetaType::MarshallFunction>(mf),
reinterpret_cast<QDBusMetaType::DemarshallFunction>(df));