diff options
Diffstat (limited to 'daemon/gdm-session-direct.c')
-rw-r--r-- | daemon/gdm-session-direct.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c index 8c2b0b2d..fa8ae49d 100644 --- a/daemon/gdm-session-direct.c +++ b/daemon/gdm-session-direct.c @@ -281,9 +281,27 @@ on_session_exited (GdmSession *session, } static DBusHandlerResult -gdm_session_direct_handle_setup_complete (GdmSessionDirect *session, - GdmSessionConversation *conversation, - DBusMessage *message) +gdm_session_direct_handle_service_unavailable (GdmSessionDirect *session, + GdmSessionConversation *conversation, + DBusMessage *message) +{ + DBusMessage *reply; + + g_debug ("GdmSessionDirect: Emitting 'service-unavailable' signal"); + + reply = dbus_message_new_method_return (message); + dbus_connection_send (conversation->worker_connection, reply, NULL); + dbus_message_unref (reply); + + _gdm_session_service_unavailable (GDM_SESSION (session), conversation->service_name); + + return DBUS_HANDLER_RESULT_HANDLED; +} + +static DBusHandlerResult +gdm_session_direct_handle_setup_complete (GdmSessionDirect *session, + GdmSessionConversation *conversation, + DBusMessage *message) { DBusMessage *reply; @@ -1237,6 +1255,8 @@ session_worker_message (DBusConnection *connection, return gdm_session_direct_handle_problem (session, conversation, message); } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "CancelPendingQuery")) { return gdm_session_direct_handle_cancel_pending_query (session, conversation, message); + } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "ServiceUnavailable")) { + return gdm_session_direct_handle_service_unavailable (session, conversation, message); } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "SetupComplete")) { return gdm_session_direct_handle_setup_complete (session, conversation, message); } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "SetupFailed")) { |