1#ifndef CARDDATABASE_PARSER_H
2#define CARDDATABASE_PARSER_H
11#include <qtmetamacros.h>
17#define COCKATRICE_XML_XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
70 const QString &fileName,
71 const QString &sourceUrl =
"unknown",
72 const QString &sourceVersion =
"unknown") = 0;
107 const QString &longName =
"",
108 const QString &setType =
"",
109 const QDate &releaseDate = QDate(),
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:15
QHash< QString, FormatRulesPtr > FormatRulesNameMap
Definition card_info.h:36
QSharedPointer< FormatRules > FormatRulesPtr
Definition card_info.h:31
QSharedPointer< CardSet > CardSetPtr
Definition card_info.h:30
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:35
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:34
Priority
Defines relative ordering and importance of sets.
Definition card_set.h:44
@ PriorityFallback
Used when no other priority is defined.
Definition card_set.h:45
Defines the base parser interface (ICardDatabaseParser) for all card database parsers.
Definition card_database_parser.h:28
ICardSetPriorityController * cardSetPriorityController
Definition card_database_parser.h:80
ICardDatabaseParser(ICardSetPriorityController *cardSetPriorityController)
Definition card_database_parser.cpp:12
static void clearSetlist()
Clears the cached global set list.
Definition card_database_parser.cpp:16
CardSetPtr internalAddSet(const QString &setName, const QString &longName="", const QString &setType="", const QDate &releaseDate=QDate(), const CardSet::Priority priority=CardSet::PriorityFallback)
Internal helper to add a set to the global set cache.
Definition card_database_parser.cpp:21
virtual void parseFileInto(QIODevice &device, CardDatabaseData &data)=0
Parses a database file into the given snapshot, without emitting any signals. Used for background loa...
virtual bool saveToFile(FormatRulesNameMap _formats, SetNameMap sets, CardNameMap cards, const QString &fileName, const QString &sourceUrl="unknown", const QString &sourceVersion="unknown")=0
Saves card and set data to a file.
virtual void parseFile(QIODevice &device)=0
Parses a database file and emits addCard/addSet signals.
void addCard(CardInfoPtr card)
CardDatabaseData * targetData
Snapshot the current parse is filling, or nullptr when emitting signals.
Definition card_database_parser.h:95
void addSet(CardSetPtr set)
static SetNameMap sets
Cached global list of sets shared between all parsers.
Definition card_database_parser.h:79
virtual bool getCanParseFile(const QString &name, QIODevice &device)=0
Checks whether this parser can parse the given file.
~ICardDatabaseParser() override=default
void addFormat(FormatRulesPtr format)
Definition interface_card_set_priority_controller.h:8
Value type holding the full parsed state of a card database.
Definition card_database_data.h:17