diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-03-20 19:45:00 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-20 22:23:13 +0100 |
commit | 3e1e0b41a81b7c3e4140264dcaede7ab8a51bf77 (patch) | |
tree | cbcdec27eec13d6b1cba2fa2dc6f8eb29dbe5a55 /src/dbus/qdbusxmlgenerator.cpp | |
parent | 83e055424af8331eafd744ea33dfe8a4ecdaf1e6 (diff) |
Use the new QMetaMethod API in QtDBus
Use QMetaMethod::name() instead of parsing the signature.
Use QMetaMethod::returnType() instead of resolving the type id
via the type name.
Change-Id: If5d0198c5f1329fd9d9340acd58bd4a36933d960
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusxmlgenerator.cpp')
-rw-r--r-- | src/dbus/qdbusxmlgenerator.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp index 550c82a0f2..a158600f42 100644 --- a/src/dbus/qdbusxmlgenerator.cpp +++ b/src/dbus/qdbusxmlgenerator.cpp @@ -126,8 +126,6 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method // now add methods: for (int i = methodOffset; i < mo->methodCount(); ++i) { QMetaMethod mm = mo->method(i); - QByteArray signature = mm.methodSignature(); - int paren = signature.indexOf('('); bool isSignal; if (mm.methodType() == QMetaMethod::Signal) @@ -147,11 +145,11 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method QString xml = QString::fromLatin1(" <%1 name=\"%2\">\n") .arg(isSignal ? QLatin1String("signal") : QLatin1String("method")) - .arg(QLatin1String(signature.left(paren))); + .arg(QString::fromLatin1(mm.name())); // check the return type first - int typeId = QMetaType::type(mm.typeName()); - if (typeId) { + int typeId = mm.returnType(); + if (typeId != QMetaType::UnknownType && typeId != QMetaType::Void) { const char *typeName = QDBusMetaType::typeToSignature(typeId); if (typeName) { xml += QString::fromLatin1(" <arg type=\"%1\" direction=\"out\"/>\n") @@ -164,7 +162,7 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method } else continue; } - else if (*mm.typeName()) + else if (typeId == QMetaType::UnknownType) continue; // wasn't a valid type QList<QByteArray> names = mm.parameterNames(); |