Chris Coulson has proposed merging lp:~chrisccoulson/gnome-session/ubuntu into 
lp:~ubuntu-desktop/gnome-session/ubuntu.

Requested reviews:
    Sebastien Bacher (seb128)

Here is the gnome-session patch to add 2 new DBus methods (RequestShutdown and 
RequestReboot). The FUSA can use these terminate the session properly.
-- 
https://code.launchpad.net/~chrisccoulson/gnome-session/ubuntu/+merge/5365
Your team Ubuntu Desktop is subscribed to branch 
lp:~ubuntu-desktop/gnome-session/ubuntu.
=== modified file 'debian/changelog'
--- debian/changelog	2009-04-08 11:03:50 +0000
+++ debian/changelog	2009-04-08 17:36:53 +0000
@@ -1,3 +1,12 @@
+gnome-session (2.26.0svn20090408-0ubuntu2) jaunty; urgency=low
+
+  * debian/patches/95_dbus_request_shutdown.patch:
+    - Add "RequestShutdown" and "RequestReboot" DBus methods to
+      allow other applications to shutdown or reboot the machine
+      via the session manager.
+
+ -- Chris Coulson <chrisccoul...@googlemail.com>  Wed, 08 Apr 2009 18:04:43 +0100
+
 gnome-session (2.26.0svn20090408-0ubuntu1) jaunty; urgency=low
 
   * Updated to the current svn version (lp: #257067, #272854)

=== added file 'debian/patches/95_dbus_request_shutdown.patch'
--- debian/patches/95_dbus_request_shutdown.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/95_dbus_request_shutdown.patch	2009-04-08 17:36:53 +0000
@@ -0,0 +1,97 @@
+Index: gnome-session-2.26.0svn20090408/gnome-session/gsm-manager.c
+===================================================================
+--- gnome-session-2.26.0svn20090408.orig/gnome-session/gsm-manager.c	2009-04-08 18:02:20.000000000 +0100
++++ gnome-session-2.26.0svn20090408/gnome-session/gsm-manager.c	2009-04-08 18:04:09.000000000 +0100
+@@ -2815,6 +2815,48 @@
+ }
+ 
+ gboolean
++gsm_manager_request_shutdown (GsmManager *manager,
++                              GError    **error)
++{
++        g_debug ("GsmManager: RequestShutdown called");
++
++        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
++
++        if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
++                g_set_error (error,
++                             GSM_MANAGER_ERROR,
++                             GSM_MANAGER_ERROR_NOT_IN_RUNNING,
++                             "RequestShutdown interface is only available during the Running phase");
++                return FALSE;
++        }
++
++        request_shutdown (manager);
++
++        return TRUE;
++}
++
++gboolean
++gsm_manager_request_reboot (GsmManager *manager,
++                            GError    **error)
++{
++        g_debug ("GsmManager: RequestReboot called");
++
++        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
++
++        if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
++                g_set_error (error,
++                             GSM_MANAGER_ERROR,
++                             GSM_MANAGER_ERROR_NOT_IN_RUNNING,
++                             "RequestReboot interface is only available during the Running phase");
++                return FALSE;
++        }
++
++        request_reboot (manager);
++
++        return TRUE;
++}
++
++gboolean
+ gsm_manager_shutdown (GsmManager *manager,
+                       GError    **error)
+ {
+Index: gnome-session-2.26.0svn20090408/gnome-session/gsm-manager.h
+===================================================================
+--- gnome-session-2.26.0svn20090408.orig/gnome-session/gsm-manager.h	2009-04-08 18:00:57.000000000 +0100
++++ gnome-session-2.26.0svn20090408/gnome-session/gsm-manager.h	2009-04-08 18:02:07.000000000 +0100
+@@ -148,7 +148,10 @@
+                                                                 guint                  flags,
+                                                                 gboolean              *is_inhibited,
+                                                                 GError                *error);
+-
++gboolean            gsm_manager_request_shutdown               (GsmManager     *manager,
++                                                                GError        **error);
++gboolean            gsm_manager_request_reboot                 (GsmManager     *manager,
++                                                                GError        **error);  
+ gboolean            gsm_manager_shutdown                       (GsmManager     *manager,
+                                                                 GError        **error);
+ 
+Index: gnome-session-2.26.0svn20090408/gnome-session/org.gnome.SessionManager.xml
+===================================================================
+--- gnome-session-2.26.0svn20090408.orig/gnome-session/org.gnome.SessionManager.xml	2009-04-08 17:59:06.000000000 +0100
++++ gnome-session-2.26.0svn20090408/gnome-session/org.gnome.SessionManager.xml	2009-04-08 18:00:34.000000000 +0100
+@@ -301,6 +301,23 @@
+       </doc:doc>
+     </method>
+ 
++	<method name="RequestShutdown">
++      <doc:doc>
++        <doc:description>
++          <doc:para>Request a shutdown with no dialog</doc:para>
++        </doc:description>
++      </doc:doc>
++	</method>
++
++	<method name="RequestReboot">
++      <doc:doc>
++        <doc:description>
++          <doc:para>Request a reboot with no dialog</doc:para>
++        </doc:description>
++      </doc:doc>
++	</method>
++	
++
+     <!-- Signals -->
+ 
+     <signal name="ClientAdded">

=== modified file 'debian/patches/series'
--- debian/patches/series	2009-04-08 11:03:50 +0000
+++ debian/patches/series	2009-04-08 17:36:53 +0000
@@ -2,4 +2,5 @@
 80_new_upstream_session_dialog.patch
 81_gnome_wm_install.patch
 91_upstream_change_fix_session_saving.patch
+95_dbus_request_shutdown.patch
 98_autotools.patch

-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop

Reply via email to