1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Manages connection to LightDM server and provides greeter functionality
7 <!-- ##### SECTION Long_Description ##### -->
9 #LdmGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
12 To connect to the display manager instanciate a #LdmGreeter object from inside the greeter process:
14 <title>Connecting to the display manager</title>
15 <programlisting><![CDATA[
16 LdmGreeter *greeter = ldm_greeter_new ();
17 if (!ldm_greeter_connect (LDM_GREETER (greeter))) {
23 Information on how to connect to the display manager is passed using environment variables.
26 Once connected, start an authentication conversation like this:
28 <title>Example Authorization Conversation</title>
29 <programlisting><![CDATA[
30 static void show_prompt_cb (LdmGreeter *greeter, const char *text)
32 // Show the user the message and prompt for some response
33 gchar *secret = prompt_user (text);
35 // Give the result to the user
36 ldm_greeter_respond (greeter, secret);
39 static void authentication_complete_cb (LdmGreeter *greeter)
41 if (ldm_greeter_get_is_authenticated (greeter)) {
42 // Log in to this session.
43 ldm_greeter_login (greeter, ldm_greeter_get_authentication_user (greeter), ldm_greeter_get_default_session (greeter));
46 // Display a warning and reset the greeter
47 reset_login_screen ();
51 static void quit_cb (LdmGreeter *greeter)
59 g_object_connect (G_OBJECT (greeter), "show-prompt", G_CALLBACK (show_prompt_cb), NULL);
60 g_object_connect (G_OBJECT (greeter), "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL);
61 g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL);
66 <!-- ##### SECTION See_Also ##### -->
71 <!-- ##### SECTION Stability_Level ##### -->
74 <!-- ##### SECTION Image ##### -->
77 <!-- ##### STRUCT LdmGreeter ##### -->
83 <!-- ##### SIGNAL LdmGreeter::authentication-complete ##### -->
88 @ldmgreeter: the object which received the signal.
90 <!-- ##### SIGNAL LdmGreeter::connected ##### -->
95 @ldmgreeter: the object which received the signal.
97 <!-- ##### SIGNAL LdmGreeter::quit ##### -->
102 @ldmgreeter: the object which received the signal.
104 <!-- ##### SIGNAL LdmGreeter::show-message ##### -->
109 @ldmgreeter: the object which received the signal.
113 <!-- ##### SIGNAL LdmGreeter::show-prompt ##### -->
118 @ldmgreeter: the object which received the signal.
122 <!-- ##### SIGNAL LdmGreeter::timed-login ##### -->
127 @ldmgreeter: the object which received the signal.
130 <!-- ##### SIGNAL LdmGreeter::user-added ##### -->
135 @ldmgreeter: the object which received the signal.
138 <!-- ##### SIGNAL LdmGreeter::user-changed ##### -->
143 @ldmgreeter: the object which received the signal.
146 <!-- ##### SIGNAL LdmGreeter::user-removed ##### -->
151 @ldmgreeter: the object which received the signal.
154 <!-- ##### ARG LdmGreeter:authentication-user ##### -->
159 <!-- ##### ARG LdmGreeter:can-hibernate ##### -->
164 <!-- ##### ARG LdmGreeter:can-restart ##### -->
169 <!-- ##### ARG LdmGreeter:can-shutdown ##### -->
174 <!-- ##### ARG LdmGreeter:can-suspend ##### -->
179 <!-- ##### ARG LdmGreeter:default-session ##### -->
184 <!-- ##### ARG LdmGreeter:hostname ##### -->
189 <!-- ##### ARG LdmGreeter:in-authentication ##### -->
194 <!-- ##### ARG LdmGreeter:is-authenticated ##### -->
199 <!-- ##### ARG LdmGreeter:layout ##### -->
204 <!-- ##### ARG LdmGreeter:login-delay ##### -->
209 <!-- ##### ARG LdmGreeter:num-users ##### -->
214 <!-- ##### ARG LdmGreeter:timed-login-user ##### -->
219 <!-- ##### FUNCTION ldm_greeter_new ##### -->
228 <!-- ##### FUNCTION ldm_greeter_connect_to_server ##### -->
237 <!-- ##### FUNCTION ldm_greeter_get_hostname ##### -->
246 <!-- ##### FUNCTION ldm_greeter_get_theme ##### -->
255 <!-- ##### FUNCTION ldm_greeter_get_string_property ##### -->
265 <!-- ##### FUNCTION ldm_greeter_get_integer_property ##### -->
275 <!-- ##### FUNCTION ldm_greeter_get_boolean_property ##### -->
285 <!-- ##### FUNCTION ldm_greeter_get_num_users ##### -->
294 <!-- ##### FUNCTION ldm_greeter_get_users ##### -->
303 <!-- ##### FUNCTION ldm_greeter_get_user_by_name ##### -->
313 <!-- ##### FUNCTION ldm_greeter_get_default_language ##### -->
322 <!-- ##### FUNCTION ldm_greeter_get_languages ##### -->
331 <!-- ##### FUNCTION ldm_greeter_get_layouts ##### -->
340 <!-- ##### FUNCTION ldm_greeter_get_layout ##### -->
349 <!-- ##### FUNCTION ldm_greeter_set_layout ##### -->
358 <!-- ##### FUNCTION ldm_greeter_get_sessions ##### -->
367 <!-- ##### FUNCTION ldm_greeter_get_default_session ##### -->
376 <!-- ##### FUNCTION ldm_greeter_get_has_guest_session ##### -->
385 <!-- ##### FUNCTION ldm_greeter_get_timed_login_user ##### -->
394 <!-- ##### FUNCTION ldm_greeter_get_timed_login_delay ##### -->
403 <!-- ##### FUNCTION ldm_greeter_cancel_timed_login ##### -->
411 <!-- ##### FUNCTION ldm_greeter_login ##### -->
420 <!-- ##### FUNCTION ldm_greeter_login_with_user_prompt ##### -->
428 <!-- ##### FUNCTION ldm_greeter_login_as_guest ##### -->
436 <!-- ##### FUNCTION ldm_greeter_respond ##### -->
445 <!-- ##### FUNCTION ldm_greeter_cancel_authentication ##### -->
453 <!-- ##### FUNCTION ldm_greeter_get_in_authentication ##### -->
462 <!-- ##### FUNCTION ldm_greeter_get_is_authenticated ##### -->
471 <!-- ##### FUNCTION ldm_greeter_get_authentication_user ##### -->
480 <!-- ##### FUNCTION ldm_greeter_start_session ##### -->
489 <!-- ##### FUNCTION ldm_greeter_start_default_session ##### -->
497 <!-- ##### FUNCTION ldm_greeter_get_can_suspend ##### -->
506 <!-- ##### FUNCTION ldm_greeter_suspend ##### -->
514 <!-- ##### FUNCTION ldm_greeter_get_can_hibernate ##### -->
523 <!-- ##### FUNCTION ldm_greeter_hibernate ##### -->
531 <!-- ##### FUNCTION ldm_greeter_get_can_restart ##### -->
540 <!-- ##### FUNCTION ldm_greeter_restart ##### -->
548 <!-- ##### FUNCTION ldm_greeter_get_can_shutdown ##### -->
557 <!-- ##### FUNCTION ldm_greeter_shutdown ##### -->