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

Method executeTask

launcher/minecraft/update/AssetUpdateTask.cpp:18–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16}
17
18void AssetUpdateTask::executeTask()
19{
20 setStatus(tr("Updating assets index..."));
21 auto components = m_inst->getPackProfile();
22 auto profile = components->getProfile();
23 auto assets = profile->getMinecraftAssets();
24 QUrl indexUrl = assets->url;
25 QString localPath = assets->id + ".json";
26 auto job = makeShared<NetJob>(tr("Asset index for %1").arg(m_inst->name()), APPLICATION->network());
27
28 auto metacache = APPLICATION->metacache();
29 auto entry = metacache->resolveEntry("asset_indexes", localPath);
30 entry->setStale(true);
31 auto hexSha1 = assets->sha1.toLatin1();
32 qDebug() << "Asset index SHA1:" << hexSha1;
33 auto dl = Net::ApiDownload::makeCached(indexUrl, entry);
34 dl->addValidator(new Net::ChecksumValidator(QCryptographicHash::Sha1, assets->sha1));
35 job->addNetAction(dl);
36
37 downloadJob.reset(job);
38
39 connect(downloadJob.get(), &NetJob::succeeded, this, &AssetUpdateTask::assetIndexFinished);
40 connect(downloadJob.get(), &NetJob::failed, this, &AssetUpdateTask::assetIndexFailed);
41 connect(downloadJob.get(), &NetJob::aborted, this, [this] { emitFailed(tr("Aborted")); });
42 connect(downloadJob.get(), &NetJob::progress, this, &AssetUpdateTask::progress);
43 connect(downloadJob.get(), &NetJob::stepProgress, this, &AssetUpdateTask::propagateStepProgress);
44
45 qDebug() << m_inst->name() << ": Starting asset index download";
46 downloadJob->start();
47}
48
49bool AssetUpdateTask::canAbort() const
50{

Callers

nothing calls this directly

Calls 13

getPackProfileMethod · 0.80
getProfileMethod · 0.80
getMinecraftAssetsMethod · 0.80
networkMethod · 0.80
metacacheMethod · 0.80
resolveEntryMethod · 0.80
addNetActionMethod · 0.80
nameMethod · 0.45
setStaleMethod · 0.45
addValidatorMethod · 0.45
resetMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected