diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-05-17 22:14:30 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-05-17 22:14:30 -0500 |
commit | 6d564efb42ba51ff8e3d6512aa8edb964b6f2306 (patch) | |
tree | a4dfa9a35410fb2dd58d29326c34573c657fe3ed | |
parent | 796df5ebfc74d263bb3ed055c64de9627d47c430 (diff) | |
download | dbus-1-tqt-6d564efb42ba51ff8e3d6512aa8edb964b6f2306.tar.gz dbus-1-tqt-6d564efb42ba51ff8e3d6512aa8edb964b6f2306.zip |
Add ability to obtain error messages from async calls
-rw-r--r-- | tools/dbusxml2qt3/classgen.cpp | 3 | ||||
-rw-r--r-- | tools/dbusxml2qt3/methodgen.cpp | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/tools/dbusxml2qt3/classgen.cpp b/tools/dbusxml2qt3/classgen.cpp index 040a969..12051c0 100644 --- a/tools/dbusxml2qt3/classgen.cpp +++ b/tools/dbusxml2qt3/classgen.cpp @@ -243,6 +243,8 @@ static void writeHeaderIncludes(const Class& classData, Class::Role role, break; } + includes["tqdbus"].insertString("<tqdbuserror.h>"); + if (!includes["TQt"].isEmpty()) writeIncludes("TQt", includes["TQt"].keys(), stream); @@ -663,6 +665,7 @@ static void writeSignalDeclarations(const Class& classData, Class::Role role, case Class::Proxy: stream << "signals:" << endl; + stream << " void AsyncErrorResponseDetected(int asyncCallId, const TQT_DBusError error);" << endl << endl; prefix = " void "; break; diff --git a/tools/dbusxml2qt3/methodgen.cpp b/tools/dbusxml2qt3/methodgen.cpp index 7e0b633..cf7929c 100644 --- a/tools/dbusxml2qt3/methodgen.cpp +++ b/tools/dbusxml2qt3/methodgen.cpp @@ -1576,7 +1576,11 @@ void MethodGenerator::writeProxyAsyncReplyHandler(const Class& classData, // FIXME tricking writeVariables and writeSignalEmit into writing // the reply emit code by manipulating arguments and name - stream << " int _asyncCallId = asyncCallId;" << endl; + stream << " int _asyncCallId = asyncCallId;" << endl << endl; + + stream << " if (message.type() == TQT_DBusMessage::ErrorMessage) {" << endl; + stream << " emit AsyncErrorResponseDetected(_asyncCallId, message.error());" << endl; + stream << " }" << endl << endl; Method signal = *it; signal.arguments.pop_front(); |