Cockatrice 2025-11-30-Development-2.11.0-beta.38
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:
33 ~CockatriceXml4Parser() override = default;
34
41 bool getCanParseFile(const QString &name, QIODevice &device) override;
42
47 void parseFile(QIODevice &device) override;
48
52 bool saveToFile(SetNameMap _sets,
53 CardNameMap cards,
54 const QString &fileName,
55 const QString &sourceUrl = "unknown",
56 const QString &sourceVersion = "unknown") override;
57
58private:
60
66 QVariantHash loadCardPropertiesFromXml(QXmlStreamReader &xml);
67
73 void loadCardsFromXml(QXmlStreamReader &xml);
74
80 void loadSetsFromXml(QXmlStreamReader &xml);
81};
82
83#endif
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:28
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:27
bool getCanParseFile(const QString &name, QIODevice &device) override
Determines if the parser can handle this file.
Definition cockatrice_xml_4.cpp:21
QVariantHash loadCardPropertiesFromXml(QXmlStreamReader &xml)
Loads a generic <prop> block from a <card> element.
Definition cockatrice_xml_4.cpp:121
void loadCardsFromXml(QXmlStreamReader &xml)
Load all <card> elements from the XML stream.
Definition cockatrice_xml_4.cpp:137
void parseFile(QIODevice &device) override
Parse the XML database.
Definition cockatrice_xml_4.cpp:52
~CockatriceXml4Parser() override=default
void loadSetsFromXml(QXmlStreamReader &xml)
Load all <set> elements from the XML stream.
Definition cockatrice_xml_4.cpp:81
CockatriceXml4Parser(ICardPreferenceProvider *cardPreferenceProvider)
Definition cockatrice_xml_4.cpp:16
bool saveToFile(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:402
ICardPreferenceProvider * cardPreferenceProvider
Interface to handle user preferences.
Definition cockatrice_xml_4.h:59
Defines the base parser interface (ICardDatabaseParser) for all card database parsers.
Definition card_database_parser.h:20
Definition interface_card_preference_provider.h:7
Q_LOGGING_CATEGORY(CockatriceXml4Log, "cockatrice_xml.xml_4_parser")