mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Clean up inter-library dependencies with interfaces (#6280)
* Have CardDatabase::getPreferredPrintingInfo respect card provider ID overrides (pinned printings)
Took 13 minutes
Took 37 seconds
Took 10 seconds
Took 10 seconds
# Commit time for manual adjustment:
# Took 30 seconds
Took 15 seconds
Took 8 minutes
Took 21 seconds
* Move settings cache and settings card preference provider out of libcockatrice_settings and into cockatrice
Took 52 minutes
Took 9 minutes
Took 1 minute
* Temp cache.
Took 16 minutes
* Dependency Injection for SettingsCache
* Turn SettingsCache into a QSharedPointer.
* Implement interfaces for settings that need it
Took 2 hours 38 minutes
* Adjust oracle.
Took 5 minutes
* Move abstract/noop interfaces to libcockatrice_interfaces so they can be linked against independently.
Took 52 minutes
* Clean up some links.
Took 3 minutes
* Cleanup two includes.
Took 3 minutes
* More fixes.
Took 7 minutes
* More includes that slipped past.
Took 3 minutes
* Stop mocking and start injecting for tests.
Took 15 minutes
* I don't know why remote_client was including main.
Took 4 minutes
* Include.
Took 3 minutes
* Lint.
Took 2 minutes
* Don't use Qt pointers.
Took 1 hour 7 minutes
* Make parser use CardSettingsInterface
Took 13 minutes
* Also adjust constructor lol.
Took 8 minutes
* Lint.
Took 32 minutes
* Revert "Lint."
This reverts commit ecb596c39e.
Took 3 minutes
* Test.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
fb30515f72
commit
a8a3fca8c9
152 changed files with 609 additions and 750 deletions
25
libcockatrice_interfaces/CMakeLists.txt
Normal file
25
libcockatrice_interfaces/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(HEADERS
|
||||
libcockatrice/interfaces/interface_card_database_path_provider.h
|
||||
libcockatrice/interfaces/interface_card_preference_provider.h
|
||||
libcockatrice/interfaces/interface_card_set_priority_controller.h
|
||||
libcockatrice/interfaces/interface_network_settings_provider.h
|
||||
libcockatrice/interfaces/noop_card_database_path_provider.h
|
||||
libcockatrice/interfaces/noop_card_preference_provider.h
|
||||
libcockatrice/interfaces/noop_card_set_priority_controller.h
|
||||
)
|
||||
|
||||
if(Qt6_FOUND)
|
||||
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
|
||||
elseif(Qt5_FOUND)
|
||||
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
|
||||
endif()
|
||||
|
||||
add_library(libcockatrice_interfaces STATIC ${MOC_SOURCES})
|
||||
|
||||
target_include_directories(libcockatrice_interfaces PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
target_link_libraries(libcockatrice_interfaces PUBLIC ${QT_CORE_MODULE})
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H
|
||||
#define COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H
|
||||
#include <QObject>
|
||||
|
||||
class ICardDatabasePathProvider : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
virtual ~ICardDatabasePathProvider() = default;
|
||||
|
||||
virtual QString getCardDatabasePath() const = 0;
|
||||
virtual QString getCustomCardDatabasePath() const = 0;
|
||||
virtual QString getTokenDatabasePath() const = 0;
|
||||
virtual QString getSpoilerCardDatabasePath() const = 0;
|
||||
|
||||
signals:
|
||||
void cardDatabasePathChanged();
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#ifndef COCKATRICE_INTERFACE_CARD_PREFERENCE_PROVIDER_H
|
||||
#define COCKATRICE_INTERFACE_CARD_PREFERENCE_PROVIDER_H
|
||||
|
||||
#include <QString>
|
||||
|
||||
class ICardPreferenceProvider
|
||||
{
|
||||
public:
|
||||
virtual ~ICardPreferenceProvider() = default;
|
||||
virtual QString getCardPreferenceOverride(const QString &cardName) const = 0;
|
||||
virtual bool getIncludeRebalancedCards() const = 0;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INTERFACE_CARD_PREFERENCE_PROVIDER_H
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
#define COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
#include <QString>
|
||||
|
||||
class ICardSetPriorityController
|
||||
{
|
||||
public:
|
||||
virtual ~ICardSetPriorityController() = default;
|
||||
|
||||
virtual void setSortKey(QString shortName, unsigned int sortKey) = 0;
|
||||
virtual void setEnabled(QString shortName, bool enabled) = 0;
|
||||
virtual void setIsKnown(QString shortName, bool isknown) = 0;
|
||||
|
||||
virtual unsigned int getSortKey(QString shortName) = 0;
|
||||
virtual bool isEnabled(QString shortName) = 0;
|
||||
virtual bool isKnown(QString shortName) = 0;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef COCKATRICE_INETWORKSETTINGSPROVIDER_H
|
||||
#define COCKATRICE_INETWORKSETTINGSPROVIDER_H
|
||||
#include <QString>
|
||||
|
||||
class INetworkSettingsProvider
|
||||
{
|
||||
public:
|
||||
virtual ~INetworkSettingsProvider() = default;
|
||||
|
||||
virtual QString getClientID() = 0;
|
||||
|
||||
[[nodiscard]] virtual int getTimeOut() const = 0;
|
||||
[[nodiscard]] virtual int getKeepAlive() const = 0;
|
||||
[[nodiscard]] virtual bool getNotifyAboutUpdates() const = 0;
|
||||
|
||||
virtual void setKnownMissingFeatures(const QString &_knownMissingFeatures) = 0;
|
||||
virtual QString getKnownMissingFeatures() = 0;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INETWORKSETTINGSPROVIDER_H
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#ifndef COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H
|
||||
#define COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H
|
||||
#include "interface_card_database_path_provider.h"
|
||||
|
||||
class NoopCardDatabasePathProvider : public ICardDatabasePathProvider
|
||||
{
|
||||
public:
|
||||
QString getCardDatabasePath() const override
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString getCustomCardDatabasePath() const override
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString getTokenDatabasePath() const override
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString getSpoilerCardDatabasePath() const override
|
||||
{
|
||||
return "";
|
||||
}
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef COCKATRICE_NOOP_CARD_PREFERENCE_PROVIDER_H
|
||||
#define COCKATRICE_NOOP_CARD_PREFERENCE_PROVIDER_H
|
||||
#include "interface_card_preference_provider.h"
|
||||
|
||||
class NoopCardPreferenceProvider : public ICardPreferenceProvider
|
||||
{
|
||||
public:
|
||||
QString getCardPreferenceOverride(const QString &) const override
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
bool getIncludeRebalancedCards() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_NOOP_CARD_PREFERENCE_PROVIDER_H
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
#ifndef COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
#define COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
|
||||
#include "interface_card_set_priority_controller.h"
|
||||
|
||||
class NoopCardSetPriorityController : public ICardSetPriorityController
|
||||
{
|
||||
public:
|
||||
void setSortKey(QString /* shortName */, unsigned int /* sortKey */)
|
||||
{
|
||||
}
|
||||
void setEnabled(QString /* shortName */, bool /* enabled */)
|
||||
{
|
||||
}
|
||||
void setIsKnown(QString /* shortName */, bool /* isknown */)
|
||||
{
|
||||
}
|
||||
|
||||
unsigned int getSortKey(QString /* shortName */)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
bool isEnabled(QString /* shortName */)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool isKnown(QString /* shortName */)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue