summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2011-07-22 13:39:54 +1000
committerRobert Ancell <robert.ancell@canonical.com>2011-07-22 13:39:54 +1000
commit19781762b88e64664c6f415ac4c28d87c730763e (patch)
treebec9ae4a863e8d75feb485bcd03d1e054606d751
parentbc7f854cdf9b159476017430c3e87e8809c3c24b (diff)
downloadlightdm-19781762b88e64664c6f415ac4c28d87c730763e.tar.gz
Fix example
-rw-r--r--doc/tmpl/greeter.sgml43
1 files changed, 16 insertions, 27 deletions
diff --git a/doc/tmpl/greeter.sgml b/doc/tmpl/greeter.sgml
index 101e7f02..07777f5b 100644
--- a/doc/tmpl/greeter.sgml
+++ b/doc/tmpl/greeter.sgml
@@ -14,25 +14,23 @@ Make a connection to the LightDM daemon and authenticate users
<programlisting><![CDATA[
int main ()
{
- LightDMGreeter *greeter = lightdm_greeter_new ();
+ GMainLoop *main_loop;
+ LightDMGreeter *greeter
+ main_loop = g_main_loop_new ();
+
+ greeter = lightdm_greeter_new ();
g_object_connect (greeter, "show-prompt", G_CALLBACK (show_prompt_cb), NULL);
g_object_connect (greeter, "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL);
- if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter))) {
- // Log an error
+ // Connect to LightDM daemon
+ if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter)))
return EXIT_FAILURE;
- }
- while (TRUE)
- {
- // Start authentication
- while (!lightdm_greeter_get_is_authenticated (greeter))
- lightdm_greeter_authenticate (greeter, NULL);
+ // Start authentication
+ lightdm_greeter_authenticate (greeter, NULL);
- if (lightdm_greeter_start_session_sync (greeter, NULL))
- return EXIT_SUCCESS;
- }
+ g_main_loop_run (main_loop);
return EXIT_SUCCESS;
}
@@ -48,23 +46,14 @@ static void show_prompt_cb (LightDMGreeter *greeter, const char *text, LightDMPr
static void authentication_complete_cb (LightDMGreeter *greeter)
{
- if (lightdm_greeter_get_is_authenticated (greeter)) {
- // Start the user session
- lightdm_greeter_start_default_session (greeter);
- }
- else {
- // Display a warning and reset the greeter
- reset_login_screen (``Incorrect password, please try again'');
+ // Start the session
+ if (!lightdm_greeter_get_is_authenticated (greeter) ||
+ !lightdm_greeter_start_session_sync (greeter))
+ {
+ // Failed authentication, try again
+ lightdm_greeter_authenticate (greeter, NULL);
}
}
-
-static void quit_cb (LightDMGreeter *greeter)
-{
- // Clean up
- // ...
-
- exit (0);
-}
]]></programlisting>
</example>
</para>