diff options
author | Ray Strode <rstrode@redhat.com> | 2009-03-02 13:57:34 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2009-04-17 10:24:50 -0400 |
commit | 23902b5f178ef6662850ae81a96f3c9aafc66317 (patch) | |
tree | 4bcc0ebea8dbad577b2ee4033286248f4ddce686 | |
parent | 3122b474ebd0325e2cd6e45748f3a67e3436a5a6 (diff) | |
download | gdm-23902b5f178ef6662850ae81a96f3c9aafc66317.tar.gz |
Add new function find_task_with_service_name
It hides a bunch of icky foreach calls.
-rw-r--r-- | gui/simple-greeter/gdm-greeter-login-window.c | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c index ac3767a8..fa931085 100644 --- a/gui/simple-greeter/gdm-greeter-login-window.c +++ b/gui/simple-greeter/gdm-greeter-login-window.c @@ -775,6 +775,20 @@ task_has_service_name (GdmTaskList *task_list, return has_service_name; } +GdmTask * +find_task_with_service_name (GdmGreeterLoginWindow *login_window, + const char *service_name) +{ + GdmTask *task; + + task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), + (GdmTaskListForeachFunc) + task_has_service_name, + (gpointer) service_name); + + return task; +} + static gboolean reset_task (GdmTaskList *task_list, GdmTask *task, @@ -876,10 +890,7 @@ gdm_greeter_login_window_ready (GdmGreeterLoginWindow *login_window, g_return_val_if_fail (GDM_IS_GREETER_LOGIN_WINDOW (login_window), FALSE); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { if (gdm_chooser_widget_is_loaded (GDM_CHOOSER_WIDGET (login_window->priv->user_chooser))) { @@ -908,10 +919,7 @@ gdm_greeter_login_window_conversation_stopped (GdmGreeterLoginWindow *login_wind g_debug ("GdmGreeterLoginWindow: conversation '%s' has stopped", service_name); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { gdm_conversation_reset (GDM_CONVERSATION (task)); @@ -979,10 +987,7 @@ gdm_greeter_login_window_info (GdmGreeterLoginWindow *login_window, g_return_val_if_fail (GDM_IS_GREETER_LOGIN_WINDOW (login_window), FALSE); g_debug ("GdmGreeterLoginWindow: info: %s", text); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { gdm_conversation_set_message (GDM_CONVERSATION (task), @@ -1003,10 +1008,7 @@ gdm_greeter_login_window_problem (GdmGreeterLoginWindow *login_window, g_return_val_if_fail (GDM_IS_GREETER_LOGIN_WINDOW (login_window), FALSE); g_debug ("GdmGreeterLoginWindow: problem: %s", text); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { gdm_conversation_set_message (GDM_CONVERSATION (task), @@ -1108,10 +1110,8 @@ gdm_greeter_login_window_info_query (GdmGreeterLoginWindow *login_window, g_debug ("GdmGreeterLoginWindow: info query: %s", text); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { gdm_conversation_ask_question (GDM_CONVERSATION (task), @@ -1139,10 +1139,7 @@ gdm_greeter_login_window_secret_info_query (GdmGreeterLoginWindow *login_window, g_return_val_if_fail (GDM_IS_GREETER_LOGIN_WINDOW (login_window), FALSE); - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task != NULL) { gdm_conversation_ask_secret (GDM_CONVERSATION (task), @@ -1689,10 +1686,7 @@ begin_single_service_verification (GdmGreeterLoginWindow *login_window, { GdmTask *task; - task = gdm_task_list_foreach_task (GDM_TASK_LIST (login_window->priv->conversation_list), - (GdmTaskListForeachFunc) - task_has_service_name, - (gpointer) service_name); + task = find_task_with_service_name (login_window, service_name); if (task == NULL) { g_debug ("GdmGreeterLoginWindow: %s has no task associated with it", service_name); |