summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-09-06 11:27:07 +0200
committerIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-09-12 16:21:00 +0200
commit9d4e4deaa276d040df4a1148ee8d7d2aae4f2ae5 (patch)
tree7ff4b21658b9b23e7a763f49f991e4a348c962a1 /src/dbus
parent647aca1e7cb555383d2233bdd14f491fdd3f659b (diff)
QDBusArgumentPrivate::createSignature: Accept QMetaType as argument
This gives more information than an int, also simplifies the code slightly. Change-Id: I76c00230386d74c70d294e638b4927de883f03ff Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/qdbusargument.cpp8
-rw-r--r--src/dbus/qdbusargument_p.h2
-rw-r--r--src/dbus/qdbusmetatype.cpp2
3 files changed, 6 insertions, 6 deletions
diff --git a/src/dbus/qdbusargument.cpp b/src/dbus/qdbusargument.cpp
index 07c71ee40a..1cad41b67b 100644
--- a/src/dbus/qdbusargument.cpp
+++ b/src/dbus/qdbusargument.cpp
@@ -31,7 +31,7 @@ QDBusArgumentPrivate::~QDBusArgumentPrivate()
q_dbus_message_unref(message);
}
-QByteArray QDBusArgumentPrivate::createSignature(int id)
+QByteArray QDBusArgumentPrivate::createSignature(QMetaType type)
{
if (!qdbus_loadLibDBus())
return "";
@@ -41,7 +41,7 @@ QByteArray QDBusArgumentPrivate::createSignature(int id)
marshaller->ba = &signature;
// run it
- QVariant v{QMetaType(id)};
+ QVariant v{type};
QDBusArgument arg(marshaller);
QDBusMetaType::marshall(arg, v.metaType(), v.constData());
arg.d = nullptr;
@@ -53,14 +53,14 @@ QByteArray QDBusArgumentPrivate::createSignature(int id)
if (signature.isEmpty() || !ok || !QDBusUtil::isValidSingleSignature(QString::fromLatin1(signature))) {
qWarning("QDBusMarshaller: type '%s' produces invalid D-Bus signature '%s' "
"(Did you forget to call beginStructure() ?)",
- QMetaType(id).name(), signature.isEmpty() ? "<empty>" : signature.constData());
+ type.name(), signature.isEmpty() ? "<empty>" : signature.constData());
return "";
} else if ((signature.at(0) != DBUS_TYPE_ARRAY && signature.at(0) != DBUS_STRUCT_BEGIN_CHAR) ||
(signature.at(0) == DBUS_TYPE_ARRAY && (signature.at(1) == DBUS_TYPE_BYTE ||
signature.at(1) == DBUS_TYPE_STRING))) {
qWarning("QDBusMarshaller: type '%s' attempts to redefine basic D-Bus type '%s' (%s) "
"(Did you forget to call beginStructure() ?)",
- QMetaType(id).name(), signature.constData(),
+ type.name(), signature.constData(),
QDBusMetaType::signatureToMetaType(signature).name());
return "";
}
diff --git a/src/dbus/qdbusargument_p.h b/src/dbus/qdbusargument_p.h
index 5f273c3294..719da7472f 100644
--- a/src/dbus/qdbusargument_p.h
+++ b/src/dbus/qdbusargument_p.h
@@ -46,7 +46,7 @@ public:
QDBusMarshaller *marshaller();
QDBusDemarshaller *demarshaller();
- static QByteArray createSignature(int id);
+ static QByteArray createSignature(QMetaType type);
static inline QDBusArgument create(QDBusArgumentPrivate *d)
{
QDBusArgument q(d);
diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp
index 5fe5a60a3a..62548e1e7a 100644
--- a/src/dbus/qdbusmetatype.cpp
+++ b/src/dbus/qdbusmetatype.cpp
@@ -471,7 +471,7 @@ const char *QDBusMetaType::typeToSignature(QMetaType type)
{
// createSignature will never return a null QByteArray
// if there was an error, it'll return ""
- QByteArray signature = QDBusArgumentPrivate::createSignature(type.id());
+ QByteArray signature = QDBusArgumentPrivate::createSignature(type);
// re-acquire lock
QWriteLocker locker(&ct->lock);