diff options
Diffstat (limited to 'daemon/gdm-slave.c')
-rw-r--r-- | daemon/gdm-slave.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c index f7934839..69b98bb3 100644 --- a/daemon/gdm-slave.c +++ b/daemon/gdm-slave.c @@ -1283,6 +1283,29 @@ handle_start_initial_session (GdmDBusSlave *skeleton, } static gboolean +handle_reset_initial_session (GdmDBusSlave *skeleton, + GDBusMethodInvocation *invocation, + GdmSlave *slave) +{ + GdmSlaveClass *slave_class; + + slave_class = GDM_SLAVE_GET_CLASS (slave); + if (slave_class->reset_initial_session == NULL) { + g_dbus_method_invocation_return_dbus_error (invocation, + "org.gnome.DisplayManager.Slave.Unsupported", + "Connections to the slave are not supported by this slave"); + return TRUE; + } + + slave_class->reset_initial_session (slave); + + gdm_dbus_slave_complete_reset_initial_session (skeleton, invocation); + + return TRUE; +} + + +static gboolean handle_stop_initial_session (GdmDBusSlave *skeleton, GDBusMethodInvocation *invocation, const char *username, @@ -1331,6 +1354,10 @@ register_slave (GdmSlave *slave) G_CALLBACK (handle_start_initial_session), slave); g_signal_connect (slave->priv->skeleton, + "handle-reset-initial-session", + G_CALLBACK (handle_reset_initial_session), + slave); + g_signal_connect (slave->priv->skeleton, "handle-stop-initial-session", G_CALLBACK (handle_stop_initial_session), slave); |