diff options
author | Ray Strode <rstrode@redhat.com> | 2008-03-09 21:41:08 +0000 |
---|---|---|
committer | Ray Strode <halfline@src.gnome.org> | 2008-03-09 21:41:08 +0000 |
commit | 3259f2a3391c7f062c5311d3994c30e06412f2b3 (patch) | |
tree | 416cd6229e0f3788a1952315c48cef91288d378d /daemon/gdm-simple-slave.c | |
parent | 181c582036cec347f921033c79f0b24c3d0943e0 (diff) | |
download | gdm-3259f2a3391c7f062c5311d3994c30e06412f2b3.tar.gz |
Read timed login configuration from the daemon, and pass along rather than
2008-03-09 Ray Strode <rstrode@redhat.com>
Read timed login configuration from the daemon,
and pass along rather than reading it from the daemon
and greeter.
* daemon/gdm-simple-slave.c:
(get_timed_login_details):
(on_session_opened):
* daemon/gdm-greeter-server.[ch]:
(gdm_server_request_timed_login):
Read timed login configuration and forward to greeter
* gui/simple-greeter/gdm-greeter-client.[ch]:
(on_timed_login_requested), (client_dbus_handle_message),
(gdm_greeter_client_class_init):
* gui/simple-greeter/gdm-greeter-session.[ch]:
(on_timed_login_requested), (gdm_greeter_session_init):
Forward timed login requests from slave to login window
* gui/simple-greeter/gdm-greeter-login-window.[ch]:
(load_theme): don't show "automatic login" entry here
anymore
(gdm_greeter_login_window_request_timed_login):
show "automatic login" entry in face browser, start
timer
(read_configuration): drop function
(gdm_greeter_login_window_constructor): don't call
read_configuration anymore
(gdm_greeter_login_window_init): don't initialized
timed_login_delay here anymore since it's sent up from
slave now
svn path=/trunk/; revision=5971
Diffstat (limited to 'daemon/gdm-simple-slave.c')
-rw-r--r-- | daemon/gdm-simple-slave.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c index 5af1ba79..3c65b261 100644 --- a/daemon/gdm-simple-slave.c +++ b/daemon/gdm-simple-slave.c @@ -362,17 +362,50 @@ on_session_secret_info_query (GdmSession *session, gdm_greeter_server_secret_info_query (slave->priv->greeter_server, text); } +static gboolean +get_timed_login_details (GdmSimpleSlave *slave, + char **username, + int *delay) +{ + gboolean enabled; + gboolean res; + + enabled = FALSE; + res = gdm_settings_client_get_boolean (GDM_KEY_TIMED_LOGIN_ENABLE, &enabled); + if (! enabled) { + return FALSE; + } + + *username = NULL; + res = gdm_settings_client_get_string (GDM_KEY_TIMED_LOGIN_USER, username); + + if (username == NULL) { + return FALSE; + } + + res = gdm_settings_client_get_int (GDM_KEY_TIMED_LOGIN_DELAY, delay); + + return TRUE; +} + static void on_session_opened (GdmSession *session, GdmSimpleSlave *slave) { gboolean res; + char *username; + int delay; g_debug ("GdmSimpleSlave: session opened"); res = gdm_greeter_server_ready (slave->priv->greeter_server); if (! res) { g_warning ("Unable to send ready"); } + + if (get_timed_login_details (slave, &username, &delay)) { + gdm_greeter_server_request_timed_login (slave->priv->greeter_server, username, delay); + g_free (username); + } } static void |