Index: gnome-session-2.26.0/gnome-session/org.gnome.SessionManager.xml
===================================================================
--- gnome-session-2.26.0.orig/gnome-session/org.gnome.SessionManager.xml	2009-03-18 21:10:09.000000000 +0000
+++ gnome-session-2.26.0/gnome-session/org.gnome.SessionManager.xml	2009-03-18 21:29:55.000000000 +0000
@@ -301,6 +301,22 @@
       </doc:doc>
     </method>
 
+	<method name="ShutdownNow">
+      <doc:doc>
+        <doc:description>
+          <doc:para>Request a shutdown with no dialog</doc:para>
+        </doc:description>
+      </doc:doc>
+	</method>
+
+	<method name="RebootNow">
+      <doc:doc>
+        <doc:description>
+          <doc:para>Request a reboot with no dialog</doc:para>
+        </doc:description>
+      </doc:doc>
+	</method>
+	
     <!-- Signals -->
 
     <signal name="ClientAdded">
Index: gnome-session-2.26.0/gnome-session/gsm-manager.h
===================================================================
--- gnome-session-2.26.0.orig/gnome-session/gsm-manager.h	2009-03-18 21:29:55.000000000 +0000
+++ gnome-session-2.26.0/gnome-session/gsm-manager.h	2009-03-18 21:29:55.000000000 +0000
@@ -151,6 +151,10 @@
                                                                 gboolean              *is_inhibited,
                                                                 GError                *error);
 
+gboolean            gsm_manager_shutdown_now                   (GsmManager     *manager,
+                                                                GError        **error);
+gboolean            gsm_manager_reboot_now                     (GsmManager     *manager,
+                                                                GError        **error);                                   
 gboolean            gsm_manager_shutdown                       (GsmManager     *manager,
                                                                 GError        **error);
 
Index: gnome-session-2.26.0/gnome-session/gsm-manager.c
===================================================================
--- gnome-session-2.26.0.orig/gnome-session/gsm-manager.c	2009-03-18 21:30:05.000000000 +0000
+++ gnome-session-2.26.0/gnome-session/gsm-manager.c	2009-03-18 21:33:05.000000000 +0000
@@ -2712,6 +2712,48 @@
 }
 
 gboolean
+gsm_manager_shutdown_now (GsmManager *manager,
+                          GError    **error)
+{
+        g_debug ("GsmManager: ShutdownNow 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,
+                             "ShutdownNow interface is only available during the Running phase");
+                return FALSE;
+        }
+
+        request_shutdown (manager);
+
+        return TRUE;
+}
+
+gboolean
+gsm_manager_reboot_now (GsmManager *manager,
+                          GError    **error)
+{
+        g_debug ("GsmManager: RebootNow 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,
+                             "RebootNow interface is only available during the Running phase");
+                return FALSE;
+        }
+
+        request_reboot (manager);
+
+        return TRUE;
+}
+
+gboolean
 gsm_manager_shutdown (GsmManager *manager,
                       GError    **error)
 {
