mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-24 15:43:54 -07:00
Dependency Injection for SettingsCache
* Turn SettingsCache into a QSharedPointer. * Implement interfaces for settings that need it Took 2 hours 38 minutes
This commit is contained in:
parent
b773909dfd
commit
35d18b5fa9
127 changed files with 1012 additions and 803 deletions
|
|
@ -1,16 +1,33 @@
|
|||
#include "card_database_manager.h"
|
||||
|
||||
#include "interface/noop_card_database_path_provider.h"
|
||||
#include "interface/noop_card_set_priority_controller.h"
|
||||
|
||||
QSharedPointer<ICardPreferenceProvider> CardDatabaseManager::cardPreferenceProvider =
|
||||
QSharedPointer<NoopCardPreferenceProvider>::create();
|
||||
QSharedPointer<ICardDatabasePathProvider> CardDatabaseManager::pathProvider =
|
||||
QSharedPointer<NoopCardDatabasePathProvider>::create();
|
||||
QSharedPointer<ICardSetPriorityController> CardDatabaseManager::setPriorityController =
|
||||
QSharedPointer<NoopCardSetPriorityController>::create();
|
||||
|
||||
void CardDatabaseManager::setCardPreferenceProvider(QSharedPointer<ICardPreferenceProvider> provider)
|
||||
{
|
||||
cardPreferenceProvider = provider;
|
||||
}
|
||||
|
||||
void CardDatabaseManager::setCardDatabasePathProvider(QSharedPointer<ICardDatabasePathProvider> provider)
|
||||
{
|
||||
pathProvider = provider;
|
||||
}
|
||||
|
||||
void CardDatabaseManager::setCardSetPriorityController(QSharedPointer<ICardSetPriorityController> controller)
|
||||
{
|
||||
setPriorityController = controller;
|
||||
}
|
||||
|
||||
CardDatabase *CardDatabaseManager::getInstance()
|
||||
{
|
||||
static CardDatabase instance(nullptr, cardPreferenceProvider);
|
||||
static CardDatabase instance(nullptr, cardPreferenceProvider, pathProvider, setPriorityController);
|
||||
return &instance;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue