MCPcopy Create free account
hub / github.com/MultiMC/Launcher / fetchPrivate

Method fetchPrivate

launcher/modplatform/legacy_ftb/PackFetchTask.cpp:31–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31void PackFetchTask::fetchPrivate(const QStringList & toFetch)
32{
33 QString privatePackBaseUrl = BuildConfig.LEGACY_FTB_CDN_BASE_URL + "static/%1.xml";
34
35 for (auto &packCode: toFetch)
36 {
37 QByteArray *data = new QByteArray();
38 NetJob *job = new NetJob("Fetching private pack", m_network);
39 job->addNetAction(Net::Download::makeByteArray(privatePackBaseUrl.arg(packCode), data));
40
41 QObject::connect(job, &NetJob::succeeded, this, [this, job, data, packCode]
42 {
43 ModpackList packs;
44 parseAndAddPacks(*data, PackType::Private, packs);
45 foreach(Modpack currentPack, packs)
46 {
47 currentPack.packCode = packCode;
48 emit privateFileDownloadFinished(currentPack);
49 }
50
51 job->deleteLater();
52
53 data->clear();
54 delete data;
55 });
56
57 QObject::connect(job, &NetJob::failed, this, [this, job, packCode, data](QString reason)
58 {
59 emit privateFileDownloadFailed(reason, packCode);
60 job->deleteLater();
61
62 data->clear();
63 delete data;
64 });
65
66 job->start();
67 }
68}
69
70void PackFetchTask::fileDownloadFinished()
71{

Callers 2

openedImplMethod · 0.80
onAddPackClickedMethod · 0.80

Calls 3

addNetActionMethod · 0.80
clearMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected