summaryrefslogtreecommitdiffstats
path: root/plugins/flatpak/gs-flatpak.h
blob: b3f8a13b2b93ddaf66324c30c9f2ced76637ae8b (plain)
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
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
 * vi:set noexpandtab tabstop=8 shiftwidth=8:
 *
 * Copyright (C) 2016 Joaquim Rocha <jrocha@endlessm.com>
 * Copyright (C) 2016-2018 Richard Hughes <richard@hughsie.com>
 *
 * SPDX-License-Identifier: GPL-2.0+
 */

#pragma once

#include <gnome-software.h>
#include <flatpak.h>

G_BEGIN_DECLS

#define GS_TYPE_FLATPAK (gs_flatpak_get_type ())

G_DECLARE_FINAL_TYPE (GsFlatpak, gs_flatpak, GS, FLATPAK, GObject)

typedef enum {
	GS_FLATPAK_FLAG_NONE			= 0,
	GS_FLATPAK_FLAG_IS_TEMPORARY		= 1 << 0,
	GS_FLATPAK_FLAG_LAST  /*< skip >*/
} GsFlatpakFlags;

GsFlatpak	*gs_flatpak_new			(GsPlugin		*plugin,
						 FlatpakInstallation	*installation,
						 GsFlatpakFlags		 flags);
FlatpakInstallation *gs_flatpak_get_installation (GsFlatpak		*self,
						  gboolean		 interactive);

GsApp		*gs_flatpak_ref_to_app		(GsFlatpak		*self,
						 const gchar		*ref,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);

AsComponentScope	gs_flatpak_get_scope		(GsFlatpak		*self);
const gchar	*gs_flatpak_get_id		(GsFlatpak		*self);
gboolean	gs_flatpak_setup		(GsFlatpak		*self,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_installed	(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_sources		(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_updates		(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_refresh		(GsFlatpak		*self,
						 guint64		 cache_age_secs,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_refine_app		(GsFlatpak		*self,
						 GsApp			*app,
						 GsPluginRefineFlags	flags,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
void		gs_flatpak_refine_addons	(GsFlatpak *self,
						 GsApp *parent_app,
						 GsPluginRefineFlags flags,
						 GsAppState state,
						 gboolean interactive,
						 GCancellable *cancellable);
gboolean	gs_flatpak_refine_app_state	(GsFlatpak		*self,
						 GsApp			*app,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_refine_wildcard	(GsFlatpak		*self,
						 GsApp			*app,
						 GsAppList		*list,
						 GsPluginRefineFlags	 flags,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_launch		(GsFlatpak		*self,
						 GsApp			*app,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_app_remove_source	(GsFlatpak		*self,
						 GsApp			*app,
						 gboolean		 is_remove,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_app_install_source	(GsFlatpak		*self,
						 GsApp			*app,
						 gboolean		 is_install,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
GsApp		*gs_flatpak_file_to_app_ref	(GsFlatpak		*self,
						 GFile			*file,
						 gboolean		 unrefined,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
GsApp		*gs_flatpak_file_to_app_bundle	(GsFlatpak		*self,
						 GFile			*file,
						 gboolean		 unrefined,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
GsApp		*gs_flatpak_find_source_by_url	(GsFlatpak		*self,
						 const gchar		*name,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_search		(GsFlatpak		*self,
						 const gchar * const	*values,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_search_developer_apps(GsFlatpak		*self,
						 const gchar * const	*values,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_refine_category_sizes(GsFlatpak		*self,
						 GPtrArray		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_category_apps	(GsFlatpak		*self,
						 GsCategory		*category,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_popular		(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_featured		(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_deployment_featured
						(GsFlatpak		*self,
						 GsAppList		*list,
						 gboolean		 interactive,
						 const gchar *const	*deployments,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_alternates	(GsFlatpak		*self,
						 GsApp			*app,
						 GsAppList		*list,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_add_recent		(GsFlatpak		*self,
						 GsAppList		*list,
						 guint64		 age,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
gboolean	gs_flatpak_url_to_app		(GsFlatpak		*self,
						 GsAppList		*list,
						 const gchar		*url,
						 gboolean		 interactive,
						 GCancellable		*cancellable,
						 GError			**error);
void		gs_flatpak_set_busy		(GsFlatpak		*self,
						 gboolean		 busy);
gboolean	gs_flatpak_get_busy		(GsFlatpak		*self);

G_END_DECLS