1#ifndef CARDDATABASE_PARSER_H
2#define CARDDATABASE_PARSER_H
10#define COCKATRICE_XML_XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
63 const QString &fileName,
64 const QString &sourceUrl =
"unknown",
65 const QString &sourceVersion =
"unknown") = 0;
100 const QString &longName =
"",
101 const QString &setType =
"",
102 const QDate &releaseDate = QDate(),
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:19
QHash< QString, FormatRulesPtr > FormatRulesNameMap
Definition card_info.h:33
QSharedPointer< FormatRules > FormatRulesPtr
Definition card_info.h:28
QSharedPointer< CardSet > CardSetPtr
Definition card_info.h:27
QHash< QString, CardSetPtr > SetNameMap
Definition card_info.h:32
QHash< QString, CardInfoPtr > CardNameMap
Definition card_info.h:31
Priority
Defines relative ordering and importance of sets.
Definition card_set.h:42
@ PriorityFallback
Used when no other priority is defined.
Definition card_set.h:43
Defines the base parser interface (ICardDatabaseParser) for all card database parsers.
Definition card_database_parser.h:21
ICardSetPriorityController * cardSetPriorityController
Definition card_database_parser.h:73
ICardDatabaseParser(ICardSetPriorityController *cardSetPriorityController)
Definition card_database_parser.cpp:7
static void clearSetlist()
Clears the cached global set list.
Definition card_database_parser.cpp:11
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:16
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:88
void addSet(CardSetPtr set)
static SetNameMap sets
Cached global list of sets shared between all parsers.
Definition card_database_parser.h:72
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:7
Value type holding the full parsed state of a card database.
Definition card_database_data.h:17