[gnome-packagekit/glib2-merge-candidate: 8/13] trivial: Use GpkSession in gpk-update-viewer
- From: Richard Hughes <rhughes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-packagekit/glib2-merge-candidate: 8/13] trivial: Use GpkSession in gpk-update-viewer
- Date: Fri, 9 Oct 2009 12:04:56 +0000 (UTC)
commit 45ff08c69622e0c262f0a6d12b53ad1a85c2d31b
Author: Richard Hughes <richard hughsie com>
Date: Fri Oct 9 10:10:42 2009 +0100
trivial: Use GpkSession in gpk-update-viewer
src/gpk-update-viewer.c | 71 ++++++++++-------------------------------------
1 files changed, 15 insertions(+), 56 deletions(-)
---
diff --git a/src/gpk-update-viewer.c b/src/gpk-update-viewer.c
index 8982ad8..7da5b5f 100644
--- a/src/gpk-update-viewer.c
+++ b/src/gpk-update-viewer.c
@@ -50,13 +50,11 @@
#include "gpk-cell-renderer-spinner.h"
#include "gpk-enum.h"
#include "gpk-task.h"
+#include "gpk-session.h"
#define GPK_UPDATE_VIEWER_AUTO_QUIT_TIMEOUT 10 /* seconds */
#define GPK_UPDATE_VIEWER_AUTO_RESTART_TIMEOUT 60 /* seconds */
#define GPK_UPDATE_VIEWER_MOBILE_SMALL_SIZE 512*1024 /* bytes */
-#define GNOME_SESSION_MANAGER_SERVICE "org.gnome.SessionManager"
-#define GNOME_SESSION_MANAGER_PATH "/org/gnome/SessionManager"
-#define GNOME_SESSION_MANAGER_INTERFACE "org.gnome.SessionManager"
static guint auto_shutdown_id = 0;
static GMainLoop *loop = NULL;
@@ -97,56 +95,6 @@ enum {
static gboolean gpk_update_viewer_get_new_update_array (void);
/**
- * gpk_update_viewer_logout:
- **/
-static void
-gpk_update_viewer_logout (void)
-{
- DBusGConnection *connection;
- DBusGProxy *proxy;
- GError *error = NULL;
- gboolean ret;
-
- /* get org.gnome.Session interface */
- connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
- proxy = dbus_g_proxy_new_for_name_owner (connection, GNOME_SESSION_MANAGER_SERVICE,
- GNOME_SESSION_MANAGER_PATH,
- GNOME_SESSION_MANAGER_INTERFACE, &error);
- if (proxy == NULL) {
- egg_warning ("cannot connect to proxy %s: %s", GNOME_SESSION_MANAGER_SERVICE, error->message);
- g_error_free (error);
- goto out;
- }
-
- /* log out of the session */
- ret = dbus_g_proxy_call (proxy, "Shutdown", &error, G_TYPE_INVALID);
- if (!ret) {
- egg_warning ("cannot shutdown session: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- g_object_unref (proxy);
-}
-
-/**
- * gpk_update_viewer_shutdown:
- **/
-static void
-gpk_update_viewer_shutdown (void)
-{
- GError *error = NULL;
- gboolean ret;
-
- /* use consolekit to restart */
- ret = egg_console_kit_restart (console, &error);
- if (!ret) {
- egg_warning ("cannot restart: %s", error->message);
- g_error_free (error);
- }
-}
-
-/**
* gpk_update_viewer_button_help_cb:
**/
static void
@@ -226,6 +174,7 @@ gpk_update_viewer_check_restart (PkRestartEnum restart)
const gchar *button;
GtkResponseType response;
gboolean show_button = TRUE;
+ GError *error = NULL;
/* get the text */
title = gpk_restart_enum_to_localised_text (restart);
@@ -291,9 +240,19 @@ gpk_update_viewer_check_restart (PkRestartEnum restart)
/* do the action */
if (restart == PK_RESTART_ENUM_SYSTEM)
- gpk_update_viewer_shutdown ();
- else if (restart == PK_RESTART_ENUM_SESSION)
- gpk_update_viewer_logout ();
+ /* use consolekit to restart */
+ ret = egg_console_kit_restart (console, &error);
+ if (!ret) {
+ egg_warning ("cannot restart: %s", error->message);
+ g_error_free (error);
+ }
+ else if (restart == PK_RESTART_ENUM_SESSION) {
+ GpkSession *session;
+ session = gpk_session_new ();
+ /* use gnome-session to log out */
+ gpk_session_logout (session);
+ g_object_unref (session);
+ }
out:
return ret;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]