File indexing completed on 2024-04-21 14:52:17

0001 /*
0002     This file is part of KDE.
0003 
0004     SPDX-FileCopyrightText: 2009 Frederik Gladhorn <gladhorn@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "downloaditemparser.h"
0010 
0011 #include <QXmlStreamReader>
0012 
0013 using namespace Attica;
0014 
0015 QStringList DownloadItem::Parser::xmlElement() const
0016 {
0017     return QStringList(QStringLiteral("content"));
0018 }
0019 
0020 DownloadItem DownloadItem::Parser::parseXml(QXmlStreamReader &xml)
0021 {
0022     DownloadItem item;
0023 
0024     while (!xml.atEnd()) {
0025         xml.readNext();
0026         if (xml.isStartElement()) {
0027             if (xml.name() == QLatin1String("downloadlink")) {
0028                 item.setUrl(QUrl(xml.readElementText()));
0029             } else if (xml.name() == QLatin1String("mimetype")) {
0030                 item.setMimeType(xml.readElementText());
0031             } else if (xml.name() == QLatin1String("packagename")) {
0032                 item.setPackageName(xml.readElementText());
0033             } else if (xml.name() == QLatin1String("packagerepository")) {
0034                 item.setPackageRepository(xml.readElementText());
0035             } else if (xml.name() == QLatin1String("gpgfingerprint")) {
0036                 item.setGpgFingerprint(xml.readElementText());
0037             } else if (xml.name() == QLatin1String("gpgsignature")) {
0038                 item.setGpgSignature(xml.readElementText());
0039             } else if (xml.name() == QLatin1String("downloadway")) {
0040                 item.setType(DownloadDescription::Type(xml.readElementText().toInt()));
0041             }
0042         }
0043     }
0044     return item;
0045 }