]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - doc/tmpl/greeter.sgml
connect_to_server -> connect_sync, start_session -> start_session_sync
[sojka/lightdm.git] / doc / tmpl / greeter.sgml
1 <!-- ##### SECTION Title ##### -->
2 Greeter Interface
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Make a connection to the LightDM daemon and authenticate users
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 #LightDMGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
10 </para>
11 <para>
12 <example>
13 <title>Example Greeter</title>
14 <programlisting><![CDATA[
15 int main ()
16 {
17     LightDMGreeter *greeter = lightdm_greeter_new ();
18
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);
21
22     if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter))) {
23         // Log an error
24         return EXIT_FAILURE;
25     }
26
27     while (TRUE)
28     {
29         // Start authentication
30         while (!lightdm_greeter_get_is_authenticated (greeter))
31             lightdm_greeter_authenticate (greeter, NULL);
32
33         if (lightdm_greeter_start_session_sync (greeter, NULL))
34             return EXIT_SUCCESS;
35     }
36
37     return EXIT_SUCCESS;
38 }
39
40 static void show_prompt_cb (LightDMGreeter *greeter, const char *text, LightDMPromptType type)
41 {
42     // Show the user the message and prompt for some response
43     gchar *secret = prompt_user (text, type);
44
45     // Give the result to the user
46     lightdm_greeter_respond (greeter, response);
47 }
48
49 static void authentication_complete_cb (LightDMGreeter *greeter)
50 {
51     if (lightdm_greeter_get_is_authenticated (greeter)) {
52         // Start the user session
53         lightdm_greeter_start_default_session (greeter);
54     }
55     else {
56         // Display a warning and reset the greeter
57         reset_login_screen (``Incorrect password, please try again'');
58     }
59 }
60
61 static void quit_cb (LightDMGreeter *greeter)
62 {
63     // Clean up
64     // ...
65     
66     exit (0);
67 }
68 ]]></programlisting>
69 </example>
70 </para>
71
72 <!-- ##### SECTION See_Also ##### -->
73 <para>
74
75 </para>
76
77 <!-- ##### SECTION Stability_Level ##### -->
78
79
80 <!-- ##### SECTION Image ##### -->
81
82
83 <!-- ##### USER_FUNCTION autologin_timer_expired ##### -->
84 <para>
85
86 </para>
87
88 @greeter: 
89
90
91 <!-- ##### USER_FUNCTION show_message ##### -->
92 <para>
93
94 </para>
95
96 @greeter: 
97 @text: 
98 @type: 
99
100
101 <!-- ##### USER_FUNCTION show_prompt ##### -->
102 <para>
103
104 </para>
105
106 @greeter: 
107 @text: 
108 @type: 
109
110
111 <!-- ##### USER_FUNCTION authentication_complete ##### -->
112 <para>
113
114 </para>
115
116 @greeter: 
117
118
119 <!-- ##### ENUM LightDMMessageType ##### -->
120 <para>
121
122 </para>
123
124 @LIGHTDM_MESSAGE_TYPE_INFO: 
125 @LIGHTDM_MESSAGE_TYPE_ERROR: 
126
127 <!-- ##### ENUM LightDMPromptType ##### -->
128 <para>
129
130 </para>
131
132 @LIGHTDM_PROMPT_TYPE_QUESTION: 
133 @LIGHTDM_PROMPT_TYPE_SECRET: 
134
135 <!-- ##### FUNCTION lightdm_greeter_new ##### -->
136 <para>
137
138 </para>
139
140 @void: 
141 @Returns: 
142
143
144 <!-- ##### FUNCTION lightdm_greeter_connect_sync ##### -->
145 <para>
146
147 </para>
148
149 @greeter: 
150 @Returns: 
151
152
153 <!-- ##### FUNCTION lightdm_greeter_get_default_session_hint ##### -->
154 <para>
155
156 </para>
157
158 @greeter: 
159 @Returns: 
160
161
162 <!-- ##### FUNCTION lightdm_greeter_get_hint ##### -->
163 <para>
164
165 </para>
166
167 @greeter: 
168 @name: 
169 @Returns: 
170
171
172 <!-- ##### FUNCTION lightdm_greeter_get_has_guest_account_hint ##### -->
173 <para>
174
175 </para>
176
177 @greeter: 
178 @Returns: 
179
180
181 <!-- ##### FUNCTION lightdm_greeter_get_hide_users_hint ##### -->
182 <para>
183
184 </para>
185
186 @greeter: 
187 @Returns: 
188
189
190 <!-- ##### FUNCTION lightdm_greeter_get_select_user_hint ##### -->
191 <para>
192
193 </para>
194
195 @greeter: 
196 @Returns: 
197
198
199 <!-- ##### FUNCTION lightdm_greeter_get_select_guest_hint ##### -->
200 <para>
201
202 </para>
203
204 @greeter: 
205 @Returns: 
206
207
208 <!-- ##### FUNCTION lightdm_greeter_get_autologin_user_hint ##### -->
209 <para>
210
211 </para>
212
213 @greeter: 
214 @Returns: 
215
216
217 <!-- ##### FUNCTION lightdm_greeter_get_autologin_guest_hint ##### -->
218 <para>
219
220 </para>
221
222 @greeter: 
223 @Returns: 
224
225
226 <!-- ##### FUNCTION lightdm_greeter_get_autologin_timeout_hint ##### -->
227 <para>
228
229 </para>
230
231 @greeter: 
232 @Returns: 
233
234
235 <!-- ##### FUNCTION lightdm_greeter_cancel_autologin ##### -->
236 <para>
237
238 </para>
239
240 @greeter: 
241
242
243 <!-- ##### FUNCTION lightdm_greeter_authenticate ##### -->
244 <para>
245
246 </para>
247
248 @greeter: 
249 @username: 
250
251
252 <!-- ##### FUNCTION lightdm_greeter_authenticate_as_guest ##### -->
253 <para>
254
255 </para>
256
257 @greeter: 
258
259
260 <!-- ##### FUNCTION lightdm_greeter_respond ##### -->
261 <para>
262
263 </para>
264
265 @greeter: 
266 @response: 
267
268
269 <!-- ##### FUNCTION lightdm_greeter_cancel_authentication ##### -->
270 <para>
271
272 </para>
273
274 @greeter: 
275
276
277 <!-- ##### FUNCTION lightdm_greeter_get_in_authentication ##### -->
278 <para>
279
280 </para>
281
282 @greeter: 
283 @Returns: 
284
285
286 <!-- ##### FUNCTION lightdm_greeter_get_is_authenticated ##### -->
287 <para>
288
289 </para>
290
291 @greeter: 
292 @Returns: 
293
294
295 <!-- ##### FUNCTION lightdm_greeter_get_authentication_user ##### -->
296 <para>
297
298 </para>
299
300 @greeter: 
301 @Returns: 
302
303
304 <!-- ##### FUNCTION lightdm_greeter_start_session_sync ##### -->
305 <para>
306
307 </para>
308
309 @greeter: 
310 @session: 
311 @Returns: 
312
313