Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
CardDatabaseManager Class Reference

The CardDatabaseManager is responsible for managing the global CardDatabase singleton. More...

#include <card_database_manager.h>

Collaboration diagram for CardDatabaseManager:
[legend]

Public Member Functions

 CardDatabaseManager (const CardDatabaseManager &)=delete
 Deleted copy constructor to enforce singleton.
CardDatabaseManageroperator= (const CardDatabaseManager &)=delete
 Deleted assignment operator to enforce singleton.

Static Public Member Functions

static void setCardPreferenceProvider (ICardPreferenceProvider *provider)
 Sets the card preference provider.
static void setCardDatabasePathProvider (ICardDatabasePathProvider *provider)
 Sets the card database path provider.
static void setCardSetPriorityController (ICardSetPriorityController *controller)
 Sets the card set priority controller.
static CardDatabasegetInstance ()
 Returns the singleton CardDatabase instance.
static CardDatabaseQuerierquery ()
 Returns the CardDatabaseQuerier of the singleton database.

Private Member Functions

 CardDatabaseManager ()=default
 Private default constructor to enforce singleton.
 ~CardDatabaseManager ()=default
 Private destructor.

Static Private Attributes

static ICardPreferenceProvidercardPreferenceProvider = new NoopCardPreferenceProvider()
 Static card preference provider pointer (default: Noop)
static ICardDatabasePathProviderpathProvider = new NoopCardDatabasePathProvider()
 Static path provider pointer (default: Noop)
static ICardSetPriorityControllersetPriorityController = new NoopCardSetPriorityController()
 Static set priority controller pointer (default: Noop)

Detailed Description

The CardDatabaseManager is responsible for managing the global CardDatabase singleton.

This class provides a static interface for accessing the global CardDatabase instance and its CardDatabaseQuerier. It also allows the configuration of optional providers:

Only a single instance of CardDatabase exists, enforced via a private constructor and deleted copy/move operations.

Constructor & Destructor Documentation

◆ CardDatabaseManager() [1/2]

CardDatabaseManager::CardDatabaseManager ( const CardDatabaseManager & )
delete

Deleted copy constructor to enforce singleton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CardDatabaseManager() [2/2]

CardDatabaseManager::CardDatabaseManager ( )
privatedefault

Private default constructor to enforce singleton.

◆ ~CardDatabaseManager()

CardDatabaseManager::~CardDatabaseManager ( )
privatedefault

Private destructor.

Member Function Documentation

◆ getInstance()

CardDatabase * CardDatabaseManager::getInstance ( )
static

Returns the singleton CardDatabase instance.

Returns
Pointer to the global CardDatabase.
Here is the caller graph for this function:

◆ operator=()

CardDatabaseManager & CardDatabaseManager::operator= ( const CardDatabaseManager & )
delete

Deleted assignment operator to enforce singleton.

Here is the call graph for this function:

◆ query()

CardDatabaseQuerier * CardDatabaseManager::query ( )
static

Returns the CardDatabaseQuerier of the singleton database.

Returns
Pointer to CardDatabaseQuerier.
Here is the call graph for this function:

◆ setCardDatabasePathProvider()

void CardDatabaseManager::setCardDatabasePathProvider ( ICardDatabasePathProvider * provider)
static

Sets the card database path provider.

Parameters
providerPointer to an ICardDatabasePathProvider.
Note
Must be called before the first call to getInstance().
Here is the caller graph for this function:

◆ setCardPreferenceProvider()

void CardDatabaseManager::setCardPreferenceProvider ( ICardPreferenceProvider * provider)
static

Sets the card preference provider.

Parameters
providerPointer to an ICardPreferenceProvider.
Note
Must be called before the first call to getInstance().
Here is the caller graph for this function:

◆ setCardSetPriorityController()

void CardDatabaseManager::setCardSetPriorityController ( ICardSetPriorityController * controller)
static

Sets the card set priority controller.

Parameters
controllerPointer to an ICardSetPriorityController.
Note
Must be called before the first call to getInstance().
Here is the caller graph for this function:

Member Data Documentation

◆ cardPreferenceProvider

ICardPreferenceProvider * CardDatabaseManager::cardPreferenceProvider = new NoopCardPreferenceProvider()
staticprivate

Static card preference provider pointer (default: Noop)

◆ pathProvider

ICardDatabasePathProvider * CardDatabaseManager::pathProvider = new NoopCardDatabasePathProvider()
staticprivate

Static path provider pointer (default: Noop)

◆ setPriorityController

ICardSetPriorityController * CardDatabaseManager::setPriorityController = new NoopCardSetPriorityController()
staticprivate

Static set priority controller pointer (default: Noop)


The documentation for this class was generated from the following files: