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    47 UpdaterInfoParser::~UpdaterInfoParser()
    51 const QList<UpdatePackage>& UpdaterInfoParser::packages()
 const    62                 QVariantMap metaData = var.toMap();
    63                 if (d->hasMainProgramName(metaData))
    65                         foreach (
const QString& package, metaData.keys())
    67                                 int result = parsePackageNode(package, metaData[package].toMap());
    68                                 if (result != AutoUpdater::EC_Ok)
    83         return AutoUpdater::EC_Ok;
    86 int UpdaterInfoParser::parsePackageNode(
const QString& packageName, 
const QVariantMap& map)
    89         package.
name = packageName;
    91         if (map.contains(
"revision"))
    93                 package.
revision = map[
"revision"].toString();
    97                 gLog << tr(
"Missing update revision info for package %1.").arg(packageName);
   101         if (map.contains(
"display-version"))
   110         if (map.contains(
"display-name"))
   112                 package.
displayName = map[
"display-name"].toString();
   119         if (map.contains(
"URL"))
   121                 QString strUrl = map[
"URL"].toString();
   125                         gLog << tr(
"Invalid update download URL for package %1: %2")
   126                                 .arg(packageName, strUrl);
   132                 gLog << tr(
"Missing update download URL for package %1.").arg(packageName);
   136         if (map.contains(
"URL-script"))
   138                 QString strUrl = map[
"URL-script"].toString();
   142                         gLog << tr(
"Invalid update script download URL for package %1, %2")
   143                                 .arg(packageName, strUrl);
   152         d->packages << package;
   153         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. 
 
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).