1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Make a connection to the LightDM daemon and authenticate users
7 <!-- ##### SECTION Long_Description ##### -->
9 #LightDMGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
13 <title>Example Greeter</title>
14 <programlisting><![CDATA[
17 LightDMGreeter *greeter = lightdm_greeter_new ();
19 g_object_connect (greeter, "show-prompt", G_CALLBACK (show_prompt_cb), NULL);
20 g_object_connect (greeter, "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL);
22 if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter))) {
29 // Start authentication
30 while (!lightdm_greeter_get_is_authenticated (greeter))
31 lightdm_greeter_authenticate (greeter, NULL);
33 if (lightdm_greeter_start_session_sync (greeter, NULL))
40 static void show_prompt_cb (LightDMGreeter *greeter, const char *text, LightDMPromptType type)
42 // Show the user the message and prompt for some response
43 gchar *secret = prompt_user (text, type);
45 // Give the result to the user
46 lightdm_greeter_respond (greeter, response);
49 static void authentication_complete_cb (LightDMGreeter *greeter)
51 if (lightdm_greeter_get_is_authenticated (greeter)) {
52 // Start the user session
53 lightdm_greeter_start_default_session (greeter);
56 // Display a warning and reset the greeter
57 reset_login_screen (``Incorrect password, please try again'');
61 static void quit_cb (LightDMGreeter *greeter)
72 <!-- ##### SECTION See_Also ##### -->
77 <!-- ##### SECTION Stability_Level ##### -->
80 <!-- ##### SECTION Image ##### -->
83 <!-- ##### USER_FUNCTION autologin_timer_expired ##### -->
91 <!-- ##### USER_FUNCTION show_message ##### -->
101 <!-- ##### USER_FUNCTION show_prompt ##### -->
111 <!-- ##### USER_FUNCTION authentication_complete ##### -->
119 <!-- ##### ENUM LightDMMessageType ##### -->
124 @LIGHTDM_MESSAGE_TYPE_INFO:
125 @LIGHTDM_MESSAGE_TYPE_ERROR:
127 <!-- ##### ENUM LightDMPromptType ##### -->
132 @LIGHTDM_PROMPT_TYPE_QUESTION:
133 @LIGHTDM_PROMPT_TYPE_SECRET:
135 <!-- ##### FUNCTION lightdm_greeter_new ##### -->
144 <!-- ##### FUNCTION lightdm_greeter_connect_sync ##### -->
153 <!-- ##### FUNCTION lightdm_greeter_get_default_session_hint ##### -->
162 <!-- ##### FUNCTION lightdm_greeter_get_hint ##### -->
172 <!-- ##### FUNCTION lightdm_greeter_get_has_guest_account_hint ##### -->
181 <!-- ##### FUNCTION lightdm_greeter_get_hide_users_hint ##### -->
190 <!-- ##### FUNCTION lightdm_greeter_get_select_user_hint ##### -->
199 <!-- ##### FUNCTION lightdm_greeter_get_select_guest_hint ##### -->
208 <!-- ##### FUNCTION lightdm_greeter_get_autologin_user_hint ##### -->
217 <!-- ##### FUNCTION lightdm_greeter_get_autologin_guest_hint ##### -->
226 <!-- ##### FUNCTION lightdm_greeter_get_autologin_timeout_hint ##### -->
235 <!-- ##### FUNCTION lightdm_greeter_cancel_autologin ##### -->
243 <!-- ##### FUNCTION lightdm_greeter_authenticate ##### -->
252 <!-- ##### FUNCTION lightdm_greeter_authenticate_as_guest ##### -->
260 <!-- ##### FUNCTION lightdm_greeter_respond ##### -->
269 <!-- ##### FUNCTION lightdm_greeter_cancel_authentication ##### -->
277 <!-- ##### FUNCTION lightdm_greeter_get_in_authentication ##### -->
286 <!-- ##### FUNCTION lightdm_greeter_get_is_authenticated ##### -->
295 <!-- ##### FUNCTION lightdm_greeter_get_authentication_user ##### -->
304 <!-- ##### FUNCTION lightdm_greeter_start_session_sync ##### -->