summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusxmlgenerator.cpp
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-03-20 19:45:00 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-20 22:23:13 +0100
commit3e1e0b41a81b7c3e4140264dcaede7ab8a51bf77 (patch)
treecbcdec27eec13d6b1cba2fa2dc6f8eb29dbe5a55 /src/dbus/qdbusxmlgenerator.cpp
parent83e055424af8331eafd744ea33dfe8a4ecdaf1e6 (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.cpp10
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();