From eec4070031b2fae76cae29f1f8227b78a6481f2f Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Tue, 1 Sep 2009 14:40:04 +0200 Subject: DBUS: return proper ErrorMessage if report fails --- src/Daemon/CommLayerServerDBus.cpp | 12 +++++++++++- src/Daemon/CommLayerServerDBus.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/Daemon') diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp index 1e159c88..9b38824c 100644 --- a/src/Daemon/CommLayerServerDBus.cpp +++ b/src/Daemon/CommLayerServerDBus.cpp @@ -97,7 +97,17 @@ DBus::Message CCommLayerServerDBus::_Report_stub(const DBus::CallMessage &call) const char* sender = call.sender(); unsigned long unix_uid = m_pConn->sender_unix_uid(sender); VERB1 log("got %s(...) call from %s, uid %lu", "Report", sender, unix_uid); - report_status_t argout1 = Report(argin1, to_string(unix_uid)); + report_status_t argout1; + try + { + argout1 = Report(argin1, to_string(unix_uid)); + } + catch(CABRTException &e) + { + DBus::ErrorMessage reply(call, DBUS_ERROR_FAILED, e.what().c_str()); + return reply; + } + DBus::ReturnMessage reply(call); DBus::MessageIter wi = reply.writer(); diff --git a/src/Daemon/CommLayerServerDBus.h b/src/Daemon/CommLayerServerDBus.h index ff8cb0e9..8824ca39 100644 --- a/src/Daemon/CommLayerServerDBus.h +++ b/src/Daemon/CommLayerServerDBus.h @@ -2,6 +2,7 @@ #define COMMLAYERSERVERDBUS_H_ #include +#include #include #include "CommLayerServer.h" -- cgit