diff options
author | David Faure <faure@kde.org> | 2013-05-04 13:03:45 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-01 17:04:23 +0200 |
commit | b2f9839457a7c09c2898befe431443aaeb607edb (patch) | |
tree | 7d8532546d5b5451131200664ee5f215d8da036b /src/dbus/qdbusintegrator.cpp | |
parent | 170469ef84fd7ce7805ff174aed5b3447fa8e7a2 (diff) |
QDBus: improve error handling, to give the developer feedback.
For instance, exporting an object with a slot like
QString complexMethod(const MyVariantMap& vars);
(even with a simple typedef QVariantMap MyVariantMap)
used to silently skip that method in the introspection.
Now it outputs:
generateInterfaceXml: Skipped method "complexMethod" : Invalid type in parameter list: MyVariantMap
Change-Id: I7964cfb63e973257ce1abe47b9625e361b2ad23f
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusintegrator.cpp')
-rw-r--r-- | src/dbus/qdbusintegrator.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index afb8506b28..e0aec2cad9 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -721,7 +721,8 @@ static int findSlot(const QMetaObject *mo, const QByteArray &name, int flags, if (isAsync && returnType != QMetaType::Void) continue; - int inputCount = qDBusParametersForMethod(mm, metaTypes); + QString errorMsg; + int inputCount = qDBusParametersForMethod(mm, metaTypes, errorMsg); if (inputCount == -1) continue; // problem parsing @@ -1312,7 +1313,8 @@ int QDBusConnectionPrivate::findSlot(QObject* obj, const QByteArray &normalizedN if (midx == -1) return -1; - int inputCount = qDBusParametersForMethod(obj->metaObject()->method(midx), params); + QString errorMsg; + int inputCount = qDBusParametersForMethod(obj->metaObject()->method(midx), params, errorMsg); if ( inputCount == -1 || inputCount + 1 != params.count() ) return -1; // failed to parse or invalid arguments or output arguments |