summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Daemon/CommLayerServerDBus.cpp14
-rw-r--r--src/Gui/CCDBusBackend.py6
-rw-r--r--src/Gui/CCMainWindow.py4
3 files changed, 16 insertions, 8 deletions
diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp
index 47b66826..a397dd15 100644
--- a/src/Daemon/CommLayerServerDBus.cpp
+++ b/src/Daemon/CommLayerServerDBus.cpp
@@ -227,12 +227,11 @@ static int handle_Report(DBusMessage* call, DBusMessage* reply)
map_crash_data_t argin1;
r = load_val(&in_iter, argin1);
- if (r == ABRT_DBUS_ERROR)
+ if (r != ABRT_DBUS_MORE_FIELDS)
{
error_msg("dbus call %s: parameter type mismatch", __func__ + 7);
return -1;
}
-
const char* comment = get_crash_data_item_content_or_NULL(argin1, FILENAME_COMMENT) ? : "";
const char* reproduce = get_crash_data_item_content_or_NULL(argin1, FILENAME_REPRODUCE) ? : "";
const char* errmsg = NULL;
@@ -254,7 +253,16 @@ static int handle_Report(DBusMessage* call, DBusMessage* reply)
return 0;
}
- /* Second parameter is optional */
+ /* Second parameter: reporters to use */
+ vector_string_t reporters;
+ r = load_val(&in_iter, reporters);
+ if (r == ABRT_DBUS_ERROR)
+ {
+ error_msg("dbus call %s: parameter type mismatch", __func__ + 7);
+ return -1;
+ }
+
+ /* Third parameter is optional */
map_map_string_t user_conf_data;
if (r == ABRT_DBUS_MORE_FIELDS)
{
diff --git a/src/Gui/CCDBusBackend.py b/src/Gui/CCDBusBackend.py
index d1572236..7aa179bc 100644
--- a/src/Gui/CCDBusBackend.py
+++ b/src/Gui/CCDBusBackend.py
@@ -181,12 +181,12 @@ class DBusManager(gobject.GObject):
# 2nd param is "force recreating of backtrace etc"
self.daemon().StartJob(UUID, force, timeout=60)
- def Report(self, report, reporters_settings = None):
+ def Report(self, report, reporters, reporters_settings = None):
# map < Plguin_name vec <status, message> >
if reporters_settings:
- self.daemon().Report(report, reporters_settings, reply_handler=self.report_done, error_handler=self.error_handler_cb, timeout=60)
+ self.daemon().Report(report, reporters, reporters_settings, reply_handler=self.report_done, error_handler=self.error_handler_cb, timeout=60)
else:
- self.daemon().Report(report, reply_handler=self.report_done, error_handler=self.error_handler_cb, timeout=60)
+ self.daemon().Report(report, reporters, reply_handler=self.report_done, error_handler=self.error_handler_cb, timeout=60)
def DeleteDebugDump(self,UUID):
return self.daemon().DeleteDebugDump(UUID)
diff --git a/src/Gui/CCMainWindow.py b/src/Gui/CCMainWindow.py
index 55e979b7..4a8329d8 100644
--- a/src/Gui/CCMainWindow.py
+++ b/src/Gui/CCMainWindow.py
@@ -314,11 +314,11 @@ class MainWindow():
self.timer = gobject.timeout_add(100, self.progress_update_cb)
pluginlist = getPluginInfoList(self.ccdaemon)
reporters_settings = pluginlist.getReporterPluginsSettings()
- log2("Report(result,settings):")
+ log2("Report(result,reporters,settings):")
log2(" result:%s", str(result))
# Careful, this will print reporters_settings["Password"] too
log2(" settings:%s", str(reporters_settings))
- self.ccdaemon.Report(result, reporters_settings)
+ self.ccdaemon.Report(result, ["reporter1", "reporter2"], reporters_settings)
log2("Report() returned")
#self.hydrate()
except Exception, ex: