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)
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_network ${CMAKE_BINARY_DIR}/libcockatrice_network)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_deck_list ${CMAKE_BINARY_DIR}/libcockatrice_deck_list)

View file

@ -7,8 +7,6 @@
#ifndef 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 <QDate>
@ -16,6 +14,8 @@
#include <QObject>
#include <QSize>
#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_override_settings.h>
#include <libcockatrice/settings/debug_settings.h>

View file

@ -2,7 +2,7 @@
#define COCKATRICE_SETTINGS_CARD_PREFERENCE_PROVIDER_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
{

View file

@ -9,12 +9,6 @@ set(HEADERS
libcockatrice/card/database/card_database_loader.h
libcockatrice/card/database/card_database_manager.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/cockatrice_xml_3.h
libcockatrice/card/database/parser/cockatrice_xml_4.h
@ -58,5 +52,6 @@ target_include_directories(
target_link_libraries(
libcockatrice_card
PUBLIC libcockatrice_settings
PUBLIC libcockatrice_interfaces
PUBLIC ${QT_CORE_MODULE}
)

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
#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;

View file

@ -1,12 +1,11 @@
#ifndef COCKATRICE_CARD_SET_H
#define COCKATRICE_CARD_SET_H
#include "libcockatrice/card/database/interface/interface_card_set_priority_controller.h"
#include <QDate>
#include <QList>
#include <QSharedPointer>
#include <QString>
#include <libcockatrice/interfaces/interface_card_set_priority_controller.h>
class 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 int getTimeOut() const = 0;
virtual int getKeepAlive() const = 0;
virtual bool getNotifyAboutUpdates() const = 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;

View file

@ -1,5 +1,6 @@
#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

View file

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

View file

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

View file

@ -13,7 +13,7 @@
#include <QObject>
#include <QSettings>
#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
{