Commit 0498899c authored by Christian Hergert's avatar Christian Hergert

ctags: port accessories to IdeTask

This doesn't yet port the service to IdeTask, as that is more complex due
to using DzlTaskCache.
parent f5357976
......@@ -253,7 +253,7 @@ finish_subprocess:
}
static void
ide_ctags_builder_build_worker (GTask *task,
ide_ctags_builder_build_worker (IdeTask *task,
gpointer source_object,
gpointer task_data_ptr,
GCancellable *cancellable)
......@@ -265,7 +265,7 @@ ide_ctags_builder_build_worker (GTask *task,
IDE_ENTRY;
g_assert (G_IS_TASK (task));
g_assert (IDE_IS_TASK (task));
g_assert (IDE_IS_CTAGS_BUILDER (source_object));
g_assert (G_IS_FILE (task_data->directory));
......@@ -281,7 +281,7 @@ ide_ctags_builder_build_worker (GTask *task,
task_data->recursive,
cancellable);
g_task_return_boolean (task, TRUE);
ide_task_return_boolean (task, TRUE);
IDE_EXIT;
}
......@@ -295,7 +295,7 @@ ide_ctags_builder_build_async (IdeTagsBuilder *builder,
gpointer user_data)
{
IdeCtagsBuilder *self = (IdeCtagsBuilder *)builder;
g_autoptr(GTask) task = NULL;
g_autoptr(IdeTask) task = NULL;
g_autoptr(GSettings) settings = NULL;
g_autofree gchar *destination_path = NULL;
g_autofree gchar *relative_path = NULL;
......@@ -328,11 +328,12 @@ ide_ctags_builder_build_async (IdeTagsBuilder *builder,
destination_path = ide_context_cache_filename (context, "ctags", relative_path, NULL);
task_data->destination = g_file_new_for_path (destination_path);
task = g_task_new (self, cancellable, callback, user_data);
g_task_set_source_tag (task, ide_ctags_builder_build_async);
g_task_set_priority (task, G_PRIORITY_LOW);
g_task_set_task_data (task, task_data, build_task_data_free);
ide_thread_pool_push_task (IDE_THREAD_POOL_INDEXER, task, ide_ctags_builder_build_worker);
task = ide_task_new (self, cancellable, callback, user_data);
ide_task_set_source_tag (task, ide_ctags_builder_build_async);
ide_task_set_priority (task, G_PRIORITY_LOW + 200);
ide_task_set_task_data (task, task_data, build_task_data_free);
ide_task_set_kind (task, IDE_TASK_KIND_INDEXER);
ide_task_run_in_thread (task, ide_ctags_builder_build_worker);
IDE_EXIT;
}
......@@ -347,9 +348,9 @@ ide_ctags_builder_build_finish (IdeTagsBuilder *builder,
IDE_ENTRY;
g_return_val_if_fail (IDE_IS_CTAGS_BUILDER (builder), FALSE);
g_return_val_if_fail (G_IS_TASK (result), FALSE);
g_return_val_if_fail (IDE_IS_TASK (result), FALSE);
ret = g_task_propagate_boolean (G_TASK (result), error);
ret = ide_task_propagate_boolean (IDE_TASK (result), error);
IDE_RETURN (ret);
}
......
......@@ -185,7 +185,7 @@ ide_ctags_index_parse_line (gchar *line,
}
static void
ide_ctags_index_build_index (GTask *task,
ide_ctags_index_build_index (IdeTask *task,
gpointer source_object,
gpointer task_data,
GCancellable *cancellable)
......@@ -201,7 +201,7 @@ ide_ctags_index_build_index (GTask *task,
IDE_ENTRY;
g_assert (G_IS_TASK (task));
g_assert (IDE_IS_TASK (task));
g_assert (IDE_IS_CTAGS_INDEX (self));
g_assert (G_IS_FILE (self->file));
......@@ -246,7 +246,7 @@ ide_ctags_index_build_index (GTask *task,
DZL_COUNTER_ADD (index_entries, (gint64)index->len);
DZL_COUNTER_ADD (heap_size, (gint64)length);
g_task_return_boolean (task, TRUE);
ide_task_return_boolean (task, TRUE);
IDE_EXIT;
......@@ -255,12 +255,12 @@ failure:
g_clear_pointer (&index, g_array_unref);
if (error != NULL)
g_task_return_error (task, g_steal_pointer (&error));
ide_task_return_error (task, g_steal_pointer (&error));
else
g_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Failed to parse ctags file.");
ide_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Failed to parse ctags file.");
IDE_EXIT;
}
......@@ -430,23 +430,23 @@ ide_ctags_index_init_async (GAsyncInitable *initable,
gpointer user_data)
{
IdeCtagsIndex *self = (IdeCtagsIndex *)initable;
g_autoptr(GTask) task = NULL;
g_autoptr(IdeTask) task = NULL;
g_assert (IDE_IS_CTAGS_INDEX (self));
g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
task = g_task_new (self, cancellable, callback, user_data);
task = ide_task_new (self, cancellable, callback, user_data);
ide_task_set_priority (task, G_PRIORITY_LOW + 100);
ide_task_set_source_tag (task, ide_ctags_index_init_async);
ide_task_set_kind (task, IDE_TASK_KIND_INDEXER);
if (self->file == NULL)
{
g_task_return_new_error (task,
ide_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"You must set IdeCtagsIndex:file before async initialization");
return;
}
ide_thread_pool_push_task (IDE_THREAD_POOL_INDEXER, task, ide_ctags_index_build_index);
else
ide_task_run_in_thread (task, ide_ctags_index_build_index);
}
static gboolean
......@@ -455,9 +455,9 @@ ide_ctags_index_init_finish (GAsyncInitable *initable,
GError **error)
{
g_assert (IDE_IS_CTAGS_INDEX (initable));
g_assert (G_IS_TASK (result));
g_assert (IDE_IS_TASK (result));
return g_task_propagate_boolean (G_TASK (result), error);
return ide_task_propagate_boolean (IDE_TASK (result), error);
}
static void
......
......@@ -38,20 +38,20 @@ ide_ctags_symbol_node_get_location_cb (GObject *object,
{
IdeCtagsSymbolResolver *resolver = (IdeCtagsSymbolResolver *)object;
g_autoptr(IdeSourceLocation) location = NULL;
g_autoptr(GTask) task = user_data;
g_autoptr(IdeTask) task = user_data;
g_autoptr(GError) error = NULL;
g_assert (IDE_IS_CTAGS_SYMBOL_RESOLVER (resolver));
g_assert (G_IS_TASK (task));
g_assert (IDE_IS_TASK (task));
location = ide_ctags_symbol_resolver_get_location_finish (resolver, result, &error);
if (location == NULL)
g_task_return_error (task, g_steal_pointer (&error));
ide_task_return_error (task, g_steal_pointer (&error));
else
g_task_return_pointer (task,
g_steal_pointer (&location),
(GDestroyNotify)ide_source_location_unref);
ide_task_return_pointer (task,
g_steal_pointer (&location),
(GDestroyNotify)ide_source_location_unref);
}
static void
......@@ -61,12 +61,12 @@ ide_ctags_symbol_node_get_location_async (IdeSymbolNode *node,
gpointer user_data)
{
IdeCtagsSymbolNode *self = (IdeCtagsSymbolNode *)node;
g_autoptr(GTask) task = NULL;
g_autoptr(IdeTask) task = NULL;
g_return_if_fail (IDE_IS_CTAGS_SYMBOL_NODE (self));
task = g_task_new (self, cancellable, callback, user_data);
g_task_set_source_tag (task, ide_ctags_symbol_node_get_location_async);
task = ide_task_new (self, cancellable, callback, user_data);
ide_task_set_source_tag (task, ide_ctags_symbol_node_get_location_async);
ide_ctags_symbol_resolver_get_location_async (self->resolver,
self->index,
......@@ -82,9 +82,9 @@ ide_ctags_symbol_node_get_location_finish (IdeSymbolNode *node,
GError **error)
{
g_return_val_if_fail (IDE_IS_CTAGS_SYMBOL_NODE (node), NULL);
g_return_val_if_fail (G_IS_TASK (result), NULL);
g_return_val_if_fail (IDE_IS_TASK (result), NULL);
return g_task_propagate_pointer (G_TASK (result), error);
return ide_task_propagate_pointer (IDE_TASK (result), error);
}
static void
......
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