[gnome-builder/wip/chergert/code-index-revamp: 11/16] code-index: add helper to copy index plan items
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/code-index-revamp: 11/16] code-index: add helper to copy index plan items
- Date: Sat, 2 Feb 2019 04:37:32 +0000 (UTC)
commit 6f7ae4660763f4ced23c2294c88aef5db8c8aacc
Author: Christian Hergert <chergert redhat com>
Date: Fri Feb 1 15:45:09 2019 -0800
code-index: add helper to copy index plan items
src/plugins/code-index/gbp-code-index-plan.c | 27 +++++++++++++
src/plugins/code-index/gbp-code-index-plan.h | 58 ++++++++++++++--------------
2 files changed, 57 insertions(+), 28 deletions(-)
---
diff --git a/src/plugins/code-index/gbp-code-index-plan.c b/src/plugins/code-index/gbp-code-index-plan.c
index fee182c5a..4193fa217 100644
--- a/src/plugins/code-index/gbp-code-index-plan.c
+++ b/src/plugins/code-index/gbp-code-index-plan.c
@@ -771,3 +771,30 @@ gbp_code_index_plan_load_flags_finish (GbpCodeIndexPlan *self,
IDE_RETURN (ret);
}
+
+GbpCodeIndexPlanItem *
+gbp_code_index_plan_copy (const GbpCodeIndexPlanItem *item)
+{
+ GbpCodeIndexPlanItem *ret;
+
+ if (item == NULL)
+ return NULL;
+
+ ret = g_slice_new0 (GbpCodeIndexPlanItem);
+ ret->file_info = g_object_ref (item->file_info);
+ ret->build_flags = g_strdupv ((gchar **)item->build_flags);
+ ret->indexer_module_name = item->indexer_module_name;
+
+ return g_steal_pointer (&ret);
+}
+
+void
+gbp_code_index_plan_item_free (GbpCodeIndexPlanItem *item)
+{
+ if (item != NULL)
+ {
+ g_clear_object (&item->file_info);
+ g_clear_pointer (&item->build_flags, g_strfreev);
+ g_slice_free (GbpCodeIndexPlanItem, item);
+ }
+}
diff --git a/src/plugins/code-index/gbp-code-index-plan.h b/src/plugins/code-index/gbp-code-index-plan.h
index 41e708194..be5753d34 100644
--- a/src/plugins/code-index/gbp-code-index-plan.h
+++ b/src/plugins/code-index/gbp-code-index-plan.h
@@ -56,33 +56,35 @@ typedef gboolean (*GbpCodeIndexPlanForeach) (GFile *directory,
GbpCodeIndexReason reason,
gpointer user_data);
-GbpCodeIndexPlan *gbp_code_index_plan_new (void);
-void gbp_code_index_plan_populate_async (GbpCodeIndexPlan *self,
- IdeContext *context,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean gbp_code_index_plan_populate_finish (GbpCodeIndexPlan *self,
- GAsyncResult *result,
- GError **error);
-void gbp_code_index_plan_cull_indexed_async (GbpCodeIndexPlan *self,
- IdeContext *context,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean gbp_code_index_plan_cull_indexed_finish (GbpCodeIndexPlan *self,
- GAsyncResult *result,
- GError **error);
-void gbp_code_index_plan_load_flags_async (GbpCodeIndexPlan *self,
- IdeContext *context,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean gbp_code_index_plan_load_flags_finish (GbpCodeIndexPlan *self,
- GAsyncResult *result,
- GError **error);
-void gbp_code_index_plan_foreach (GbpCodeIndexPlan *self,
- GbpCodeIndexPlanForeach foreach_func,
- gpointer foreach_data);
+GbpCodeIndexPlan *gbp_code_index_plan_new (void);
+void gbp_code_index_plan_populate_async (GbpCodeIndexPlan *self,
+ IdeContext *context,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean gbp_code_index_plan_populate_finish (GbpCodeIndexPlan *self,
+ GAsyncResult *result,
+ GError **error);
+void gbp_code_index_plan_cull_indexed_async (GbpCodeIndexPlan *self,
+ IdeContext *context,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean gbp_code_index_plan_cull_indexed_finish (GbpCodeIndexPlan *self,
+ GAsyncResult *result,
+ GError **error);
+void gbp_code_index_plan_load_flags_async (GbpCodeIndexPlan *self,
+ IdeContext *context,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean gbp_code_index_plan_load_flags_finish (GbpCodeIndexPlan *self,
+ GAsyncResult *result,
+ GError **error);
+void gbp_code_index_plan_foreach (GbpCodeIndexPlan *self,
+ GbpCodeIndexPlanForeach foreach_func,
+ gpointer foreach_data);
+GbpCodeIndexPlanItem *gbp_code_index_plan_copy (const GbpCodeIndexPlanItem *item);
+void gbp_code_index_plan_item_free (GbpCodeIndexPlanItem *item);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]