Move abstract/noop interfaces to libcockatrice_interfaces so they can be linked against independently.

Took 52 minutes
This commit is contained in:
Lukas Brübach 2025-11-06 20:54:04 +01:00
parent 45ee5d8abc
commit 837804f336
21 changed files with 45 additions and 25 deletions

View 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})

View file

@ -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

View file

@ -0,0 +1,13 @@
#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;
};
#endif // COCKATRICE_INTERFACE_CARD_PREFERENCE_PROVIDER_H

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,14 @@
#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 {};
}
};
#endif // COCKATRICE_NOOP_CARD_PREFERENCE_PROVIDER_H

View file

@ -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