23 #include "updaterinfoparser.h"
25 #include "updater/autoupdater.h"
26 #include "updater/updatepackage.h"
30 DClass<UpdaterInfoParser>
33 QList<UpdatePackage> packages;
42 UpdaterInfoParser::~UpdaterInfoParser()
46 const QList<UpdatePackage>& UpdaterInfoParser::packages()
const
57 QVariantMap metaData = var.toMap();
60 foreach (
const QString& package, metaData.keys())
62 int result = parsePackageNode(package, metaData[package].toMap());
63 if (result != AutoUpdater::EC_Ok)
78 return AutoUpdater::EC_Ok;
81 int UpdaterInfoParser::parsePackageNode(
const QString& packageName,
const QVariantMap& map)
84 package.
name = packageName;
86 if (map.contains(
"revision"))
88 package.
revision = map[
"revision"].toLongLong();
92 gLog << tr(
"Missing update revision info for package %1.").arg(packageName);
96 if (map.contains(
"display-version"))
105 if (map.contains(
"display-name"))
107 package.
displayName = map[
"display-name"].toString();
114 if (map.contains(
"URL"))
116 QString strUrl = map[
"URL"].toString();
120 gLog << tr(
"Invalid update download URL for package %1: %2")
121 .arg(packageName, strUrl);
127 gLog << tr(
"Missing update download URL for package %1.").arg(packageName);
131 if (map.contains(
"URL-script"))
133 QString strUrl = map[
"URL-script"].toString();
137 gLog << tr(
"Invalid update script download URL for package %1, %2")
138 .arg(packageName, strUrl);
147 d->packages << package;
148 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.
One of packages has no download URL.
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.
unsigned long long revision
Revision number used for version comparison.
QString name
Name of the package (program name or plugin name).