mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-10 20:13:24 -08:00
[CardDatabase] Store querier not as pointer
This commit is contained in:
parent
3931447729
commit
598da954fc
6 changed files with 10 additions and 16 deletions
|
|
@ -27,7 +27,8 @@ CardDatabase::CardDatabase(QObject *parent,
|
|||
ICardPreferenceProvider *prefs,
|
||||
ICardDatabasePathProvider *pathProvider,
|
||||
ICardSetPriorityController *_setPriorityController)
|
||||
: QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded)
|
||||
: QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded),
|
||||
querier(this, prefs)
|
||||
{
|
||||
qRegisterMetaType<CardInfoPtr>("CardInfoPtr");
|
||||
qRegisterMetaType<CardInfoPtr>("CardSetPtr");
|
||||
|
|
@ -44,8 +45,6 @@ CardDatabase::CardDatabase(QObject *parent,
|
|||
// that cross-thread loads are delivered via the event loop while same-thread/
|
||||
// synchronous callers get the swap immediately.
|
||||
connect(loader, &CardDatabaseLoader::databaseDataReady, this, &CardDatabase::swapInDatabaseData);
|
||||
|
||||
querier = new CardDatabaseQuerier(this, this, prefs);
|
||||
}
|
||||
|
||||
CardDatabase::~CardDatabase()
|
||||
|
|
|
|||
|
|
@ -60,9 +60,8 @@ protected:
|
|||
LoadStatus loadStatus;
|
||||
|
||||
/** @brief Querier for higher-level card lookups. */
|
||||
CardDatabaseQuerier *querier;
|
||||
CardDatabaseQuerier querier;
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief Refreshes the cached reverse-related cards for all cards.
|
||||
*/
|
||||
|
|
@ -143,7 +142,7 @@ public:
|
|||
}
|
||||
|
||||
/** @brief Returns the querier for performing card lookups. */
|
||||
[[nodiscard]] CardDatabaseQuerier *query() const
|
||||
[[nodiscard]] CardDatabaseQuerier const &query() const
|
||||
{
|
||||
return querier;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ CardDatabase *CardDatabaseManager::getInstance()
|
|||
return &instance;
|
||||
}
|
||||
|
||||
CardDatabaseQuerier *CardDatabaseManager::query()
|
||||
CardDatabaseQuerier const &CardDatabaseManager::query()
|
||||
{
|
||||
return getInstance()->query();
|
||||
}
|
||||
|
|
@ -63,7 +63,7 @@ public:
|
|||
* @brief Returns the CardDatabaseQuerier of the singleton database.
|
||||
* @return Pointer to CardDatabaseQuerier.
|
||||
*/
|
||||
static CardDatabaseQuerier *query();
|
||||
static CardDatabaseQuerier const &query();
|
||||
|
||||
private:
|
||||
/** @brief Private default constructor to enforce singleton. */
|
||||
|
|
|
|||
|
|
@ -15,10 +15,8 @@
|
|||
#include <iterator>
|
||||
#include <qnamespace.h>
|
||||
|
||||
CardDatabaseQuerier::CardDatabaseQuerier(QObject *_parent,
|
||||
const CardDatabase *_db,
|
||||
const ICardPreferenceProvider *prefs)
|
||||
: QObject(_parent), db(_db), prefs(prefs)
|
||||
CardDatabaseQuerier::CardDatabaseQuerier(const CardDatabase *_db, const ICardPreferenceProvider *prefs)
|
||||
: db(_db), prefs(prefs)
|
||||
{
|
||||
// Invalidate the cached count maps whenever the database contents change.
|
||||
connect(db, &CardDatabase::cardAdded, this, &CardDatabaseQuerier::invalidateCaches);
|
||||
|
|
|
|||
|
|
@ -25,19 +25,17 @@ struct CardRef;
|
|||
* (e.g., CardInfoPtr, ExactCard, and PrintingInfo) from a CardDatabase. It also applies user
|
||||
* printing preferences via ICardPreferenceProvider when determining preferred printings.
|
||||
*/
|
||||
class CardDatabaseQuerier : public QObject
|
||||
class CardDatabaseQuerier
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Constructs a CardDatabaseQuerier.
|
||||
*
|
||||
* @param parent Parent QObject.
|
||||
* @param db Pointer to the CardDatabase used for lookups.
|
||||
* @param prefs Pointer to card preference provider which supplies user-preference for printings.
|
||||
*/
|
||||
explicit CardDatabaseQuerier(QObject *parent, const CardDatabase *db, const ICardPreferenceProvider *prefs);
|
||||
explicit CardDatabaseQuerier(const CardDatabase *db, const ICardPreferenceProvider *prefs);
|
||||
|
||||
/**
|
||||
* @brief Retrieves a card by its exact name.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue