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

@ -328,6 +328,7 @@ endif()
include(CPack) include(CPack)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_interfaces ${CMAKE_BINARY_DIR}/libcockatrice_interfaces)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_protocol ${CMAKE_BINARY_DIR}/libcockatrice_protocol) add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_protocol ${CMAKE_BINARY_DIR}/libcockatrice_protocol)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_network ${CMAKE_BINARY_DIR}/libcockatrice_network) add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_network ${CMAKE_BINARY_DIR}/libcockatrice_network)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_deck_list ${CMAKE_BINARY_DIR}/libcockatrice_deck_list) add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_deck_list ${CMAKE_BINARY_DIR}/libcockatrice_deck_list)

View file

@ -7,8 +7,6 @@
#ifndef SETTINGSCACHE_H #ifndef SETTINGSCACHE_H
#define SETTINGSCACHE_H #define SETTINGSCACHE_H
#include "libcockatrice/card/database/interface/interface_card_database_path_provider.h"
#include "libcockatrice/network/interfaces/INetworkSettingsProvider.h"
#include "shortcuts_settings.h" #include "shortcuts_settings.h"
#include <QDate> #include <QDate>
@ -16,6 +14,8 @@
#include <QObject> #include <QObject>
#include <QSize> #include <QSize>
#include <QStringList> #include <QStringList>
#include <libcockatrice/interfaces/interface_card_database_path_provider.h>
#include <libcockatrice/interfaces/interface_network_settings_provider.h>
#include <libcockatrice/settings/card_database_settings.h> #include <libcockatrice/settings/card_database_settings.h>
#include <libcockatrice/settings/card_override_settings.h> #include <libcockatrice/settings/card_override_settings.h>
#include <libcockatrice/settings/debug_settings.h> #include <libcockatrice/settings/debug_settings.h>

View file

@ -2,7 +2,7 @@
#define COCKATRICE_SETTINGS_CARD_PREFERENCE_PROVIDER_H #define COCKATRICE_SETTINGS_CARD_PREFERENCE_PROVIDER_H
#include "../../client/settings/cache_settings.h" #include "../../client/settings/cache_settings.h"
#include <libcockatrice/card/database/interface/interface_card_preference_provider.h> #include <libcockatrice/interfaces/interface_card_preference_provider.h>
class SettingsCardPreferenceProvider : public ICardPreferenceProvider class SettingsCardPreferenceProvider : public ICardPreferenceProvider
{ {

View file

@ -9,12 +9,6 @@ set(HEADERS
libcockatrice/card/database/card_database_loader.h libcockatrice/card/database/card_database_loader.h
libcockatrice/card/database/card_database_manager.h libcockatrice/card/database/card_database_manager.h
libcockatrice/card/database/card_database_querier.h libcockatrice/card/database/card_database_querier.h
libcockatrice/card/database/interface/interface_card_database_path_provider.h
libcockatrice/card/database/interface/interface_card_preference_provider.h
libcockatrice/card/database/interface/interface_card_set_priority_controller.h
libcockatrice/card/database/interface/noop_card_database_path_provider.h
libcockatrice/card/database/interface/noop_card_preference_provider.h
libcockatrice/card/database/interface/noop_card_set_priority_controller.h
libcockatrice/card/database/parser/card_database_parser.h libcockatrice/card/database/parser/card_database_parser.h
libcockatrice/card/database/parser/cockatrice_xml_3.h libcockatrice/card/database/parser/cockatrice_xml_3.h
libcockatrice/card/database/parser/cockatrice_xml_4.h libcockatrice/card/database/parser/cockatrice_xml_4.h
@ -58,5 +52,6 @@ target_include_directories(
target_link_libraries( target_link_libraries(
libcockatrice_card libcockatrice_card
PUBLIC libcockatrice_settings PUBLIC libcockatrice_settings
PUBLIC libcockatrice_interfaces
PUBLIC ${QT_CORE_MODULE} PUBLIC ${QT_CORE_MODULE}
) )

View file

@ -10,8 +10,6 @@
#include "../set/card_set_list.h" #include "../set/card_set_list.h"
#include "card_database_loader.h" #include "card_database_loader.h"
#include "card_database_querier.h" #include "card_database_querier.h"
#include "interface/interface_card_database_path_provider.h"
#include "interface/noop_card_preference_provider.h"
#include <QBasicMutex> #include <QBasicMutex>
#include <QDate> #include <QDate>
@ -20,6 +18,7 @@
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QStringList> #include <QStringList>
#include <QVector> #include <QVector>
#include <libcockatrice/interfaces/interface_card_database_path_provider.h>
#include <libcockatrice/utility/card_ref.h> #include <libcockatrice/utility/card_ref.h>
#include <utility> #include <utility>

View file

@ -7,12 +7,11 @@
#ifndef COCKATRICE_CARD_DATABASE_LOADER_H #ifndef COCKATRICE_CARD_DATABASE_LOADER_H
#define COCKATRICE_CARD_DATABASE_LOADER_H #define COCKATRICE_CARD_DATABASE_LOADER_H
#include "interface/interface_card_database_path_provider.h"
#include <QBasicMutex> #include <QBasicMutex>
#include <QList> #include <QList>
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QObject> #include <QObject>
#include <libcockatrice/interfaces/interface_card_database_path_provider.h>
inline Q_LOGGING_CATEGORY(CardDatabaseLoadingLog, "card_database.loading"); inline Q_LOGGING_CATEGORY(CardDatabaseLoadingLog, "card_database.loading");
inline Q_LOGGING_CATEGORY(CardDatabaseLoadingSuccessOrFailureLog, "card_database.loading.success_or_failure"); inline Q_LOGGING_CATEGORY(CardDatabaseLoadingSuccessOrFailureLog, "card_database.loading.success_or_failure");

View file

@ -1,7 +1,8 @@
#include "card_database_manager.h" #include "card_database_manager.h"
#include "interface/noop_card_database_path_provider.h" #include <libcockatrice/interfaces/noop_card_database_path_provider.h>
#include "interface/noop_card_set_priority_controller.h" #include <libcockatrice/interfaces/noop_card_preference_provider.h>
#include <libcockatrice/interfaces/noop_card_set_priority_controller.h>
QSharedPointer<ICardPreferenceProvider> CardDatabaseManager::cardPreferenceProvider = QSharedPointer<ICardPreferenceProvider> CardDatabaseManager::cardPreferenceProvider =
QSharedPointer<NoopCardPreferenceProvider>::create(); QSharedPointer<NoopCardPreferenceProvider>::create();

View file

@ -9,9 +9,9 @@
#include "../card_info.h" #include "../card_info.h"
#include "../printing/exact_card.h" #include "../printing/exact_card.h"
#include "interface/interface_card_preference_provider.h"
#include <QObject> #include <QObject>
#include <libcockatrice/interfaces/interface_card_preference_provider.h>
#include <libcockatrice/utility/card_ref.h> #include <libcockatrice/utility/card_ref.h>
class CardDatabase; class CardDatabase;

View file

@ -1,6 +1,6 @@
#include "card_database_parser.h" #include "card_database_parser.h"
#include "libcockatrice/card/database/interface/noop_card_set_priority_controller.h" #include <libcockatrice/interfaces/noop_card_set_priority_controller.h>
SetNameMap ICardDatabaseParser::sets; SetNameMap ICardDatabaseParser::sets;

View file

@ -1,12 +1,11 @@
#ifndef COCKATRICE_CARD_SET_H #ifndef COCKATRICE_CARD_SET_H
#define COCKATRICE_CARD_SET_H #define COCKATRICE_CARD_SET_H
#include "libcockatrice/card/database/interface/interface_card_set_priority_controller.h"
#include <QDate> #include <QDate>
#include <QList> #include <QList>
#include <QSharedPointer> #include <QSharedPointer>
#include <QString> #include <QString>
#include <libcockatrice/interfaces/interface_card_set_priority_controller.h>
class CardInfo; class CardInfo;
using CardInfoPtr = QSharedPointer<CardInfo>; using CardInfoPtr = QSharedPointer<CardInfo>;

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

@ -9,9 +9,9 @@ public:
virtual QString getClientID() = 0; virtual QString getClientID() = 0;
virtual int getTimeOut() const = 0; [[nodiscard]] virtual int getTimeOut() const = 0;
virtual int getKeepAlive() const = 0; [[nodiscard]] virtual int getKeepAlive() const = 0;
virtual bool getNotifyAboutUpdates() const = 0; [[nodiscard]] virtual bool getNotifyAboutUpdates() const = 0;
virtual void setKnownMissingFeatures(const QString &_knownMissingFeatures) = 0; virtual void setKnownMissingFeatures(const QString &_knownMissingFeatures) = 0;
virtual QString getKnownMissingFeatures() = 0; virtual QString getKnownMissingFeatures() = 0;

View file

@ -1,5 +1,6 @@
#ifndef COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H #ifndef COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
#define COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H #define COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
#include "interface_card_set_priority_controller.h" #include "interface_card_set_priority_controller.h"
class NoopCardSetPriorityController : public ICardSetPriorityController class NoopCardSetPriorityController : public ICardSetPriorityController

View file

@ -1,7 +1,6 @@
#include "remote_client.h" #include "remote_client.h"
#include "../../../../cockatrice/src/main.h" #include "../../../../cockatrice/src/main.h"
#include "../../interfaces/INetworkSettingsProvider.h"
#include "version_string.h" #include "version_string.h"
#include <QCryptographicHash> #include <QCryptographicHash>
@ -12,6 +11,7 @@
#include <QThread> #include <QThread>
#include <QTimer> #include <QTimer>
#include <QWebSocket> #include <QWebSocket>
#include <libcockatrice/interfaces/interface_network_settings_provider.h>
#include <libcockatrice/protocol/debug_pb_message.h> #include <libcockatrice/protocol/debug_pb_message.h>
#include <libcockatrice/protocol/pb/event_server_identification.pb.h> #include <libcockatrice/protocol/pb/event_server_identification.pb.h>
#include <libcockatrice/protocol/pb/response_activate.pb.h> #include <libcockatrice/protocol/pb/response_activate.pb.h>

View file

@ -7,12 +7,12 @@
#ifndef REMOTECLIENT_H #ifndef REMOTECLIENT_H
#define REMOTECLIENT_H #define REMOTECLIENT_H
#include "../../interfaces/INetworkSettingsProvider.h"
#include "../abstract/abstract_client.h" #include "../abstract/abstract_client.h"
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QTcpSocket> #include <QTcpSocket>
#include <QWebSocket> #include <QWebSocket>
#include <libcockatrice/interfaces/interface_network_settings_provider.h>
#include <libcockatrice/protocol/pb/commands.pb.h> #include <libcockatrice/protocol/pb/commands.pb.h>
inline Q_LOGGING_CATEGORY(RemoteClientLog, "remote_client"); inline Q_LOGGING_CATEGORY(RemoteClientLog, "remote_client");

View file

@ -13,7 +13,7 @@
#include <QObject> #include <QObject>
#include <QSettings> #include <QSettings>
#include <QVariant> #include <QVariant>
#include <libcockatrice/card/database/interface/interface_card_set_priority_controller.h> #include <libcockatrice/interfaces/interface_card_set_priority_controller.h>
class CardDatabaseSettings : public SettingsManager, public ICardSetPriorityController class CardDatabaseSettings : public SettingsManager, public ICardSetPriorityController
{ {