Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
cockatrice_xml_4.h
Go to the documentation of this file.
1#ifndef COCKATRICE_XML4_H
2#define COCKATRICE_XML4_H
3
6
7#include <QHash>
8#include <QLoggingCategory>
9#include <QString>
10#include <qtmetamacros.h>
11
13class QXmlStreamReader;
14
15inline Q_LOGGING_CATEGORY(CockatriceXml4Log, "cockatrice_xml.xml_4_parser");
16
33{
34 Q_OBJECT
35public:
37 ~CockatriceXml4Parser() override = default;
38
45 bool getCanParseFile(const QString &name, QIODevice &device) override;
46
51 void parseFile(QIODevice &device) override;
52
58 void parseFileInto(QIODevice &device, CardDatabaseData &data) override;
59
63 bool saveToFile(FormatRulesNameMap _formats,
64 SetNameMap _sets,
65 CardNameMap cards,
66 const QString &fileName,
67 const QString &sourceUrl = "unknown",
68 const QString &sourceVersion = "unknown") override;
69
70private:
77
82 void loadCardsFromXml(QXmlStreamReader &xml);
83
84 void loadFormats(QXmlStreamReader &xml);
90 void loadSetsFromXml(QXmlStreamReader &xml);
91};
92
93#endif
QHash< QString, FormatRulesPtr > FormatRulesNameMap
Definition card_info.h:36
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:35
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:34
bool getCanParseFile(const QString &name, QIODevice &device) override
Determines if the parser can handle this file.
Definition cockatrice_xml_4.cpp:45
CockatriceXml4Parser(ICardSetPriorityController *cardSetPriorityController)
Definition cockatrice_xml_4.cpp:40
void loadCardsFromXml(QXmlStreamReader &xml)
Load all <card> elements from the XML stream.
Definition cockatrice_xml_4.cpp:284
void parseFile(QIODevice &device) override
Parse the XML database.
Definition cockatrice_xml_4.cpp:76
~CockatriceXml4Parser() override=default
void loadSetsFromXml(QXmlStreamReader &xml)
Load all <set> elements from the XML stream.
Definition cockatrice_xml_4.cpp:228
void parseFileInto(QIODevice &device, CardDatabaseData &data) override
Parse the XML database into the given snapshot.
Definition cockatrice_xml_4.cpp:107
QHash< QString, QString > loadCardPropertiesFromXml(QXmlStreamReader &xml)
Loads a generic <prop> block from a <card> element.
Definition cockatrice_xml_4.cpp:268
void loadFormats(QXmlStreamReader &xml)
Definition cockatrice_xml_4.cpp:210
bool saveToFile(FormatRulesNameMap _formats, SetNameMap _sets, CardNameMap cards, const QString &fileName, const QString &sourceUrl="unknown", const QString &sourceVersion="unknown") override
Save sets and cards back to an XML4 file.
Definition cockatrice_xml_4.cpp:678
ICardSetPriorityController * cardSetPriorityController
Definition card_database_parser.h:80
ICardDatabaseParser(ICardSetPriorityController *cardSetPriorityController)
Definition card_database_parser.cpp:12
Definition interface_card_set_priority_controller.h:8
Definition mana_curve_category_widget.h:11
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
Value type holding the full parsed state of a card database.
Definition card_database_data.h:17