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

Function parseVersionListInternal

launcher/meta/JsonFormat.cpp:77–95  ·  view source on GitHub ↗

Version list / package

Source from the content-addressed store, hash-verified

75
76// Version list / package
77static std::shared_ptr<VersionList> parseVersionListInternal(const QJsonObject &obj)
78{
79 const QString uid = requireString(obj, "uid");
80
81 const QVector<QJsonObject> versionsRaw = requireIsArrayOf<QJsonObject>(obj, "versions");
82 QVector<VersionPtr> versions;
83 versions.reserve(versionsRaw.size());
84 std::transform(versionsRaw.begin(), versionsRaw.end(), std::back_inserter(versions), [uid](const QJsonObject &vObj)
85 {
86 auto version = parseCommonVersion(uid, vObj);
87 version->setProvidesRecommendations();
88 return version;
89 });
90
91 VersionListPtr list = std::make_shared<VersionList>(uid);
92 list->setName(ensureString(obj, "name", QString()));
93 list->setVersions(versions);
94 return list;
95}
96
97
98MetadataVersion parseFormatVersion(const QJsonObject &obj, bool required)

Callers 1

parseVersionListFunction · 0.85

Calls 8

parseCommonVersionFunction · 0.85
QStringClass · 0.85
setVersionsMethod · 0.80
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
setNameMethod · 0.45

Tested by

no test coverage detected