mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-12 00:54:53 -07:00
* Have CardDatabase::getPreferredPrintingInfo respect card provider ID overrides (pinned printings)
Took 13 minutes
Took 37 seconds
Took 10 seconds
Took 10 seconds
# Commit time for manual adjustment:
# Took 30 seconds
Took 15 seconds
Took 8 minutes
Took 21 seconds
* Move settings cache and settings card preference provider out of libcockatrice_settings and into cockatrice
Took 52 minutes
Took 9 minutes
Took 1 minute
* Temp cache.
Took 16 minutes
* Dependency Injection for SettingsCache
* Turn SettingsCache into a QSharedPointer.
* Implement interfaces for settings that need it
Took 2 hours 38 minutes
* Adjust oracle.
Took 5 minutes
* Move abstract/noop interfaces to libcockatrice_interfaces so they can be linked against independently.
Took 52 minutes
* Clean up some links.
Took 3 minutes
* Cleanup two includes.
Took 3 minutes
* More fixes.
Took 7 minutes
* More includes that slipped past.
Took 3 minutes
* Stop mocking and start injecting for tests.
Took 15 minutes
* I don't know why remote_client was including main.
Took 4 minutes
* Include.
Took 3 minutes
* Lint.
Took 2 minutes
* Don't use Qt pointers.
Took 1 hour 7 minutes
* Make parser use CardSettingsInterface
Took 13 minutes
* Also adjust constructor lol.
Took 8 minutes
* Lint.
Took 32 minutes
* Revert "Lint."
This reverts commit ecb596c39e.
Took 3 minutes
* Test.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
65 lines
2.6 KiB
C++
65 lines
2.6 KiB
C++
/**
|
|
* @file card_database_querier.h
|
|
* @ingroup CardDatabase
|
|
* @brief The CardDatabaseQuerier is responsible for querying the database and returning data.
|
|
*/
|
|
|
|
#ifndef COCKATRICE_CARD_DATABASE_QUERIER_H
|
|
#define COCKATRICE_CARD_DATABASE_QUERIER_H
|
|
|
|
#include "../card_info.h"
|
|
#include "../printing/exact_card.h"
|
|
|
|
#include <QObject>
|
|
#include <libcockatrice/interfaces/interface_card_preference_provider.h>
|
|
#include <libcockatrice/utility/card_ref.h>
|
|
|
|
class CardDatabase;
|
|
class CardDatabaseQuerier : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit CardDatabaseQuerier(QObject *parent, const CardDatabase *db, const ICardPreferenceProvider *prefs);
|
|
|
|
[[nodiscard]] CardInfoPtr getCardInfo(const QString &cardName) const;
|
|
[[nodiscard]] QList<CardInfoPtr> getCardInfos(const QStringList &cardNames) const;
|
|
|
|
/*
|
|
* Get a card by its simple name. The name will be simplified in this
|
|
* function, so you don't need to simplify it beforehand.
|
|
*/
|
|
[[nodiscard]] CardInfoPtr getCardBySimpleName(const QString &cardName) const;
|
|
|
|
[[nodiscard]] ExactCard guessCard(const CardRef &cardRef) const;
|
|
[[nodiscard]] ExactCard getCard(const CardRef &cardRef) const;
|
|
[[nodiscard]] QList<ExactCard> getCards(const QList<CardRef> &cardRefs) const;
|
|
|
|
[[nodiscard]] ExactCard getRandomCard() const;
|
|
[[nodiscard]] ExactCard getCardFromSameSet(const QString &cardName, const PrintingInfo &otherPrinting) const;
|
|
|
|
[[nodiscard]] ExactCard getPreferredCard(const CardInfoPtr &card) const;
|
|
[[nodiscard]] bool isPreferredPrinting(const CardRef &cardRef) const;
|
|
[[nodiscard]] PrintingInfo getPreferredPrinting(const CardInfoPtr &card) const;
|
|
[[nodiscard]] PrintingInfo getPreferredPrinting(const QString &cardName) const;
|
|
[[nodiscard]] QString getPreferredPrintingProviderId(const QString &cardName) const;
|
|
|
|
[[nodiscard]] PrintingInfo getSpecificPrinting(const CardRef &cardRef) const;
|
|
[[nodiscard]] PrintingInfo
|
|
getSpecificPrinting(const QString &cardName, const QString &setCode, const QString &collectorNumber) const;
|
|
ExactCard getPreferredCard(const QString &cardName) const;
|
|
[[nodiscard]] PrintingInfo findPrintingWithId(const CardInfoPtr &card, const QString &providerId) const;
|
|
|
|
[[nodiscard]] QStringList getAllMainCardTypes() const;
|
|
[[nodiscard]] QMap<QString, int> getAllMainCardTypesWithCount() const;
|
|
[[nodiscard]] QMap<QString, int> getAllSubCardTypesWithCount() const;
|
|
|
|
private:
|
|
const CardDatabase *db;
|
|
|
|
const ICardPreferenceProvider *prefs;
|
|
|
|
CardInfoPtr lookupCardByName(const QString &name) const;
|
|
};
|
|
|
|
#endif // COCKATRICE_CARD_DATABASE_QUERIER_H
|