Extract the xml parser from carddatabase (#3223)

This commit is contained in:
ctrlaltca 2018-05-04 09:46:08 +02:00 committed by Zach H
parent 9727699e26
commit a7f4aace9c
10 changed files with 510 additions and 384 deletions

View file

@ -2,19 +2,20 @@
#define CARDDATABASE_H
#include <QBasicMutex>
#include <QDataStream>
#include <QDate>
#include <QHash>
#include <QList>
#include <QMap>
#include <QMetaType>
#include <QPixmap>
#include <QXmlStreamReader>
#include <QSharedPointer>
#include <QStringList>
#include <QVector>
class CardDatabase;
class CardInfo;
class CardSet;
class CardRelation;
class ICardDatabaseParser;
typedef QMap<QString, QString> QStringMap;
typedef QMap<QString, int> MuidMap;
@ -58,15 +59,15 @@ public:
{
return releaseDate;
}
void setLongName(QString &_longName)
void setLongName(const QString &_longName)
{
longName = _longName;
}
void setSetType(QString &_setType)
void setSetType(const QString &_setType)
{
setType = _setType;
}
void setReleaseDate(QDate &_releaseDate)
void setReleaseDate(const QDate &_releaseDate)
{
releaseDate = _releaseDate;
}
@ -398,11 +399,9 @@ protected:
LoadStatus loadStatus;
private:
static const int versionNeeded;
void loadCardsFromXml(QXmlStreamReader &xml);
void loadSetsFromXml(QXmlStreamReader &xml);
QVector<ICardDatabaseParser *> availableParsers;
private:
CardInfoPtr getCardFromMap(const CardNameMap &cardMap, const QString &cardName) const;
void checkUnknownSets();
void refreshCachedReverseRelatedCards();
@ -417,7 +416,6 @@ public:
explicit CardDatabase(QObject *parent = nullptr);
~CardDatabase() override;
void clear();
void addCard(CardInfoPtr card);
void removeCard(CardInfoPtr card);
CardInfoPtr getCard(const QString &cardName) const;
QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
@ -435,7 +433,6 @@ public:
}
SetList getSetList() const;
LoadStatus loadFromFile(const QString &fileName);
bool saveToFile(const QString &fileName, bool tokens = false);
bool saveCustomTokensToFile();
QStringList getAllColors() const;
QStringList getAllMainCardTypes() const;
@ -449,6 +446,8 @@ public:
public slots:
LoadStatus loadCardDatabases();
void addCard(CardInfoPtr card);
void addSet(CardSetPtr set);
private slots:
LoadStatus loadCardDatabase(const QString &path);
signals: