From 8689698b0545046a871730b24ad0eef6414dd990 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Feb 2010 16:38:38 -0600 Subject: Switching to getting a reply --- src/gtk-dialog/gtk-logout-helper.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/gtk-dialog/gtk-logout-helper.c b/src/gtk-dialog/gtk-logout-helper.c index 4c6614c..7973bfc 100644 --- a/src/gtk-dialog/gtk-logout-helper.c +++ b/src/gtk-dialog/gtk-logout-helper.c @@ -29,6 +29,15 @@ with this program. If not, see . #include "ck-pk-helper.h" #include "gconf-helper.h" +static void +console_kit_action_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) +{ + g_return_if_fail(DBUS_IS_G_PROXY(proxy)); + g_return_if_fail(call != NULL); + + +} + static void consolekit_fallback (LogoutDialogAction action) { @@ -48,14 +57,20 @@ consolekit_fallback (LogoutDialogAction action) g_warning("Unable to fallback to ConsoleKit for logout as it's a session issue. We need some sort of session handler."); break; case LOGOUT_DIALOG_SHUTDOWN: - dbus_g_proxy_call_no_reply(proxy, - "Stop", - G_TYPE_INVALID); + dbus_g_proxy_begin_call(proxy, + "Stop", + console_kit_action_cb, + NULL, /* data */ + NULL, /* destroy notifier */ + G_TYPE_INVALID); break; case LOGOUT_DIALOG_RESTART: - dbus_g_proxy_call_no_reply(proxy, - "Restart", - G_TYPE_INVALID); + dbus_g_proxy_begin_call(proxy, + "Restart", + console_kit_action_cb, + NULL, /* data */ + NULL, /* destroy notifier */ + G_TYPE_INVALID); break; default: g_warning("Unknown action"); -- cgit v1.2.3 From d605a1086d9fd4ca887c42c237aec5c246cda749 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Feb 2010 16:42:30 -0600 Subject: can't really use async as we dont' have a mainloop here --- src/gtk-dialog/gtk-logout-helper.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/gtk-dialog/gtk-logout-helper.c b/src/gtk-dialog/gtk-logout-helper.c index 7973bfc..c8635e6 100644 --- a/src/gtk-dialog/gtk-logout-helper.c +++ b/src/gtk-dialog/gtk-logout-helper.c @@ -29,15 +29,6 @@ with this program. If not, see . #include "ck-pk-helper.h" #include "gconf-helper.h" -static void -console_kit_action_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) -{ - g_return_if_fail(DBUS_IS_G_PROXY(proxy)); - g_return_if_fail(call != NULL); - - -} - static void consolekit_fallback (LogoutDialogAction action) { @@ -52,25 +43,23 @@ consolekit_fallback (LogoutDialogAction action) return; } + GError * error = NULL; + switch (action) { case LOGOUT_DIALOG_LOGOUT: g_warning("Unable to fallback to ConsoleKit for logout as it's a session issue. We need some sort of session handler."); break; case LOGOUT_DIALOG_SHUTDOWN: - dbus_g_proxy_begin_call(proxy, - "Stop", - console_kit_action_cb, - NULL, /* data */ - NULL, /* destroy notifier */ - G_TYPE_INVALID); + dbus_g_proxy_call(proxy, + "Stop", + &error, + G_TYPE_INVALID); break; case LOGOUT_DIALOG_RESTART: - dbus_g_proxy_begin_call(proxy, - "Restart", - console_kit_action_cb, - NULL, /* data */ - NULL, /* destroy notifier */ - G_TYPE_INVALID); + dbus_g_proxy_call(proxy, + "Restart", + &error, + G_TYPE_INVALID); break; default: g_warning("Unknown action"); @@ -79,6 +68,11 @@ consolekit_fallback (LogoutDialogAction action) g_object_unref(proxy); + if (error != NULL) { + g_error("Unable to signal ConsoleKit: %s", error->message); + g_error_free(error); + } + return; } -- cgit v1.2.3