From 97c763f45c1c5575b0275c2002121005abeb39ff Mon Sep 17 00:00:00 2001 From: RickyRister Date: Thu, 26 Mar 2026 09:59:38 -0700 Subject: [PATCH] [CardDatabase] Store querier not as pointer --- .../libcockatrice/card/database/card_database.cpp | 5 ++--- .../libcockatrice/card/database/card_database.h | 6 ++---- .../libcockatrice/card/database/card_database_manager.cpp | 2 +- .../libcockatrice/card/database/card_database_manager.h | 2 +- .../libcockatrice/card/database/card_database_querier.cpp | 6 ++---- .../libcockatrice/card/database/card_database_querier.h | 6 ++---- 6 files changed, 10 insertions(+), 17 deletions(-) diff --git a/libcockatrice_card/libcockatrice/card/database/card_database.cpp b/libcockatrice_card/libcockatrice/card/database/card_database.cpp index 5c4b408b3..8ac4d8741 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database.cpp @@ -15,7 +15,8 @@ CardDatabase::CardDatabase(QObject *parent, ICardPreferenceProvider *prefs, ICardDatabasePathProvider *pathProvider, ICardSetPriorityController *_setPriorityController) - : QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded) + : QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded), + querier(CardDatabaseQuerier(this, prefs)) { qRegisterMetaType("CardInfoPtr"); qRegisterMetaType("CardSetPtr"); @@ -27,8 +28,6 @@ CardDatabase::CardDatabase(QObject *parent, connect(loader, &CardDatabaseLoader::loadingFailed, this, &CardDatabase::cardDatabaseLoadingFailed); connect(loader, &CardDatabaseLoader::newSetsFound, this, &CardDatabase::cardDatabaseNewSetsFound); connect(loader, &CardDatabaseLoader::allNewSetsEnabled, this, &CardDatabase::cardDatabaseAllNewSetsEnabled); - - querier = new CardDatabaseQuerier(this, this, prefs); } CardDatabase::~CardDatabase() diff --git a/libcockatrice_card/libcockatrice/card/database/card_database.h b/libcockatrice_card/libcockatrice/card/database/card_database.h index 7f8fc39db..910fc3e33 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database.h @@ -29,7 +29,6 @@ class CardDatabase : public QObject { Q_OBJECT -protected: /// Controller to determine set priority when choosing preferred printings. ICardSetPriorityController *setPriorityController; @@ -51,9 +50,8 @@ protected: LoadStatus loadStatus; /// Querier for higher-level card lookups - CardDatabaseQuerier *querier; + CardDatabaseQuerier querier; -private: /** * @brief Check for sets that are unknown and emit signals if needed. */ @@ -116,7 +114,7 @@ public: } /** @brief Returns the querier for performing card lookups. */ - [[nodiscard]] CardDatabaseQuerier *query() const + [[nodiscard]] CardDatabaseQuerier const &query() const { return querier; } diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp index 614b4a7f8..d6da40ad4 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp @@ -29,7 +29,7 @@ CardDatabase *CardDatabaseManager::getInstance() return &instance; } -CardDatabaseQuerier *CardDatabaseManager::query() +CardDatabaseQuerier const &CardDatabaseManager::query() { return getInstance()->query(); } \ No newline at end of file diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_manager.h b/libcockatrice_card/libcockatrice/card/database/card_database_manager.h index 58a744fbb..8fa1a7c62 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_manager.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database_manager.h @@ -58,7 +58,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. */ diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp b/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp index 26e515a2d..4c51927f7 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp +++ b/libcockatrice_card/libcockatrice/card/database/card_database_querier.cpp @@ -7,10 +7,8 @@ #include -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) { } diff --git a/libcockatrice_card/libcockatrice/card/database/card_database_querier.h b/libcockatrice_card/libcockatrice/card/database/card_database_querier.h index ff8d7958b..203c2008f 100644 --- a/libcockatrice_card/libcockatrice/card/database/card_database_querier.h +++ b/libcockatrice_card/libcockatrice/card/database/card_database_querier.h @@ -19,19 +19,17 @@ class CardDatabase; * (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.