From 24e01e9d0c1ed7844a2bddd751aa0e7908febbaa Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Sun, 28 Jun 2020 20:47:24 +0800 Subject: a11y-keyboard: migrate from dbus-glib to GDBus --- .../a11y-keyboard/msd-a11y-preferences-dialog.c | 56 +++++++++++----------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c index e477a61..8ef1af6 100644 --- a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c +++ b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c @@ -31,9 +31,6 @@ #include #include #include - -#include - #include #include "msd-a11y-preferences-dialog.h" @@ -343,41 +340,44 @@ config_set_capslock_beep (MsdA11yPreferencesDialog *dialog, gboolean enabled) static gboolean config_have_at_gsettings_condition (const char *condition) { - DBusGProxy *sm_proxy; - DBusGConnection *connection; - GError *error; - gboolean res; - gboolean is_handled; - - error = NULL; - connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); - if (connection == NULL) { + GDBusProxy *proxy = NULL; + GError *error = NULL; + GVariant *ret; + gboolean is_handled; + + proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + SM_DBUS_NAME, + SM_DBUS_PATH, + SM_DBUS_INTERFACE, + NULL, + &error); + if (proxy == NULL) { g_warning ("Unable to connect to session bus: %s", error->message); - return FALSE; - } - sm_proxy = dbus_g_proxy_new_for_name (connection, - SM_DBUS_NAME, - SM_DBUS_PATH, - SM_DBUS_INTERFACE); - if (sm_proxy == NULL) { + g_error_free (error); return FALSE; } is_handled = FALSE; - res = dbus_g_proxy_call (sm_proxy, - "IsAutostartConditionHandled", - &error, - G_TYPE_STRING, condition, - G_TYPE_INVALID, - G_TYPE_BOOLEAN, &is_handled, - G_TYPE_INVALID); - if (! res) { + ret = g_dbus_proxy_call_sync (proxy, + "IsAutostartConditionHandled", + g_variant_new ("(s)", condition), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + if (ret == NULL) { g_warning ("Unable to call IsAutostartConditionHandled (%s): %s", condition, error->message); + g_error_free (error); + } else { + g_variant_get (ret, "(b)", &is_handled); + g_variant_unref (ret); } - g_object_unref (sm_proxy); + g_object_unref (proxy); return is_handled; } -- cgit v1.2.1