23 #include "updaterinfoparser.h" 25 #include "updater/autoupdater.h" 26 #include "updater/updatepackage.h" 30 DClass<UpdaterInfoParser>
33 QList<UpdatePackage> packages;
35 bool hasMainProgramName(
const QVariantMap &metaData)
const 48 UpdaterInfoParser::~UpdaterInfoParser()
52 const QList<UpdatePackage>& UpdaterInfoParser::packages()
const 63 QVariantMap metaData = var.toMap();
64 if (d->hasMainProgramName(metaData))
66 foreach (
const QString& package, metaData.keys())
68 int result = parsePackageNode(package, metaData[package].toMap());
69 if (result != AutoUpdater::EC_Ok)
84 return AutoUpdater::EC_Ok;
87 int UpdaterInfoParser::parsePackageNode(
const QString& packageName,
const QVariantMap& map)
90 package.
name = packageName;
92 if (map.contains(
"revision"))
94 package.
revision = map[
"revision"].toString();
98 gLog << tr(
"Missing update revision info for package %1.").arg(packageName);
102 if (map.contains(
"display-version"))
111 if (map.contains(
"display-name"))
113 package.
displayName = map[
"display-name"].toString();
120 if (map.contains(
"URL"))
122 QString strUrl = map[
"URL"].toString();
126 gLog << tr(
"Invalid update download URL for package %1: %2")
127 .arg(packageName, strUrl);
133 gLog << tr(
"Missing update download URL for package %1.").arg(packageName);
137 if (map.contains(
"URL-script"))
139 QString strUrl = map[
"URL-script"].toString();
143 gLog << tr(
"Invalid update script download URL for package %1, %2")
144 .arg(packageName, strUrl);
153 d->packages << package;
154 return AutoUpdater::EC_Ok;
QUrl downloadScriptUrl
Updater script download URL.
static QVariant parse(const QString &json)
One of packages has no revision info.
int parse(const QByteArray &json)
Parses updater info JSON and sets certain internal properties which can then be accessed through gett...
QUrl downloadUrl
Package download URL.
QUrl.isValid() for package download URL returned false or QUrl.isRelative() returned true...
QString displayName
Name displayed to the user.
static const QString FALLBACK_MAIN_PROGRAM_PACKAGE_NAME
Support for downgrading to monolithic Doomseeker package.
One of packages has no download URL.
QString revision
Revision used for version comparison.
File was parseable but there was no main program information inside.
Updater info file can't be parsed.
QString displayVersion
Version displayed to the user.
static const QString MAIN_PROGRAM_PACKAGE_NAME
Package name for the main program.
QString name
Name of the package (program name or plugin name).