Commit 60c5c717 authored by Matthew Barnes's avatar Matthew Barnes
Browse files

E_CLIENT_ERROR_BUSY is no longer used.

parent f3dfdae8
......@@ -3005,28 +3005,6 @@ cal_model_retrieve_capabilies_cb (GObject *source_object,
update_e_cal_view_for_client (model, client_data);
}
struct RetryOpenData
{
EClient *client;
ECalModel *model;
GCancellable *cancellable;
};
static void
free_retry_open_data (gpointer data)
{
struct RetryOpenData *rod = data;
if (!rod)
return;
g_object_unref (rod->client);
g_object_unref (rod->cancellable);
g_free (rod);
}
static gboolean cal_model_retry_open_timeout_cb (gpointer user_data);
static void
client_opened_cb (GObject *source_object,
GAsyncResult *result,
......@@ -3044,25 +3022,6 @@ client_opened_cb (GObject *source_object,
return;
}
if (error && g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
struct RetryOpenData *rod;
rod = g_new0 (struct RetryOpenData, 1);
rod->client = g_object_ref (client);
rod->model = model;
rod->cancellable = g_object_ref (model->priv->loading_clients);
/* postpone for 1/2 of a second, backend is busy now */
g_timeout_add_full (
G_PRIORITY_DEFAULT, 500,
cal_model_retry_open_timeout_cb,
rod, free_retry_open_data);
g_error_free (error);
return;
}
if (error != NULL) {
ESource *source;
......@@ -3084,22 +3043,6 @@ client_opened_cb (GObject *source_object,
cal_model_retrieve_capabilies_cb, model);
}
static gboolean
cal_model_retry_open_timeout_cb (gpointer user_data)
{
struct RetryOpenData *rod = user_data;
g_return_val_if_fail (rod != NULL, FALSE);
g_return_val_if_fail (rod->client != NULL, FALSE);
g_return_val_if_fail (rod->model != NULL, FALSE);
e_client_open (
rod->client, TRUE, rod->cancellable,
client_opened_cb, rod->model);
return FALSE;
}
static ECalModelClient *
add_new_client (ECalModel *model,
ECalClient *client,
......
......@@ -1176,25 +1176,13 @@ update_query_async (struct _date_query_msg *msg)
for (iter = list; iter != NULL; iter = iter->next) {
ECalClient *client = E_CAL_CLIENT (iter->data);
GError *error = NULL;
gint tries = 0;
/* don't create queries for clients not loaded yet */
if (!e_client_is_opened (E_CLIENT (client)))
continue;
try_again:
new_view = NULL;
if (!e_cal_client_get_view_sync (client, real_sexp, &new_view, NULL, &error)) {
/* If calendar is busy try again for 3 times. */
if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY) && tries != 10) {
tries++;
/*TODO chose an optimal value */
g_usleep (500);
g_clear_error (&error);
goto try_again;
}
g_warning (G_STRLOC ": Could not create the view: %s ", error->message);
g_clear_error (&error);
......
......@@ -246,7 +246,6 @@ client_utils_open_new_done (EClientUtilsAsyncOpData *async_data)
e_client_retrieve_capabilities (async_data->client, async_data->cancellable, client_utils_capabilities_retrieved_cb, async_data);
}
static gboolean client_utils_retry_open_timeout_cb (gpointer user_data);
static void client_utils_opened_cb (EClient *client, const GError *error, EClientUtilsAsyncOpData *async_data);
static void
......@@ -255,11 +254,7 @@ finish_or_retry_open (EClientUtilsAsyncOpData *async_data,
{
g_return_if_fail (async_data != NULL);
if (error && g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
/* postpone for 1/2 of a second, backend is busy now */
async_data->open_finished = FALSE;
async_data->retry_open_id = g_timeout_add (500, client_utils_retry_open_timeout_cb, async_data);
} else if (error) {
if (error) {
return_async_error (error, async_data->callback, async_data->user_data, async_data->source, e_client_utils_open_new);
free_client_utils_async_op_data (async_data);
} else {
......@@ -325,25 +320,6 @@ client_utils_open_new_async_cb (GObject *source_object,
/* wait for 'opened' signal, which is received in client_utils_opened_cb */
}
static gboolean
client_utils_retry_open_timeout_cb (gpointer user_data)
{
EClientUtilsAsyncOpData *async_data = user_data;
g_return_val_if_fail (async_data != NULL, FALSE);
g_signal_handlers_disconnect_matched (async_data->cancellable, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, async_data);
/* reconnect to the signal */
g_signal_connect (async_data->client, "opened", G_CALLBACK (client_utils_opened_cb), async_data);
e_client_open (async_data->client, async_data->only_if_exists, async_data->cancellable, client_utils_open_new_async_cb, async_data);
async_data->retry_open_id = 0;
return FALSE;
}
/**
* e_client_utils_open_new:
* @source: an #ESource to be opened
......
......@@ -209,28 +209,6 @@ cal_shell_sidebar_retrieve_capabilies_cb (GObject *source_object,
cal_shell_sidebar_emit_status_message (cal_shell_sidebar, NULL);
}
static gboolean cal_shell_sidebar_retry_open_timeout_cb (gpointer user_data);
struct RetryOpenData
{
EClient *client;
ECalShellSidebar *cal_shell_sidebar;
GCancellable *cancellable;
};
static void
free_retry_open_data (gpointer data)
{
struct RetryOpenData *rod = data;
if (!rod)
return;
g_object_unref (rod->client);
g_object_unref (rod->cancellable);
g_free (rod);
}
static void
cal_shell_sidebar_client_opened_cb (GObject *source_object,
GAsyncResult *result,
......@@ -255,24 +233,6 @@ cal_shell_sidebar_client_opened_cb (GObject *source_object,
return;
}
if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
struct RetryOpenData *rod;
rod = g_new0 (struct RetryOpenData, 1);
rod->client = g_object_ref (client);
rod->cal_shell_sidebar = cal_shell_sidebar;
rod->cancellable = g_object_ref (cal_shell_sidebar->priv->loading_clients);
/* postpone for 1/2 of a second, backend is busy now */
g_timeout_add_full (
G_PRIORITY_DEFAULT, 500,
cal_shell_sidebar_retry_open_timeout_cb,
rod, free_retry_open_data);
g_clear_error (&error);
return;
}
shell_sidebar = E_SHELL_SIDEBAR (cal_shell_sidebar);
shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
shell_content = e_shell_view_get_shell_content (shell_view);
......@@ -284,15 +244,6 @@ cal_shell_sidebar_client_opened_cb (GObject *source_object,
case -1:
break;
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
g_object_unref (parent);
return;
case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
e_alert_submit (
E_ALERT_SINK (shell_content),
......@@ -329,28 +280,6 @@ cal_shell_sidebar_client_opened_cb (GObject *source_object,
cal_shell_sidebar);
}
static gboolean
cal_shell_sidebar_retry_open_timeout_cb (gpointer user_data)
{
struct RetryOpenData *rod = user_data;
g_return_val_if_fail (rod != NULL, FALSE);
g_return_val_if_fail (rod->client != NULL, FALSE);
g_return_val_if_fail (rod->cal_shell_sidebar != NULL, FALSE);
g_return_val_if_fail (rod->cancellable != NULL, FALSE);
if (g_cancellable_is_cancelled (rod->cancellable))
return FALSE;
e_client_open (
rod->client, FALSE,
rod->cal_shell_sidebar->priv->loading_clients,
cal_shell_sidebar_client_opened_cb,
rod->cal_shell_sidebar);
return FALSE;
}
static void
cal_shell_sidebar_default_loaded_cb (GObject *source_object,
GAsyncResult *result,
......
......@@ -206,28 +206,6 @@ memo_shell_sidebar_retrieve_capabilies_cb (GObject *source_object,
memo_shell_sidebar_emit_status_message (memo_shell_sidebar, NULL);
}
static gboolean memo_shell_sidebar_retry_open_timeout_cb (gpointer user_data);
struct RetryOpenData
{
EClient *client;
EMemoShellSidebar *memo_shell_sidebar;
GCancellable *cancellable;
};
static void
free_retry_open_data (gpointer data)
{
struct RetryOpenData *rod = data;
if (!rod)
return;
g_object_unref (rod->client);
g_object_unref (rod->cancellable);
g_free (rod);
}
static void
memo_shell_sidebar_client_opened_cb (GObject *source_object,
GAsyncResult *result,
......@@ -252,24 +230,6 @@ memo_shell_sidebar_client_opened_cb (GObject *source_object,
return;
}
if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
struct RetryOpenData *rod;
rod = g_new0 (struct RetryOpenData, 1);
rod->client = g_object_ref (client);
rod->memo_shell_sidebar = memo_shell_sidebar;
rod->cancellable = g_object_ref (memo_shell_sidebar->priv->loading_clients);
/* postpone for 1/2 of a second, backend is busy now */
g_timeout_add_full (
G_PRIORITY_DEFAULT, 500,
memo_shell_sidebar_retry_open_timeout_cb,
rod, free_retry_open_data);
g_clear_error (&error);
return;
}
shell_sidebar = E_SHELL_SIDEBAR (memo_shell_sidebar);
shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
shell_content = e_shell_view_get_shell_content (shell_view);
......@@ -281,15 +241,6 @@ memo_shell_sidebar_client_opened_cb (GObject *source_object,
case -1:
break;
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
g_object_unref (parent);
return;
case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
e_alert_submit (
E_ALERT_SINK (shell_content),
......@@ -326,28 +277,6 @@ memo_shell_sidebar_client_opened_cb (GObject *source_object,
memo_shell_sidebar);
}
static gboolean
memo_shell_sidebar_retry_open_timeout_cb (gpointer user_data)
{
struct RetryOpenData *rod = user_data;
g_return_val_if_fail (rod != NULL, FALSE);
g_return_val_if_fail (rod->client != NULL, FALSE);
g_return_val_if_fail (rod->memo_shell_sidebar != NULL, FALSE);
g_return_val_if_fail (rod->cancellable != NULL, FALSE);
if (g_cancellable_is_cancelled (rod->cancellable))
return FALSE;
e_client_open (
rod->client, FALSE,
rod->memo_shell_sidebar->priv->loading_clients,
memo_shell_sidebar_client_opened_cb,
rod->memo_shell_sidebar);
return FALSE;
}
static void
memo_shell_sidebar_default_loaded_cb (GObject *source_object,
GAsyncResult *result,
......
......@@ -206,28 +206,6 @@ task_shell_sidebar_retrieve_capabilies_cb (GObject *source_object,
task_shell_sidebar_emit_status_message (task_shell_sidebar, NULL);
}
static gboolean task_shell_sidebar_retry_open_timeout_cb (gpointer user_data);
struct RetryOpenData
{
EClient *client;
ETaskShellSidebar *task_shell_sidebar;
GCancellable *cancellable;
};
static void
free_retry_open_data (gpointer data)
{
struct RetryOpenData *rod = data;
if (!rod)
return;
g_object_unref (rod->client);
g_object_unref (rod->cancellable);
g_free (rod);
}
static void
task_shell_sidebar_client_opened_cb (GObject *source_object,
GAsyncResult *result,
......@@ -252,24 +230,6 @@ task_shell_sidebar_client_opened_cb (GObject *source_object,
return;
}
if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
struct RetryOpenData *rod;
rod = g_new0 (struct RetryOpenData, 1);
rod->client = g_object_ref (client);
rod->task_shell_sidebar = task_shell_sidebar;
rod->cancellable = g_object_ref (task_shell_sidebar->priv->loading_clients);
/* postpone for 1/2 of a second, backend is busy now */
g_timeout_add_full (
G_PRIORITY_DEFAULT, 500,
task_shell_sidebar_retry_open_timeout_cb,
rod, free_retry_open_data);
g_clear_error (&error);
return;
}
shell_sidebar = E_SHELL_SIDEBAR (task_shell_sidebar);
shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
shell_content = e_shell_view_get_shell_content (shell_view);
......@@ -281,15 +241,6 @@ task_shell_sidebar_client_opened_cb (GObject *source_object,
case -1:
break;
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
g_object_unref (parent);
return;
case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
e_alert_submit (
E_ALERT_SINK (shell_content),
......@@ -326,28 +277,6 @@ task_shell_sidebar_client_opened_cb (GObject *source_object,
task_shell_sidebar);
}
static gboolean
task_shell_sidebar_retry_open_timeout_cb (gpointer user_data)
{
struct RetryOpenData *rod = user_data;
g_return_val_if_fail (rod != NULL, FALSE);
g_return_val_if_fail (rod->client != NULL, FALSE);
g_return_val_if_fail (rod->task_shell_sidebar != NULL, FALSE);
g_return_val_if_fail (rod->cancellable != NULL, FALSE);
if (g_cancellable_is_cancelled (rod->cancellable))
return FALSE;
e_client_open (
rod->client, FALSE,
rod->task_shell_sidebar->priv->loading_clients,
task_shell_sidebar_client_opened_cb,
rod->task_shell_sidebar);
return FALSE;
}
static void
task_shell_sidebar_default_loaded_cb (GObject *source_object,
GAsyncResult *result,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment