Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
cockatrice_xml_3.h
Go to the documentation of this file.
1#ifndef COCKATRICE_XML3_H
2#define COCKATRICE_XML3_H
3
6
7#include <QLoggingCategory>
8#include <QString>
9#include <qtmetamacros.h>
10
12class QXmlStreamReader;
13
14inline Q_LOGGING_CATEGORY(CockatriceXml3Log, "cockatrice_xml.xml_3_parser");
15
31{
32 Q_OBJECT
33public:
35 ~CockatriceXml3Parser() override = default;
36
43 bool getCanParseFile(const QString &name, QIODevice &device) override;
44
49 void parseFile(QIODevice &device) override;
50
56 void parseFileInto(QIODevice &device, CardDatabaseData &data) override;
57
61 bool saveToFile(FormatRulesNameMap _formats,
62 SetNameMap _sets,
63 CardNameMap cards,
64 const QString &fileName,
65 const QString &sourceUrl = "unknown",
66 const QString &sourceVersion = "unknown") override;
67
68private:
74 void loadCardsFromXml(QXmlStreamReader &xml);
75
81 void loadSetsFromXml(QXmlStreamReader &xml);
82
88 QString getMainCardType(QString &type);
89};
90
91#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
~CockatriceXml3Parser() override=default
QString getMainCardType(QString &type)
Extracts the main card type from a full type string.
Definition cockatrice_xml_3.cpp:146
bool getCanParseFile(const QString &name, QIODevice &device) override
Determines if the parser can handle this file.
Definition cockatrice_xml_3.cpp:42
void loadCardsFromXml(QXmlStreamReader &xml)
Load all <card> elements from the XML stream.
Definition cockatrice_xml_3.cpp:184
CockatriceXml3Parser(ICardSetPriorityController *cardSetPriorityController)
Definition cockatrice_xml_3.cpp:37
void parseFile(QIODevice &device) override
Parse the XML database.
Definition cockatrice_xml_3.cpp:73
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 XML3 file.
Definition cockatrice_xml_3.cpp:492
void loadSetsFromXml(QXmlStreamReader &xml)
Load all <set> elements from the XML stream.
Definition cockatrice_xml_3.cpp:109
void parseFileInto(QIODevice &device, CardDatabaseData &data) override
Parse the XML database into the given snapshot.
Definition cockatrice_xml_3.cpp:102
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
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
EmailType type
Definition smtpclient.cpp:30
Value type holding the full parsed state of a card database.
Definition card_database_data.h:17