summaryrefslogtreecommitdiff
path: root/daemon/gdm-simple-slave.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-03-09 21:41:08 +0000
committerRay Strode <halfline@src.gnome.org>2008-03-09 21:41:08 +0000
commit3259f2a3391c7f062c5311d3994c30e06412f2b3 (patch)
tree416cd6229e0f3788a1952315c48cef91288d378d /daemon/gdm-simple-slave.c
parent181c582036cec347f921033c79f0b24c3d0943e0 (diff)
downloadgdm-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.c33
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