From 7e6c31b4bce9958453920c5893ceeb0c45c8a6f7 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Mon, 9 Nov 2009 13:53:21 +0100 Subject: GetPluginsInfo implementation --- src/CLI/dbus.cpp | 15 +++++++++++++++ src/CLI/dbus.h | 12 +++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/CLI/dbus.cpp b/src/CLI/dbus.cpp index 420fe70..42222d1 100644 --- a/src/CLI/dbus.cpp +++ b/src/CLI/dbus.cpp @@ -113,6 +113,21 @@ void call_DeleteDebugDump(const char* uuid) dbus_message_unref(reply); } +vector_map_string_t call_GetPluginsInfo() +{ + DBusMessage *msg = new_call_msg("GetPluginsInfo"); + DBusMessage *reply = send_get_reply_and_unref(msg); + + vector_map_string_t argout; + DBusMessageIter in_iter; + dbus_message_iter_init(reply, &in_iter); + 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 GetPluginsInfo: return type mismatch"); + dbus_message_unref(reply); + return argout; +} + void handle_dbus_err(bool error_flag, DBusError *err) { if (dbus_error_is_set(err)) diff --git a/src/CLI/dbus.h b/src/CLI/dbus.h index c6cb82a..fdd400a 100644 --- a/src/CLI/dbus.h +++ b/src/CLI/dbus.h @@ -24,9 +24,19 @@ extern DBusConnection* s_dbus_conn; extern vector_crash_infos_t call_GetCrashInfos(); -extern map_crash_report_t call_CreateReport(const char* uuid); +extern map_crash_report_t call_CreateReport(const char *uuid); extern void call_Report(const map_crash_report_t& report); extern void call_DeleteDebugDump(const char* uuid); + +/* Gets basic data about all installed plugins. + */ +extern vector_map_string_t call_GetPluginsInfo(); + +/* Gets default plugin settings. + * Parameter name corresponds to name obtained from call_GetPluginsInfo. + */ +extern map_plugin_settings_t call_GetPluginSettings(const char *name); + extern void handle_dbus_err(bool error_flag, DBusError *err); #endif -- cgit