diff options
Diffstat (limited to 'launcher/modplatform/flame/FileResolvingTask.cpp')
| -rw-r--r-- | launcher/modplatform/flame/FileResolvingTask.cpp | 94 |
1 files changed, 48 insertions, 46 deletions
diff --git a/launcher/modplatform/flame/FileResolvingTask.cpp b/launcher/modplatform/flame/FileResolvingTask.cpp index 320096758d..884d3831f0 100644 --- a/launcher/modplatform/flame/FileResolvingTask.cpp +++ b/launcher/modplatform/flame/FileResolvingTask.cpp @@ -22,59 +22,61 @@ #include "FileResolvingTask.h" #include "Json.h" -Flame::FileResolvingTask::FileResolvingTask(shared_qobject_ptr<QNetworkAccessManager> network, Flame::Manifest& toProcess) - : m_network(network), m_toProcess(toProcess) +Flame::FileResolvingTask::FileResolvingTask( + shared_qobject_ptr<QNetworkAccessManager> network, + Flame::Manifest& toProcess) + : m_network(network), m_toProcess(toProcess) { } void Flame::FileResolvingTask::executeTask() { - setStatus(tr("Resolving mod IDs...")); - setProgress(0, m_toProcess.files.size()); - m_dljob = new NetJob("Mod id resolver", m_network); - results.resize(m_toProcess.files.size()); - int index = 0; - for(auto & file: m_toProcess.files) - { - auto projectIdStr = QString::number(file.projectId); - auto fileIdStr = QString::number(file.fileId); - QString metaurl = QString("https://api.curseforge.com/v1/mods/%1/files/%2").arg(projectIdStr, fileIdStr); - auto dl = Net::Download::makeByteArray(QUrl(metaurl), &results[index]); - m_dljob->addNetAction(dl); - index ++; - } - connect(m_dljob.get(), &NetJob::finished, this, &Flame::FileResolvingTask::netJobFinished); - m_dljob->start(); + setStatus(tr("Resolving mod IDs...")); + setProgress(0, m_toProcess.files.size()); + m_dljob = new NetJob("Mod id resolver", m_network); + results.resize(m_toProcess.files.size()); + int index = 0; + for (auto& file : m_toProcess.files) { + auto projectIdStr = QString::number(file.projectId); + auto fileIdStr = QString::number(file.fileId); + QString metaurl = + QString("https://api.curseforge.com/v1/mods/%1/files/%2") + .arg(projectIdStr, fileIdStr); + auto dl = Net::Download::makeByteArray(QUrl(metaurl), &results[index]); + m_dljob->addNetAction(dl); + index++; + } + connect(m_dljob.get(), &NetJob::finished, this, + &Flame::FileResolvingTask::netJobFinished); + m_dljob->start(); } void Flame::FileResolvingTask::netJobFinished() { - int index = 0; - int unresolved = 0; - for(auto & bytes: results) - { - auto & out = m_toProcess.files[index]; - try - { - if(!out.parseFromBytes(bytes)) - { - unresolved++; - qWarning() << "Resolving of" << out.projectId << out.fileId << "failed: mod may have restricted downloads"; - } - } - catch (const JSONValidationError &e) - { - unresolved++; - qCritical() << "Resolving of" << out.projectId << out.fileId << "failed because of a parsing error:"; - qCritical() << e.cause(); - qCritical() << "JSON:"; - qCritical() << bytes; - } - index++; - } - if(unresolved > 0) - { - qWarning() << unresolved << "mod(s) could not be resolved (restricted downloads). They will be skipped."; - } - emitSucceeded(); + int index = 0; + int unresolved = 0; + for (auto& bytes : results) { + auto& out = m_toProcess.files[index]; + try { + if (!out.parseFromBytes(bytes)) { + unresolved++; + qWarning() << "Resolving of" << out.projectId << out.fileId + << "failed: mod may have restricted downloads"; + } + } catch (const JSONValidationError& e) { + unresolved++; + qCritical() << "Resolving of" << out.projectId << out.fileId + << "failed because of a parsing error:"; + qCritical() << e.cause(); + qCritical() << "JSON:"; + qCritical() << bytes; + } + index++; + } + if (unresolved > 0) { + qWarning() << unresolved + << "mod(s) could not be resolved (restricted downloads). " + "They will be skipped."; + } + emitSucceeded(); } |
