Don't use Qt pointers.

Took 1 hour 7 minutes
This commit is contained in:
Lukas Brübach 2025-11-07 13:23:46 +01:00
parent 930e4ae98d
commit fc6ffffcb9
125 changed files with 764 additions and 813 deletions

View file

@ -14,9 +14,9 @@
#include <utility>
CardDatabase::CardDatabase(QObject *parent,
QSharedPointer<ICardPreferenceProvider> prefs,
QSharedPointer<ICardDatabasePathProvider> pathProvider,
QSharedPointer<ICardSetPriorityController> _setPriorityController)
ICardPreferenceProvider *prefs,
ICardDatabasePathProvider *pathProvider,
ICardSetPriorityController *_setPriorityController)
: QObject(parent), setPriorityController(_setPriorityController), loadStatus(NotLoaded)
{
qRegisterMetaType<CardInfoPtr>("CardInfoPtr");

View file

@ -28,7 +28,7 @@ class CardDatabase : public QObject
{
Q_OBJECT
protected:
QSharedPointer<ICardSetPriorityController> setPriorityController;
ICardSetPriorityController *setPriorityController;
/*
* The cards, indexed by name.
@ -61,9 +61,9 @@ private:
public:
explicit CardDatabase(QObject *parent = nullptr,
QSharedPointer<ICardPreferenceProvider> prefs = nullptr,
QSharedPointer<ICardDatabasePathProvider> pathProvider = nullptr,
QSharedPointer<ICardSetPriorityController> setPriorityController = nullptr);
ICardPreferenceProvider *prefs = nullptr,
ICardDatabasePathProvider *pathProvider = nullptr,
ICardSetPriorityController *setPriorityController = nullptr);
~CardDatabase() override;
void removeCard(CardInfoPtr card);

View file

@ -9,9 +9,7 @@
#include <QFile>
#include <QTime>
CardDatabaseLoader::CardDatabaseLoader(QObject *parent,
CardDatabase *db,
QSharedPointer<ICardDatabasePathProvider> _pathProvider)
CardDatabaseLoader::CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *_pathProvider)
: QObject(parent), database(db), pathProvider(_pathProvider)
{
// instantiate available parsers here and connect them to the database
@ -25,7 +23,7 @@ CardDatabaseLoader::CardDatabaseLoader(QObject *parent,
}
// when SettingsCache's path changes, trigger reloads
connect(pathProvider.get(), &ICardDatabasePathProvider::cardDatabasePathChanged, this,
connect(pathProvider, &ICardDatabasePathProvider::cardDatabasePathChanged, this,
&CardDatabaseLoader::loadCardDatabases);
}

View file

@ -33,9 +33,7 @@ class CardDatabaseLoader : public QObject
{
Q_OBJECT
public:
explicit CardDatabaseLoader(QObject *parent,
CardDatabase *db,
QSharedPointer<ICardDatabasePathProvider> pathProvider);
explicit CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *pathProvider);
~CardDatabaseLoader() override;
public slots:
@ -56,7 +54,7 @@ private:
CardDatabase *database; // non-owning pointer to the container
QSharedPointer<ICardDatabasePathProvider> pathProvider; // pointer to the implementation providing the paths
ICardDatabasePathProvider *pathProvider; // pointer to the implementation providing the paths
// parsers
QList<ICardDatabaseParser *> availableParsers;

View file

@ -4,24 +4,21 @@
#include <libcockatrice/interfaces/noop_card_preference_provider.h>
#include <libcockatrice/interfaces/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();
ICardPreferenceProvider *CardDatabaseManager::cardPreferenceProvider = new NoopCardPreferenceProvider();
ICardDatabasePathProvider *CardDatabaseManager::pathProvider = new NoopCardDatabasePathProvider();
ICardSetPriorityController *CardDatabaseManager::setPriorityController = new NoopCardSetPriorityController();
void CardDatabaseManager::setCardPreferenceProvider(QSharedPointer<ICardPreferenceProvider> provider)
void CardDatabaseManager::setCardPreferenceProvider(ICardPreferenceProvider *provider)
{
cardPreferenceProvider = provider;
}
void CardDatabaseManager::setCardDatabasePathProvider(QSharedPointer<ICardDatabasePathProvider> provider)
void CardDatabaseManager::setCardDatabasePathProvider(ICardDatabasePathProvider *provider)
{
pathProvider = provider;
}
void CardDatabaseManager::setCardSetPriorityController(QSharedPointer<ICardSetPriorityController> controller)
void CardDatabaseManager::setCardSetPriorityController(ICardSetPriorityController *controller)
{
setPriorityController = controller;
}

View file

@ -18,9 +18,9 @@ public:
CardDatabaseManager &operator=(const CardDatabaseManager &) = delete;
// To be called once, before instantiation of the manager
static void setCardPreferenceProvider(QSharedPointer<ICardPreferenceProvider> provider);
static void setCardDatabasePathProvider(QSharedPointer<ICardDatabasePathProvider> provider);
static void setCardSetPriorityController(QSharedPointer<ICardSetPriorityController> controller);
static void setCardPreferenceProvider(ICardPreferenceProvider *provider);
static void setCardDatabasePathProvider(ICardDatabasePathProvider *provider);
static void setCardSetPriorityController(ICardSetPriorityController *controller);
// Static method to access the singleton instance
static CardDatabase *getInstance();
@ -29,9 +29,9 @@ public:
private:
CardDatabaseManager() = default; // Private constructor
~CardDatabaseManager() = default;
static QSharedPointer<ICardPreferenceProvider> cardPreferenceProvider;
static QSharedPointer<ICardDatabasePathProvider> pathProvider;
static QSharedPointer<ICardSetPriorityController> setPriorityController;
static ICardPreferenceProvider *cardPreferenceProvider;
static ICardDatabasePathProvider *pathProvider;
static ICardSetPriorityController *setPriorityController;
};
#endif // CARD_DATABASE_ACCESSOR_H

View file

@ -9,7 +9,7 @@
CardDatabaseQuerier::CardDatabaseQuerier(QObject *_parent,
const CardDatabase *_db,
const QSharedPointer<ICardPreferenceProvider> &prefs)
const ICardPreferenceProvider *prefs)
: QObject(_parent), db(_db), prefs(prefs)
{
}

View file

@ -20,9 +20,7 @@ class CardDatabaseQuerier : public QObject
Q_OBJECT
public:
explicit CardDatabaseQuerier(QObject *parent,
const CardDatabase *db,
const QSharedPointer<ICardPreferenceProvider> &prefs);
explicit CardDatabaseQuerier(QObject *parent, const CardDatabase *db, const ICardPreferenceProvider *prefs);
[[nodiscard]] CardInfoPtr getCardInfo(const QString &cardName) const;
[[nodiscard]] QList<CardInfoPtr> getCardInfos(const QStringList &cardNames) const;
@ -59,7 +57,7 @@ public:
private:
const CardDatabase *db;
QSharedPointer<ICardPreferenceProvider> prefs;
const ICardPreferenceProvider *prefs;
CardInfoPtr lookupCardByName(const QString &name) const;
};

View file

@ -19,7 +19,7 @@ CardSetPtr ICardDatabaseParser::internalAddSet(const QString &setName,
return sets.value(setName);
}
CardSetPtr newSet = CardSet::newInstance(QSharedPointer<NoopCardSetPriorityController>::create(), setName);
CardSetPtr newSet = CardSet::newInstance(new NoopCardSetPriorityController(), setName);
newSet->setLongName(longName);
newSet->setSetType(setType);
newSet->setReleaseDate(releaseDate);

View file

@ -132,7 +132,7 @@ QVariantHash CockatriceXml4Parser::loadCardPropertiesFromXml(QXmlStreamReader &x
void CockatriceXml4Parser::loadCardsFromXml(QXmlStreamReader &xml)
{
bool includeRebalancedCards =
true; // TODO: MOVE THIS OUT OF THE PARSER SettingsCache::instance()->getIncludeRebalancedCards();
true; // TODO: MOVE THIS OUT OF THE PARSER SettingsCache::instance().getIncludeRebalancedCards();
while (!xml.atEnd()) {
if (xml.readNext() == QXmlStreamReader::EndElement) {
break;

View file

@ -5,7 +5,7 @@
const char *CardSet::TOKENS_SETNAME = "TK";
CardSet::CardSet(QSharedPointer<ICardSetPriorityController> _priorityController,
CardSet::CardSet(ICardSetPriorityController *_priorityController,
const QString &_shortName,
const QString &_longName,
const QString &_setType,
@ -17,7 +17,7 @@ CardSet::CardSet(QSharedPointer<ICardSetPriorityController> _priorityController,
loadSetOptions();
}
CardSetPtr CardSet::newInstance(QSharedPointer<ICardSetPriorityController> _priorityController,
CardSetPtr CardSet::newInstance(ICardSetPriorityController *_priorityController,
const QString &_shortName,
const QString &_longName,
const QString &_setType,

View file

@ -38,14 +38,14 @@ private:
bool enabled, isknown;
public:
explicit CardSet(QSharedPointer<ICardSetPriorityController> priorityController,
explicit CardSet(ICardSetPriorityController *priorityController,
const QString &_shortName = QString(),
const QString &_longName = QString(),
const QString &_setType = QString(),
const QDate &_releaseDate = QDate(),
const Priority _priority = PriorityFallback);
static CardSetPtr newInstance(QSharedPointer<ICardSetPriorityController> priorityController,
static CardSetPtr newInstance(ICardSetPriorityController *priorityController,
const QString &_shortName = QString(),
const QString &_longName = QString(),
const QString &_setType = QString(),