summaryrefslogtreecommitdiffstats
path: root/lib/gs-plugin-helpers.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gs-plugin-helpers.h')
-rw-r--r--lib/gs-plugin-helpers.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/lib/gs-plugin-helpers.h b/lib/gs-plugin-helpers.h
new file mode 100644
index 0000000..b4a19f3
--- /dev/null
+++ b/lib/gs-plugin-helpers.h
@@ -0,0 +1,96 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * vi:set noexpandtab tabstop=8 shiftwidth=8:
+ *
+ * Copyright (C) 2021 Endless OS Foundation LLC
+ *
+ * Author: Philip Withnall <pwithnall@endlessos.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#pragma once
+
+#include <gio/gio.h>
+#include <glib.h>
+#include <glib-object.h>
+
+#include <gnome-software.h>
+
+G_BEGIN_DECLS
+
+typedef struct {
+ GsAppList *list; /* (owned) (not nullable) */
+ GsPluginRefineFlags flags;
+} GsPluginRefineData;
+
+GsPluginRefineData *gs_plugin_refine_data_new (GsAppList *list,
+ GsPluginRefineFlags flags);
+GTask *gs_plugin_refine_data_new_task (gpointer source_object,
+ GsAppList *list,
+ GsPluginRefineFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+void gs_plugin_refine_data_free (GsPluginRefineData *data);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginRefineData, gs_plugin_refine_data_free)
+
+typedef struct {
+ guint64 cache_age_secs;
+ GsPluginRefreshMetadataFlags flags;
+} GsPluginRefreshMetadataData;
+
+GsPluginRefreshMetadataData *gs_plugin_refresh_metadata_data_new (guint64 cache_age_secs,
+ GsPluginRefreshMetadataFlags flags);
+void gs_plugin_refresh_metadata_data_free (GsPluginRefreshMetadataData *data);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginRefreshMetadataData, gs_plugin_refresh_metadata_data_free)
+
+typedef struct {
+ GsAppQuery *query; /* (owned) (nullable) */
+ GsPluginListAppsFlags flags;
+} GsPluginListAppsData;
+
+GsPluginListAppsData *gs_plugin_list_apps_data_new (GsAppQuery *query,
+ GsPluginListAppsFlags flags);
+GTask *gs_plugin_list_apps_data_new_task (gpointer source_object,
+ GsAppQuery *query,
+ GsPluginListAppsFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+void gs_plugin_list_apps_data_free (GsPluginListAppsData *data);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginListAppsData, gs_plugin_list_apps_data_free)
+
+typedef struct {
+ GsApp *repository; /* (owned) (nullable) */
+ GsPluginManageRepositoryFlags flags;
+} GsPluginManageRepositoryData;
+
+GsPluginManageRepositoryData *
+ gs_plugin_manage_repository_data_new (GsApp *repository,
+ GsPluginManageRepositoryFlags flags);
+GTask * gs_plugin_manage_repository_data_new_task (gpointer source_object,
+ GsApp *repository,
+ GsPluginManageRepositoryFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+void gs_plugin_manage_repository_data_free (GsPluginManageRepositoryData *data);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginManageRepositoryData, gs_plugin_manage_repository_data_free)
+
+typedef struct {
+ GPtrArray *list; /* (element-type GsCategory) (owned) (not nullable) */
+ GsPluginRefineCategoriesFlags flags;
+} GsPluginRefineCategoriesData;
+
+GsPluginRefineCategoriesData *gs_plugin_refine_categories_data_new (GPtrArray *list,
+ GsPluginRefineCategoriesFlags flags);
+GTask *gs_plugin_refine_categories_data_new_task (gpointer source_object,
+ GPtrArray *list,
+ GsPluginRefineCategoriesFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+void gs_plugin_refine_categories_data_free (GsPluginRefineCategoriesData *data);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginRefineCategoriesData, gs_plugin_refine_categories_data_free)
+
+G_END_DECLS