- NGL_ADD_LIBRARY2: 87 CMakeLists.txt konvertiert für Export-Header Generierung - 44 Export-Header Include-Pfade korrigiert (_export.h) - 81 DDS-Stub-Header generiert (*_dtc.h, *_fts.h, *_dts.h, *_ftc.h) - INGLLogger: Duplikat gelöscht, m_logger Member entfernt, variadische Makros - Q_FUNC_INFO Redefinition behoben (Qt6 definiert bereits) - FATAL_LOG Makro hinzugefügt - InfrastructureManagement DDS-Stubs (ism.hpp, ism_enums.hpp, ism_ftc.h) - FilterManagement DDS-Stubs (flt_ftc.h, flt_dts.h) - AreaEffectSimulation DDS-Stubs (aes.hpp, aes_enums.hpp) - SymbolAppearance Klasse vollständig definiert mit content() Methode - BuildingComponentFilter Klasse definiert mit Copy-Konstruktor - Ftc Factory: nullptr Return (abstract class) - AesFilter Klasse in aes.hpp hinzugefügt - Dtc Klasse in ppm.hpp mit participantChanged Signal - AesType Enum: alle 15 At* Werte definiert - AesEffectState_def: EsReceived hinzugefügt - DataModification Enum: eAdded/eModified/eRemoved - function_reply_object.h → core_types.h Include-Pfad (72 Dateien) - Enum-Class-Streaming Template-Operator in INGLLogger.h - ism_mounting_point.h: QImage → QtGui/QImage, QGuiApplication/QScreen - ism_data_plugin_interface.h: QSet Include, Include-Reihenfolge - QRegExp → QRegularExpression in tpm_js_parser.cpp - .underlying() Aufrufe zu direktem Enum-Vergleich korrigiert - Include-Pfade: aes.hpp in symbol_appearance_settings_impl.h und aes_display_filter_impl.h Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
59 lines
2.0 KiB
C++
Executable File
59 lines
2.0 KiB
C++
Executable File
|
|
|
|
#include "websocket_interface_handler.h"
|
|
|
|
#include "Connection/connection_handler.h"
|
|
#include "Messages/message_handler.h"
|
|
#include "Messages/message_transmitter.h"
|
|
#include "dds_handler.h"
|
|
#include "exercise_manager.h"
|
|
|
|
namespace CombatNetRadio
|
|
{
|
|
namespace WebSocketInterface
|
|
{
|
|
|
|
WebSocketInterfaceHandler::WebSocketInterfaceHandler(ExerciseManager *exerciseManager)
|
|
: m_exerciseManager(exerciseManager)
|
|
, m_connectionHandler(nullptr)
|
|
, m_messageHandler(nullptr)
|
|
{
|
|
Q_ASSERT(exerciseManager);
|
|
}
|
|
|
|
WebSocketInterfaceHandler::~WebSocketInterfaceHandler()
|
|
{
|
|
delete m_connectionHandler;
|
|
delete m_messageHandler;
|
|
}
|
|
|
|
bool WebSocketInterfaceHandler::init()
|
|
{
|
|
Q_ASSERT(!m_connectionHandler);
|
|
|
|
m_connectionHandler = new Connection::ConnectionHandler;
|
|
|
|
QObject::connect(m_connectionHandler, &Connection::ConnectionHandler::newClientConnection, m_exerciseManager, &ExerciseManager::onNewClientConnection);
|
|
QObject::connect(m_connectionHandler, &Connection::ConnectionHandler::clientConnectionClosed, m_exerciseManager, &ExerciseManager::onClientConnectionClosed);
|
|
QObject::connect(m_connectionHandler, &Connection::ConnectionHandler::clearFrequencyPlanningStatus, m_exerciseManager, &ExerciseManager::onClearFrequencyPlanningStatus);
|
|
|
|
if (!m_connectionHandler->init())
|
|
{
|
|
ERROR_LOG() << "Failed to initialise ConnectionHandler";
|
|
return false;
|
|
}
|
|
|
|
m_messageHandler = new Messages::MessageHandler(m_exerciseManager);
|
|
|
|
QObject::connect(m_connectionHandler, &Connection::ConnectionHandler::lastConnectionClosed, m_exerciseManager, &ExerciseManager::stopPositionsUpdate);
|
|
QObject::connect(m_connectionHandler, &Connection::ConnectionHandler::newTextMessageFromClient, m_messageHandler, &Messages::MessageHandler::onNewTextMessage);
|
|
QObject::connect(m_exerciseManager, &ExerciseManager::essentialsUpdate, m_connectionHandler, &Connection::ConnectionHandler::onUpdate);
|
|
QObject::connect(m_exerciseManager, &ExerciseManager::positionsUpdate, m_connectionHandler, &Connection::ConnectionHandler::onPositions);
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
}
|