summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2009-03-02 13:57:34 -0500
committerRay Strode <rstrode@redhat.com>2009-04-17 10:24:50 -0400
commit23902b5f178ef6662850ae81a96f3c9aafc66317 (patch)
tree4bcc0ebea8dbad577b2ee4033286248f4ddce686
parent3122b474ebd0325e2cd6e45748f3a67e3436a5a6 (diff)
downloadgdm-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.c50
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);