Changeset View
Changeset View
Standalone View
Standalone View
libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h
Show All 15 Lines | |||||
16 | * * | 16 | * * | ||
17 | * You should have received a copy of the GNU General Public License * | 17 | * You should have received a copy of the GNU General Public License * | ||
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. * | 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. * | ||
19 | ***************************************************************************/ | 19 | ***************************************************************************/ | ||
20 | 20 | | |||
21 | #ifndef FLATPAKFETCHDATAJOB_H | 21 | #ifndef FLATPAKFETCHDATAJOB_H | ||
22 | #define FLATPAKFETCHDATAJOB_H | 22 | #define FLATPAKFETCHDATAJOB_H | ||
23 | 23 | | |||
24 | #include <QByteArray> | ||||
24 | extern "C" { | 25 | extern "C" { | ||
25 | #include <flatpak.h> | 26 | #include <flatpak.h> | ||
26 | #include <gio/gio.h> | | |||
27 | #include <glib.h> | 27 | #include <glib.h> | ||
28 | } | 28 | } | ||
29 | 29 | | |||
30 | #include <QThread> | | |||
31 | | ||||
32 | class FlatpakResource; | 30 | class FlatpakResource; | ||
33 | class FlatpakFetchDataJob : public QThread | 31 | | ||
32 | namespace FlatpakRunnables | ||||
34 | { | 33 | { | ||
35 | Q_OBJECT | 34 | struct SizeInformation { | ||
36 | public: | 35 | bool valid = false; | ||
37 | enum DataKind { | 36 | guint64 downloadSize; | ||
38 | FetchMetadata = 0, | 37 | guint64 installedSize; | ||
39 | FetchSize = 1, | | |||
40 | }; | 38 | }; | ||
41 | 39 | | |||
42 | FlatpakFetchDataJob(FlatpakInstallation *installation, FlatpakResource *app, DataKind kind); | 40 | SizeInformation fetchFlatpakSize(FlatpakInstallation *installation, FlatpakResource *app); | ||
43 | ~FlatpakFetchDataJob(); | | |||
44 | | ||||
45 | void cancel(); | | |||
46 | void run() override; | | |||
47 | 41 | | |||
48 | Q_SIGNALS: | 42 | QByteArray fetchMetadata(FlatpakInstallation *installation, FlatpakResource *app); | ||
49 | void jobFetchMetadataFailed(); | 43 | } | ||
50 | void jobFetchMetadataFinished(FlatpakInstallation *installation, FlatpakResource *resource, const QByteArray &metadata); | | |||
51 | void jobFetchSizeFailed(); | | |||
52 | void jobFetchSizeFinished(FlatpakResource *resource, int downloadSize, int installedSize); | | |||
53 | | ||||
54 | private: | | |||
55 | FlatpakRef * createFakeRef(FlatpakResource *resource); | | |||
56 | | ||||
57 | GCancellable *m_cancellable; | | |||
58 | FlatpakResource *m_app; | | |||
59 | FlatpakInstallation *m_installation; | | |||
60 | DataKind m_kind; | | |||
61 | }; | | |||
62 | 44 | | |||
63 | #endif // FLATPAKFETCHDATAJOB_H | 45 | #endif // FLATPAKFETCHDATAJOB_H | ||
64 | 46 | | |||
65 | 47 | |