Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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
5
6#include <QLoggingCategory>
7#include <QXmlStreamReader>
9
10inline Q_LOGGING_CATEGORY(CockatriceXml4Log, "cockatrice_xml.xml_4_parser");
11
29{
30 Q_OBJECT
31public:
34 ~CockatriceXml4Parser() override = default;
35
42 bool getCanParseFile(const QString &name, QIODevice &device) override;
43
48 void parseFile(QIODevice &device) override;
49
53 bool saveToFile(FormatRulesNameMap _formats,
54 SetNameMap _sets,
55 CardNameMap cards,
56 const QString &fileName,
57 const QString &sourceUrl = "unknown",
58 const QString &sourceVersion = "unknown") override;
59
60private:
62
68 QVariantHash loadCardPropertiesFromXml(QXmlStreamReader &xml);
69
75 void loadCardsFromXml(QXmlStreamReader &xml);
76
77 void loadFormats(QXmlStreamReader &xml);
83 void loadSetsFromXml(QXmlStreamReader &xml);
84};
85
86#endif
QHash< QString, FormatRulesPtr > FormatRulesNameMap
Definition card_info.h:31
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:30
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:29
bool getCanParseFile(const QString &name, QIODevice &device) override
Determines if the parser can handle this file.
Definition cockatrice_xml_4.cpp:23
QVariantHash loadCardPropertiesFromXml(QXmlStreamReader &xml)
Loads a generic <prop> block from a <card> element.
Definition cockatrice_xml_4.cpp:235
void loadCardsFromXml(QXmlStreamReader &xml)
Load all <card> elements from the XML stream.
Definition cockatrice_xml_4.cpp:251
void parseFile(QIODevice &device) override
Parse the XML database.
Definition cockatrice_xml_4.cpp:54
~CockatriceXml4Parser() override=default
CockatriceXml4Parser(ICardPreferenceProvider *cardPreferenceProvider, ICardSetPriorityController *cardSetPriorityController)
Definition cockatrice_xml_4.cpp:17
void loadSetsFromXml(QXmlStreamReader &xml)
Load all <set> elements from the XML stream.
Definition cockatrice_xml_4.cpp:195
void loadFormats(QXmlStreamReader &xml)
Definition cockatrice_xml_4.cpp:181
ICardPreferenceProvider * cardPreferenceProvider
Interface to handle user preferences.
Definition cockatrice_xml_4.h:61
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:569
ICardSetPriorityController * cardSetPriorityController
Definition card_database_parser.h:63
ICardDatabaseParser(ICardSetPriorityController *cardSetPriorityController)
Definition card_database_parser.cpp:7
Definition interface_card_preference_provider.h:7
Definition interface_card_set_priority_controller.h:7
Q_LOGGING_CATEGORY(CockatriceXml4Log, "cockatrice_xml.xml_4_parser")