| 32 | } |
| 33 | |
| 34 | void NetworkModAPI::getModInfo(ModPlatform::IndexedPack& pack, std::function<void(QJsonDocument&, ModPlatform::IndexedPack&)> callback) |
| 35 | { |
| 36 | auto response = new QByteArray(); |
| 37 | auto job = getProject(pack.addonId.toString(), response); |
| 38 | |
| 39 | QObject::connect(job, &NetJob::succeeded, [callback, &pack, response] { |
| 40 | QJsonParseError parse_error{}; |
| 41 | QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error); |
| 42 | if (parse_error.error != QJsonParseError::NoError) { |
| 43 | qWarning() << "Error while parsing JSON response for mod info at " << parse_error.offset |
| 44 | << " reason: " << parse_error.errorString(); |
| 45 | qWarning() << *response; |
| 46 | return; |
| 47 | } |
| 48 | |
| 49 | callback(doc, pack); |
| 50 | }); |
| 51 | |
| 52 | job->start(); |
| 53 | } |
| 54 | |
| 55 | void NetworkModAPI::getVersions(VersionSearchArgs&& args, std::function<void(QJsonDocument&, QString)> callback) const |
| 56 | { |
no test coverage detected