23 #include "updaterinfoparser.h" 
   27 #include "updater/autoupdater.h" 
   28 #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                         for (
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;