Cockatrice/libcockatrice_card/libcockatrice/card/database/card_database_manager.cpp
2026-04-06 22:17:49 -07:00

35 lines
No EOL
1.2 KiB
C++

#include "card_database_manager.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>
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;
}
CardDatabaseQuerier const &CardDatabaseManager::query()
{
return getInstance()->query();
}