1#ifndef COCKATRICE_CARD_DATABASE_QUERIER_H
2#define COCKATRICE_CARD_DATABASE_QUERIER_H
13#include <qtmetamacros.h>
192 getSpecificPrinting(
const QString &cardName,
const QString &setCode,
const QString &collectorNumber)
const;
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:15
QSharedPointer< FormatRules > FormatRulesPtr
Definition card_info.h:31
bool isPreferredPrinting(const CardRef &cardRef) const
Checks whether the CardRef refers to the preferred printing.
Definition card_database_querier.cpp:255
QMap< QString, int > getAllMainCardTypesWithCount() const
Returns a mapping of main card types to their occurrence counts.
Definition card_database_querier.cpp:328
PrintingInfo findPrintingWithId(const CardInfoPtr &card, const QString &providerId) const
Searches for a printing that matches a given providerId.
Definition card_database_querier.cpp:178
PrintingInfo getPreferredPrinting(const QString &cardName) const
Returns the preferred printing for the given card name.
Definition card_database_querier.cpp:264
const ICardPreferenceProvider * prefs
Preference provider for preferred printings.
Definition card_database_querier.h:228
QMap< QString, int > getAllFormatsWithCount() const
Definition card_database_querier.cpp:369
QString getPreferredPrintingProviderId(const QString &cardName) const
Returns the providerId of the preferred printing.
Definition card_database_querier.cpp:308
QMap< QString, int > mainCardTypeCountsCache
Definition card_database_querier.h:233
const CardDatabase * db
Card database used for all lookups.
Definition card_database_querier.h:227
ExactCard getRandomCard() const
Returns a random card from the database using the preferred printing.
Definition card_database_querier.cpp:142
QList< ExactCard > getCards(const QList< CardRef > &cardRefs) const
Resolves multiple CardRefs into ExactCards.
Definition card_database_querier.cpp:90
ExactCard getCard(const CardRef &cardRef) const
Converts a CardRef into an ExactCard.
Definition card_database_querier.cpp:111
CardInfoPtr lookupCardByName(const QString &name) const
Looks up a card using exact name first, then simplified matching as fallback.
Definition card_database_querier.cpp:70
PrintingInfo getSpecificPrinting(const CardRef &cardRef) const
Retrieves a specific printing referenced by CardRef.
Definition card_database_querier.cpp:191
ExactCard guessCard(const CardRef &cardRef) const
Attempts a more flexible card lookup using both simple name matching and CardRef rules.
Definition card_database_querier.cpp:133
ExactCard getCardFromSameSet(const QString &cardName, const PrintingInfo &otherPrinting) const
Returns a printing of a card from the same set as another given printing when possible.
Definition card_database_querier.cpp:156
QList< CardInfoPtr > getCardInfos(const QStringList &cardNames) const
Retrieves multiple cards by their exact names.
Definition card_database_querier.cpp:52
QMap< QString, int > formatsCountCache
Definition card_database_querier.h:235
CardInfoPtr getCardBySimpleName(const QString &cardName) const
Retrieves a card using simplified name matching.
Definition card_database_querier.cpp:65
CardInfoPtr getCardInfo(const QString &cardName) const
Retrieves a card by its exact name.
Definition card_database_querier.cpp:41
QMap< QString, int > getAllSubCardTypesWithCount() const
Returns a mapping of card subtypes to their occurrence counts.
Definition card_database_querier.cpp:343
CardDatabaseQuerier(QObject *parent, const CardDatabase *db, const ICardPreferenceProvider *prefs)
Constructs a CardDatabaseQuerier.
Definition card_database_querier.cpp:17
QStringList getAllMainCardTypes() const
Returns a list of all main card types present in the database.
Definition card_database_querier.cpp:323
QMap< QString, int > subCardTypeCountsCache
Definition card_database_querier.h:234
FormatRulesPtr getFormat(const QString &formatName) const
Definition card_database_querier.cpp:364
void invalidateCaches()
Definition card_database_querier.cpp:28
ExactCard getPreferredCard(const QString &cardName) const
Returns the preferred printing of a card based on user preferences and set priority.
Definition card_database_querier.cpp:239
Core in-memory container for card and set data.
Definition card_database.h:38
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24
Definition interface_card_preference_provider.h:7
Represents metadata for a specific variation of a card within a set.
Definition printing_info.h:31
Definition remote_connection_controller.h:20