Cockatrice 2026-09-01-Development-3.1.0-beta.10
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
5
6#include <QLoggingCategory>
7#include <QXmlStreamReader>
8
9inline Q_LOGGING_CATEGORY(CockatriceXml3Log, "cockatrice_xml.xml_3_parser");
10
26{
27 Q_OBJECT
28public:
30 ~CockatriceXml3Parser() override = default;
31
38 bool getCanParseFile(const QString &name, QIODevice &device) override;
39
44 void parseFile(QIODevice &device) override;
45
51 void parseFileInto(QIODevice &device, CardDatabaseData &data) override;
52
56 bool saveToFile(FormatRulesNameMap _formats,
57 SetNameMap _sets,
58 CardNameMap cards,
59 const QString &fileName,
60 const QString &sourceUrl = "unknown",
61 const QString &sourceVersion = "unknown") override;
62
63private:
69 void loadCardsFromXml(QXmlStreamReader &xml);
70
76 void loadSetsFromXml(QXmlStreamReader &xml);
77
83 QString getMainCardType(QString &type);
84};
85
86#endif
QHash< QString, FormatRulesPtr > FormatRulesNameMap
Definition card_info.h:33
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:32
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:31
~CockatriceXml3Parser() override=default
QString getMainCardType(QString &type)
Extracts the main card type from a full type string.
Definition cockatrice_xml_3.cpp:126
bool getCanParseFile(const QString &name, QIODevice &device) override
Determines if the parser can handle this file.
Definition cockatrice_xml_3.cpp:22
void loadCardsFromXml(QXmlStreamReader &xml)
Load all <card> elements from the XML stream.
Definition cockatrice_xml_3.cpp:164
CockatriceXml3Parser(ICardSetPriorityController *cardSetPriorityController)
Definition cockatrice_xml_3.cpp:17
void parseFile(QIODevice &device) override
Parse the XML database.
Definition cockatrice_xml_3.cpp:53
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:472
void loadSetsFromXml(QXmlStreamReader &xml)
Load all <set> elements from the XML stream.
Definition cockatrice_xml_3.cpp:89
void parseFileInto(QIODevice &device, CardDatabaseData &data) override
Parse the XML database into the given snapshot.
Definition cockatrice_xml_3.cpp:82
ICardSetPriorityController * cardSetPriorityController
Definition card_database_parser.h:73
ICardDatabaseParser(ICardSetPriorityController *cardSetPriorityController)
Definition card_database_parser.cpp:7
Definition interface_card_set_priority_controller.h:7
Q_LOGGING_CATEGORY(CockatriceXml3Log, "cockatrice_xml.xml_3_parser")
Value type holding the full parsed state of a card database.
Definition card_database_data.h:17