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

Function parseMinecraftEntitlements

launcher/minecraft/auth/Parsers.cpp:396–428  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

394}
395
396bool parseMinecraftEntitlements(QByteArray& data, MinecraftEntitlement& output)
397{
398 qDebug() << "Parsing Minecraft entitlements...";
399 qCDebug(authCredentials()) << data;
400
401 QJsonParseError jsonError;
402 QJsonDocument doc = QJsonDocument::fromJson(data, &jsonError);
403 if (jsonError.error) {
404 qWarning() << "Failed to parse response from user.auth.xboxlive.com as JSON: " << jsonError.errorString();
405 return false;
406 }
407
408 auto obj = doc.object();
409 output.canPlayMinecraft = false;
410 output.ownsMinecraft = false;
411
412 auto itemsArray = obj.value("items").toArray();
413 for (auto item : itemsArray) {
414 auto itemObj = item.toObject();
415 QString name;
416 if (!getString(itemObj.value("name"), name)) {
417 continue;
418 }
419 if (name == "game_minecraft") {
420 output.canPlayMinecraft = true;
421 }
422 if (name == "product_minecraft") {
423 output.ownsMinecraft = true;
424 }
425 }
426 output.validity = Validity::Certain;
427 return true;
428}
429
430bool parseRolloutResponse(QByteArray& data, bool& result)
431{

Callers 1

onRequestDoneMethod · 0.85

Calls 4

getStringFunction · 0.85
errorStringMethod · 0.80
objectMethod · 0.80
valueMethod · 0.80

Tested by

no test coverage detected