This only adds the parameter, so far it is just ignored
Run tested.
Please review
--
vda
diff -x '*.po' -d -urpN abrt.6/src/Daemon/CommLayerServerDBus.cpp
abrt.7/src/Daemon/CommLayerServerDBus.cpp
--- abrt.6/src/Daemon/CommLayerServerDBus.cpp 2010-02-26 15:08:44.391635781 +0100
+++ abrt.7/src/Daemon/CommLayerServerDBus.cpp 2010-02-26 15:27:31.758672501 +0100
@@ -227,12 +227,11 @@ static int handle_Report(DBusMessage* ca
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* ca
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 -x '*.po' -d -urpN abrt.6/src/Gui/CCDBusBackend.py
abrt.7/src/Gui/CCDBusBackend.py
--- abrt.6/src/Gui/CCDBusBackend.py 2010-02-05 16:08:45.000000000 +0100
+++ abrt.7/src/Gui/CCDBusBackend.py 2010-02-26 15:23:29.800634158 +0100
@@ -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 -x '*.po' -d -urpN abrt.6/src/Gui/CCMainWindow.py
abrt.7/src/Gui/CCMainWindow.py
--- abrt.6/src/Gui/CCMainWindow.py 2010-02-17 16:05:34.000000000 +0100
+++ abrt.7/src/Gui/CCMainWindow.py 2010-02-26 16:00:38.793634038 +0100
@@ -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: