Cockatrice/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp
2026-11-07 20:02:16 +01:00

42 lines
No EOL
1.4 KiB
C++

#include "card_database_manager.h"
#include "libcockatrice/card/database/card_database.h"
#include <libcockatrice/interfaces/noop_card_database_path_provider.h>
#include <libcockatrice/interfaces/noop_card_preference_provider.h>
#include <libcockatrice/interfaces/noop_card_set_priority_controller.h>
class CardDatabaseQuerier;
class ICardDatabasePathProvider;
class ICardPreferenceProvider;
class ICardSetPriorityController;
ICardPreferenceProvider *CardDatabaseManager::cardPreferenceProvider = new NoopCardPreferenceProvider();
ICardDatabasePathProvider *CardDatabaseManager::pathProvider = new NoopCardDatabasePathProvider();
ICardSetPriorityController *CardDatabaseManager::setPriorityController = new NoopCardSetPriorityController();
void CardDatabaseManager::setCardPreferenceProvider(ICardPreferenceProvider *provider)
{
cardPreferenceProvider = provider;
}
void CardDatabaseManager::setCardDatabasePathProvider(ICardDatabasePathProvider *provider)
{
pathProvider = provider;
}
void CardDatabaseManager::setCardSetPriorityController(ICardSetPriorityController *controller)
{
setPriorityController = controller;
}
CardDatabase *CardDatabaseManager::getInstance()
{
static CardDatabase instance(nullptr, cardPreferenceProvider, pathProvider, setPriorityController);
return &instance;
}
const CardDatabaseQuerier &CardDatabaseManager::query()
{
return getInstance()->query();
}