From 850d850c5af8ff77a4b9d53457ec6b1ba6c20cb3 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 9 Sep 2020 13:42:35 +0200 Subject: Use QMetaType instead of integer based type ids Change the implementation of Qt DBus to use QMetaType directly instead of integer based type ids. Change-Id: I999023b58fa50dcc3504386467faf09874f7d2cf Reviewed-by: Qt CI Bot Reviewed-by: Thiago Macieira --- src/dbus/qdbusargument.h | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'src/dbus/qdbusargument.h') diff --git a/src/dbus/qdbusargument.h b/src/dbus/qdbusargument.h index 721ac41b3c..cf09543912 100644 --- a/src/dbus/qdbusargument.h +++ b/src/dbus/qdbusargument.h @@ -103,9 +103,13 @@ public: void beginStructure(); void endStructure(); - void beginArray(int elementMetaTypeId); + void beginArray(int elementMetaTypeId) + { beginArray(QMetaType(elementMetaTypeId)); } + void beginArray(QMetaType elementMetaType); void endArray(); - void beginMap(int keyMetaTypeId, int valueMetaTypeId); + void beginMap(int keyMetaTypeId, int valueMetaTypeId) + { beginMap(QMetaType(keyMetaTypeId), QMetaType(valueMetaTypeId)); } + void beginMap(QMetaType keyMetaType, QMetaType valueMetaType); void endMap(); void beginMapEntry(); void endMapEntry(); @@ -165,8 +169,7 @@ template inline T qdbus_cast(const QDBusArgument &arg) template inline T qdbus_cast(const QVariant &v) { - int id = v.userType(); - if (id == qMetaTypeId()) + if (v.metaType() == QMetaType::fromType()) return qdbus_cast(qvariant_cast(v)); else return qvariant_cast(v); @@ -227,8 +230,7 @@ template