Core in-memory container for card and set data.
More...
#include <card_database.h>
Core in-memory container for card and set data.
Responsible for maintaining CardInfo objects, CardSet objects, and providing access to CardDatabaseQuerier for query operations. Handles addition, removal, and clearing of cards and sets.
◆ CardDatabase()
Constructs a new CardDatabase instance.
- Parameters
-
| parent | QObject parent. |
| prefs | Optional card preference provider. |
| pathProvider | Optional database path provider. |
| setPriorityController | Optional controller for set priority. |
◆ ~CardDatabase()
| CardDatabase::~CardDatabase |
( |
| ) |
|
|
override |
Destructor clears all internal data.
◆ addCard
Adds a card to the database.
- Parameters
-
◆ addFormat
◆ addSet
| void CardDatabase::addSet |
( |
const CardSetPtr & | set | ) |
|
|
slot |
Adds a set to the database.
- Parameters
-
◆ cardAdded
Emitted when a new card is added.
◆ cardDatabaseAllNewSetsEnabled
| void CardDatabase::cardDatabaseAllNewSetsEnabled |
( |
| ) |
|
|
signal |
Emitted when all new sets have been enabled.
◆ cardDatabaseEnabledSetsChanged
| void CardDatabase::cardDatabaseEnabledSetsChanged |
( |
| ) |
|
|
signal |
Emitted when enabled sets have changed.
◆ cardDatabaseLoadingFailed
| void CardDatabase::cardDatabaseLoadingFailed |
( |
| ) |
|
|
signal |
Emitted when the card database fails to load.
◆ cardDatabaseLoadingFinished
| void CardDatabase::cardDatabaseLoadingFinished |
( |
| ) |
|
|
signal |
Emitted when the card database has finished loading successfully.
◆ cardDatabaseNewSetsFound
| void CardDatabase::cardDatabaseNewSetsFound |
( |
int | numUnknownSets, |
|
|
QStringList | unknownSetsNames ) |
|
signal |
Emitted when new sets are found.
- Parameters
-
| numUnknownSets | Number of unknown sets. |
| unknownSetsNames | Names of unknown sets. |
◆ cardDatabaseReset
| void CardDatabase::cardDatabaseReset |
( |
| ) |
|
|
signal |
Emitted once after the live database contents have been replaced by a freshly loaded snapshot. Models should rebuild from the database in a single batch rather than reacting to per-card adds.
◆ cardRemoved
Emitted when a card is removed.
◆ checkUnknownSets()
| void CardDatabase::checkUnknownSets |
( |
| ) |
|
Check for sets that are unknown and emit signals if needed.
Called from MainWindow::startupConfigCheck() after signal connections are live (the front-loaded parse in main() runs before MainWindow exists, so signals emitted there would have no receivers). May also be called by the loader via the friend declaration. Has side effects: enables all sets when none are enabled (first-run), marks all sets as known.
◆ clear()
| void CardDatabase::clear |
( |
| ) |
|
Clears all cards, sets, and internal state.
◆ enableAllUnknownSets()
| void CardDatabase::enableAllUnknownSets |
( |
| ) |
|
Enables all unknown sets in the database.
◆ getCardList()
| const CardNameMap & CardDatabase::getCardList |
( |
| ) |
const |
|
inlinenodiscard |
Returns the map of cards by name.
◆ getLoadStatus()
Returns the current load status.
◆ getPriorityController()
◆ getSet()
| CardSetPtr CardDatabase::getSet |
( |
const QString & | setName | ) |
|
Retrieves a set by short name, creating a new one if missing.
- Parameters
-
| setName | Short name of the set. |
- Returns
- Pointer to the CardSet.
◆ getSetList()
Returns a list of all sets in the database.
◆ loadCardDatabases
| void CardDatabase::loadCardDatabases |
( |
| ) |
|
|
slot |
Loads card databases from configured paths.
◆ markAllSetsAsKnown()
| void CardDatabase::markAllSetsAsKnown |
( |
| ) |
|
◆ notifyEnabledSetsChanged()
| void CardDatabase::notifyEnabledSetsChanged |
( |
bool | recomputeCachedSets = true | ) |
|
Notifies listeners that enabled sets changed.
- Parameters
-
| recomputeCachedSets | When true, every card's cached set-name / alt-name data is recomputed (needed only when enabled-set state actually changed). Pass false after a plain reload, where enabled-set state is unchanged and the cached data is still valid. |
◆ query()
Returns the querier for performing card lookups.
◆ refreshCachedReverseRelatedCards() [1/2]
| void CardDatabase::refreshCachedReverseRelatedCards |
( |
| ) |
|
|
private |
Refreshes the cached reverse-related cards for all cards.
◆ refreshCachedReverseRelatedCards() [2/2]
| void CardDatabase::refreshCachedReverseRelatedCards |
( |
CardNameMap & | cardMap | ) |
|
|
private |
Refreshes the cached reverse-related cards for the given card map.
- Parameters
-
| cardMap | Map of cards to process. |
◆ reloadCardDatabasesAndNotify
| void CardDatabase::reloadCardDatabasesAndNotify |
( |
| ) |
|
|
slot |
◆ removeCard()
| void CardDatabase::removeCard |
( |
const CardInfoPtr & | card | ) |
|
Removes a card from the database.
- Parameters
-
| card | Pointer to the card to remove. |
◆ saveCustomTokensToFile
| bool CardDatabase::saveCustomTokensToFile |
( |
| ) |
|
|
slot |
Saves custom tokens to file.
- Returns
- True if successful.
◆ swapInDatabaseData
Replaces the entire contents of the database with the provided snapshot in a single operation. Intended to be called once a background load has finished building a CardDatabaseData, so that observers never see a partially-populated database.
- Parameters
-
| data | The fully-built snapshot to adopt. |
◆ CardDatabaseLoader
◆ CardDatabaseQuerier
◆ addCardMutex
| QBasicMutex * CardDatabase::addCardMutex = new QBasicMutex() |
|
private |
◆ cards
Cards indexed by exact name.
◆ clearDatabaseMutex
| QBasicMutex* CardDatabase::clearDatabaseMutex = new QBasicMutex() |
|
private |
Mutexes for thread safety.
◆ formats
◆ loader
Loader responsible for file discovery and parsing.
◆ loadStatus
Current load status of the database.
◆ querier
Querier for higher-level card lookups.
◆ removeCardMutex
| QBasicMutex * CardDatabase::removeCardMutex = new QBasicMutex() |
|
private |
◆ setPriorityController
Controller to determine set priority when choosing preferred printings.
◆ sets
Sets indexed by short name.
◆ simpleNameCards
Cards indexed by simplified name (normalized).
The documentation for this class was generated from the following files: