diff options
| author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-02-07 16:03:50 +0100 |
|---|---|---|
| committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-02-07 16:03:50 +0100 |
| commit | 34fc227339ccd23b30973ea4684fcb6fb408635e (patch) | |
| tree | c47ba01ecdc6e0e2ab5fc38c5eb07c4d6deeeedd /src/CLI/dbus.cpp | |
| parent | 985908c6b086b83381eccd95a0a6508c8bf1d731 (diff) | |
| parent | 1e76e071620e1f9bf110dacf3cf8caffccef324b (diff) | |
| download | abrt-34fc227339ccd23b30973ea4684fcb6fb408635e.tar.gz abrt-34fc227339ccd23b30973ea4684fcb6fb408635e.tar.xz abrt-34fc227339ccd23b30973ea4684fcb6fb408635e.zip | |
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
Diffstat (limited to 'src/CLI/dbus.cpp')
| -rw-r--r-- | src/CLI/dbus.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/CLI/dbus.cpp b/src/CLI/dbus.cpp index ffd1157..db45cd8 100644 --- a/src/CLI/dbus.cpp +++ b/src/CLI/dbus.cpp @@ -142,12 +142,15 @@ map_crash_data_t call_CreateReport(const char* uuid) return argout; } -report_status_t call_Report(const map_crash_data_t& report) +report_status_t call_Report(const map_crash_data_t& report, + const map_map_string_t &plugins) { DBusMessage* msg = new_call_msg(__func__ + 5); DBusMessageIter out_iter; dbus_message_iter_init_append(msg, &out_iter); store_val(&out_iter, report); + if (!plugins.empty()) + store_val(&out_iter, plugins); DBusMessage *reply = send_get_reply_and_unref(msg); @@ -184,7 +187,6 @@ int32_t call_DeleteDebugDump(const char* uuid) return result; } -#ifdef UNUSED map_map_string_t call_GetPluginsInfo() { DBusMessage *msg = new_call_msg(__func__ + 5); @@ -201,7 +203,27 @@ map_map_string_t call_GetPluginsInfo() dbus_message_unref(reply); return argout; } -#endif + +map_plugin_settings_t call_GetPluginSettings(const char *name) +{ + DBusMessage *msg = new_call_msg(__func__ + 5); + dbus_message_append_args(msg, + DBUS_TYPE_STRING, &name, + DBUS_TYPE_INVALID); + + DBusMessage *reply = send_get_reply_and_unref(msg); + + DBusMessageIter in_iter; + dbus_message_iter_init(reply, &in_iter); + + map_string_t argout; + int r = load_val(&in_iter, argout); + if (r != ABRT_DBUS_LAST_FIELD) /* more values present, or bad type */ + error_msg_and_die("dbus call %s: return type mismatch", __func__ + 5); + + dbus_message_unref(reply); + return argout; +} void handle_dbus_err(bool error_flag, DBusError *err) { |
