MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / CheckUpdateTask

Class CheckUpdateTask

launcher/modplatform/CheckUpdateTask.h:11–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9class ModFolderModel;
10
11class CheckUpdateTask : public Task {
12 Q_OBJECT
13
14 public:
15 CheckUpdateTask(QList<Mod*>& mods,
16 std::list<Version>& mcVersions,
17 QList<ModPlatform::ModLoaderType> loadersList,
18 std::shared_ptr<ModFolderModel> mods_folder)
19 : Task(), m_mods(mods), m_game_versions(mcVersions), m_loaders_list(loadersList), m_mods_folder(mods_folder) {};
20
21 struct UpdatableMod {
22 QString name;
23 QString old_hash;
24 QString old_version;
25 QString new_version;
26 std::optional<ModPlatform::IndexedVersionType> new_version_type;
27 QString changelog;
28 ModPlatform::ResourceProvider provider;
29 shared_qobject_ptr<ResourceDownloadTask> download;
30 bool enabled = true;
31
32 public:
33 UpdatableMod(QString name,
34 QString old_h,
35 QString old_v,
36 QString new_v,
37 std::optional<ModPlatform::IndexedVersionType> new_v_type,
38 QString changelog,
39 ModPlatform::ResourceProvider p,
40 shared_qobject_ptr<ResourceDownloadTask> t,
41 bool enabled = true)
42 : name(name)
43 , old_hash(old_h)
44 , old_version(old_v)
45 , new_version(new_v)
46 , new_version_type(new_v_type)
47 , changelog(changelog)
48 , provider(p)
49 , download(t)
50 , enabled(enabled)
51 {}
52 };
53
54 auto getUpdatable() -> std::vector<UpdatableMod>&& { return std::move(m_updatable); }
55 auto getDependencies() -> QList<std::shared_ptr<GetModDependenciesTask::PackDependency>>&& { return std::move(m_deps); }
56
57 public slots:
58 bool abort() override = 0;
59
60 protected slots:
61 void executeTask() override = 0;
62
63 signals:
64 void checkFailed(Mod* failed, QString reason, QUrl recover_url = {});
65
66 protected:
67 QList<Mod*>& m_mods;
68 std::list<Version>& m_game_versions;

Callers 1

FlameCheckUpdateClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected