[gnome-panel/wip/gnome-3.10+] session-manager: add function to request reboot
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel/wip/gnome-3.10+] session-manager: add function to request reboot
- Date: Wed, 22 Oct 2014 23:31:05 +0000 (UTC)
commit e751091753c85493f9d11e3015d1ca15e39c0949
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Thu Oct 23 00:04:10 2014 +0300
session-manager: add function to request reboot
gnome-panel/libpanel-util/panel-session-manager.c | 40 +++++++++++++++++++++
gnome-panel/libpanel-util/panel-session-manager.h | 1 +
2 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/gnome-panel/libpanel-util/panel-session-manager.c
b/gnome-panel/libpanel-util/panel-session-manager.c
index bd12a82..9ca5077 100644
--- a/gnome-panel/libpanel-util/panel-session-manager.c
+++ b/gnome-panel/libpanel-util/panel-session-manager.c
@@ -270,6 +270,46 @@ panel_session_manager_request_shutdown (PanelSessionManager *manager)
manager);
}
+static void
+reboot_ready_callback (GObject *source_object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ PanelSessionManager *manager = (PanelSessionManager *) user_data;
+ GError *error = NULL;
+ GVariant *ret;
+
+ ret = g_dbus_proxy_call_finish (manager->priv->session_proxy, res, &error);
+ if (ret) {
+ g_variant_unref (ret);
+ }
+
+ if (error) {
+ g_warning ("Could not ask session manager to reboot: %s", error->message);
+ g_error_free (error);
+ }
+}
+
+void
+panel_session_manager_request_reboot (PanelSessionManager *manager)
+{
+ g_return_if_fail (PANEL_IS_SESSION_MANAGER (manager));
+
+ if (!manager->priv->session_proxy) {
+ g_warning ("Session manager service not available.");
+ return;
+ }
+
+ g_dbus_proxy_call (manager->priv->session_proxy,
+ "Reboot",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ (GAsyncReadyCallback) reboot_ready_callback,
+ manager);
+}
+
gboolean
panel_session_manager_is_shutdown_available (PanelSessionManager *manager)
{
diff --git a/gnome-panel/libpanel-util/panel-session-manager.h
b/gnome-panel/libpanel-util/panel-session-manager.h
index caf5a29..3cd4bb3 100644
--- a/gnome-panel/libpanel-util/panel-session-manager.h
+++ b/gnome-panel/libpanel-util/panel-session-manager.h
@@ -79,6 +79,7 @@ PanelSessionManagerPresenceType panel_session_manager_get_presence (PanelSession
void panel_session_manager_request_logout (PanelSessionManager *session,
PanelSessionManagerLogoutType mode);
void panel_session_manager_request_shutdown (PanelSessionManager *session);
+void panel_session_manager_request_reboot (PanelSessionManager *session);
gboolean panel_session_manager_is_shutdown_available (PanelSessionManager *session);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]