File: gs-plugin-helpers.h

package info (click to toggle)
gnome-software 49.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,164 kB
  • sloc: ansic: 98,615; xml: 3,630; python: 1,055; makefile: 75; sh: 28
file content (346 lines) | stat: -rw-r--r-- 19,129 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
/* -*- 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-or-later
 */

#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 job_flags;
	GsPluginRefineRequireFlags require_flags;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginRefineData;

GsPluginRefineData *gs_plugin_refine_data_new (GsAppList                  *list,
                                               GsPluginRefineFlags         job_flags,
                                               GsPluginRefineRequireFlags  require_flags,
                                               GsPluginEventCallback       event_callback,
                                               void                       *event_user_data);
GTask *gs_plugin_refine_data_new_task (gpointer                    source_object,
                                       GsAppList                  *list,
                                       GsPluginRefineFlags         job_flags,
                                       GsPluginRefineRequireFlags  refine_flags,
                                       GsPluginEventCallback       event_callback,
                                       void                       *event_user_data,
                                       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;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginRefreshMetadataData;

GsPluginRefreshMetadataData *gs_plugin_refresh_metadata_data_new (guint64                       cache_age_secs,
                                                                  GsPluginRefreshMetadataFlags  flags,
                                                                  GsPluginEventCallback         event_callback,
                                                                  void                         *event_user_data);
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;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginListAppsData;

GsPluginListAppsData *gs_plugin_list_apps_data_new (GsAppQuery            *query,
                                                    GsPluginListAppsFlags  flags,
                                                    GsPluginEventCallback  event_callback,
                                                    void                  *event_user_data);
GTask *gs_plugin_list_apps_data_new_task (gpointer               source_object,
                                          GsAppQuery            *query,
                                          GsPluginListAppsFlags  flags,
                                          GsPluginEventCallback  event_callback,
                                          void                  *event_user_data,
                                          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;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginManageRepositoryData;

GsPluginManageRepositoryData *
		gs_plugin_manage_repository_data_new		(GsApp				*repository,
								 GsPluginManageRepositoryFlags   flags,
								 GsPluginEventCallback		 event_callback,
								 void				*event_user_data);
GTask *		gs_plugin_manage_repository_data_new_task	(gpointer			 source_object,
								 GsApp				*repository,
								 GsPluginManageRepositoryFlags	 flags,
								 GsPluginEventCallback		 event_callback,
								 void				*event_user_data,
								 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;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginRefineCategoriesData;

GsPluginRefineCategoriesData *gs_plugin_refine_categories_data_new (GPtrArray                     *list,
                                                                    GsPluginRefineCategoriesFlags  flags,
                                                                    GsPluginEventCallback          event_callback,
                                                                    void                          *event_user_data);
GTask *gs_plugin_refine_categories_data_new_task (gpointer                       source_object,
                                                  GPtrArray                     *list,
                                                  GsPluginRefineCategoriesFlags  flags,
                                                  GsPluginEventCallback          event_callback,
                                                  void                          *event_user_data,
                                                  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)

typedef struct {
	GsAppList *apps;  /* (owned) (not nullable) */
	GsPluginInstallAppsFlags flags;
	GsPluginProgressCallback progress_callback;
	gpointer progress_user_data;
	GsPluginEventCallback event_callback;
	void *event_user_data;
	GsPluginAppNeedsUserActionCallback app_needs_user_action_callback;
	gpointer app_needs_user_action_data;
} GsPluginInstallAppsData;

GsPluginInstallAppsData *gs_plugin_install_apps_data_new (GsAppList                          *apps,
                                                          GsPluginInstallAppsFlags            flags,
                                                          GsPluginProgressCallback            progress_callback,
                                                          gpointer                            progress_user_data,
                                                          GsPluginEventCallback               event_callback,
                                                          void                               *event_user_data,
                                                          GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                                          gpointer                            app_needs_user_action_data);
GTask *gs_plugin_install_apps_data_new_task (gpointer                            source_object,
                                             GsAppList                          *apps,
                                             GsPluginInstallAppsFlags            flags,
                                             GsPluginProgressCallback            progress_callback,
                                             gpointer                            progress_user_data,
                                             GsPluginEventCallback               event_callback,
                                             void                               *event_user_data,
                                             GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                             gpointer                            app_needs_user_action_data,
                                             GCancellable                       *cancellable,
                                             GAsyncReadyCallback                 callback,
                                             gpointer                            user_data);
void gs_plugin_install_apps_data_free (GsPluginInstallAppsData *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginInstallAppsData, gs_plugin_install_apps_data_free)

typedef struct {
	GsAppList *apps;  /* (owned) (not nullable) */
	GsPluginUninstallAppsFlags flags;
	GsPluginProgressCallback progress_callback;
	gpointer progress_user_data;
	GsPluginEventCallback event_callback;
	gpointer event_user_data;
	GsPluginAppNeedsUserActionCallback app_needs_user_action_callback;
	gpointer app_needs_user_action_data;
} GsPluginUninstallAppsData;

GsPluginUninstallAppsData *gs_plugin_uninstall_apps_data_new (GsAppList                          *apps,
                                                              GsPluginUninstallAppsFlags          flags,
                                                              GsPluginProgressCallback            progress_callback,
                                                              gpointer                            progress_user_data,
                                                              GsPluginEventCallback               event_callback,
                                                              gpointer                            event_user_data,
                                                              GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                                              gpointer                            app_needs_user_action_data);
GTask *gs_plugin_uninstall_apps_data_new_task (gpointer                            source_object,
                                               GsAppList                          *apps,
                                               GsPluginUninstallAppsFlags          flags,
                                               GsPluginProgressCallback            progress_callback,
                                               gpointer                            progress_user_data,
                                               GsPluginEventCallback               event_callback,
                                               gpointer                            event_user_data,
                                               GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                               gpointer                            app_needs_user_action_data,
                                               GCancellable                       *cancellable,
                                               GAsyncReadyCallback                 callback,
                                               gpointer                            user_data);
void gs_plugin_uninstall_apps_data_free (GsPluginUninstallAppsData *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginUninstallAppsData, gs_plugin_uninstall_apps_data_free)

typedef struct {
	GsAppList *apps;  /* (owned) (not nullable) */
	GsPluginUpdateAppsFlags flags;
	GsPluginProgressCallback progress_callback;
	gpointer progress_user_data;
	GsPluginEventCallback event_callback;
	void *event_user_data;
	GsPluginAppNeedsUserActionCallback app_needs_user_action_callback;
	gpointer app_needs_user_action_data;
} GsPluginUpdateAppsData;

GsPluginUpdateAppsData *gs_plugin_update_apps_data_new (GsAppList                          *apps,
                                                        GsPluginUpdateAppsFlags             flags,
                                                        GsPluginProgressCallback            progress_callback,
                                                        gpointer                            progress_user_data,
                                                        GsPluginEventCallback               event_callback,
                                                        void                               *event_user_data,
                                                        GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                                        gpointer                            app_needs_user_action_data);
GTask *gs_plugin_update_apps_data_new_task (gpointer                            source_object,
                                            GsAppList                          *apps,
                                            GsPluginUpdateAppsFlags             flags,
                                            GsPluginProgressCallback            progress_callback,
                                            gpointer                            progress_user_data,
                                            GsPluginEventCallback               event_callback,
                                            void                               *event_user_data,
                                            GsPluginAppNeedsUserActionCallback  app_needs_user_action_callback,
                                            gpointer                            app_needs_user_action_data,
                                            GCancellable                       *cancellable,
                                            GAsyncReadyCallback                 callback,
                                            gpointer                            user_data);
void gs_plugin_update_apps_data_free (GsPluginUpdateAppsData *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginUpdateAppsData, gs_plugin_update_apps_data_free)

typedef struct {
	GsPluginCancelOfflineUpdateFlags flags;
} GsPluginCancelOfflineUpdateData;

GsPluginCancelOfflineUpdateData *
		gs_plugin_cancel_offline_update_data_new	(GsPluginCancelOfflineUpdateFlags  flags);
GTask *		gs_plugin_cancel_offline_update_data_new_task	(gpointer			   source_object,
								 GsPluginCancelOfflineUpdateFlags  flags,
								 GCancellable			  *cancellable,
								 GAsyncReadyCallback		   callback,
								 gpointer			   user_data);
void		gs_plugin_cancel_offline_update_data_free	(GsPluginCancelOfflineUpdateData  *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginCancelOfflineUpdateData, gs_plugin_cancel_offline_update_data_free)

typedef struct {
	GsApp *app;  /* (owned) (not nullable) */
	GsPluginDownloadUpgradeFlags flags;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginDownloadUpgradeData;

GsPluginDownloadUpgradeData *
		gs_plugin_download_upgrade_data_new	(GsApp			     *app,
							 GsPluginDownloadUpgradeFlags flags,
							 GsPluginEventCallback	      event_callback,
							 void			     *event_user_data);
GTask *		gs_plugin_download_upgrade_data_new_task(gpointer		      source_object,
							 GsApp			     *app,
							 GsPluginDownloadUpgradeFlags flags,
							 GsPluginEventCallback	      event_callback,
							 void			     *event_user_data,
							 GCancellable		     *cancellable,
							 GAsyncReadyCallback	      callback,
							 gpointer		      user_data);
void		gs_plugin_download_upgrade_data_free	(GsPluginDownloadUpgradeData *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginDownloadUpgradeData, gs_plugin_download_upgrade_data_free)

typedef struct {
	GsApp *app;  /* (owned) (not nullable) */
	GsPluginTriggerUpgradeFlags flags;
} GsPluginTriggerUpgradeData;

GsPluginTriggerUpgradeData *
		gs_plugin_trigger_upgrade_data_new	(GsApp			    *app,
							 GsPluginTriggerUpgradeFlags flags);
GTask *		gs_plugin_trigger_upgrade_data_new_task	(gpointer		     source_object,
							 GsApp			    *app,
							 GsPluginTriggerUpgradeFlags flags,
							 GCancellable		    *cancellable,
							 GAsyncReadyCallback	     callback,
							 gpointer		     user_data);
void		gs_plugin_trigger_upgrade_data_free	(GsPluginTriggerUpgradeData *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginTriggerUpgradeData, gs_plugin_trigger_upgrade_data_free)

typedef struct {
	GsApp *app;  /* (owned) (not nullable) */
	GsPluginLaunchFlags flags;
} GsPluginLaunchData;

GsPluginLaunchData *
		gs_plugin_launch_data_new		(GsApp			    *app,
							 GsPluginLaunchFlags	     flags);
GTask *		gs_plugin_launch_data_new_task		(gpointer		     source_object,
							 GsApp			    *app,
							 GsPluginLaunchFlags	     flags,
							 GCancellable		    *cancellable,
							 GAsyncReadyCallback	     callback,
							 gpointer		     user_data);
void		gs_plugin_launch_data_free		(GsPluginLaunchData	    *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginLaunchData, gs_plugin_launch_data_free)

typedef struct {
	GFile *file;  /* (owned) */
	GsPluginFileToAppFlags flags;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginFileToAppData;

GsPluginFileToAppData *
		gs_plugin_file_to_app_data_new		(GFile			    *file,
							 GsPluginFileToAppFlags	     flags,
							 GsPluginEventCallback	     event_callback,
							 void			    *event_user_data);
GTask *		gs_plugin_file_to_app_data_new_task	(gpointer		     source_object,
							 GFile			    *file,
							 GsPluginFileToAppFlags	     flags,
							 GsPluginEventCallback	     event_callback,
							 void			    *event_user_data,
							 GCancellable		    *cancellable,
							 GAsyncReadyCallback	     callback,
							 gpointer		     user_data);
void		gs_plugin_file_to_app_data_free		(GsPluginFileToAppData	    *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginFileToAppData, gs_plugin_file_to_app_data_free)

typedef struct {
	gchar *url;  /* (owned) */
	GsPluginUrlToAppFlags flags;
	GsPluginEventCallback event_callback;
	void *event_user_data;
} GsPluginUrlToAppData;

GsPluginUrlToAppData *
		gs_plugin_url_to_app_data_new		(const gchar		    *url,
							 GsPluginUrlToAppFlags	     flags,
							 GsPluginEventCallback	     event_callback,
							 void			    *event_user_data);
GTask *		gs_plugin_url_to_app_data_new_task	(gpointer		     source_object,
							 const gchar		    *url,
							 GsPluginUrlToAppFlags	     flags,
							 GsPluginEventCallback	     event_callback,
							 void			    *event_user_data,
							 GCancellable		    *cancellable,
							 GAsyncReadyCallback	     callback,
							 gpointer		     user_data);
void		gs_plugin_url_to_app_data_free		(GsPluginUrlToAppData	    *data);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GsPluginUrlToAppData, gs_plugin_url_to_app_data_free)

G_END_DECLS