Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/WebSocketInterface/Messages/message_handler.cpp
T
2026-10-03 09:20:13 +02:00

43 lines
922 B
C++
Executable File

#include "message_handler.h"
#include "message_transmitter.h"
#include "client_message.h"
#include <memory>
#include <NGLLogger/NGLLoggerBootstrap.h>
namespace CombatNetRadio
{
namespace WebSocketInterface
{
namespace Messages
{
MessageHandler::MessageHandler(ExerciseManager *exerciseManager) : m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
, m_exerciseManager(exerciseManager) {
Q_ASSERT(exerciseManager);
}
void MessageHandler::onNewTextMessage(MessageTransmitter *transmitter, const QString &message)
{
Q_ASSERT(transmitter);
const QString pingMsg(QStringLiteral("ping"));
if (message.startsWith(pingMsg))
{
transmitter->addMessage(PongMessage(message.mid(pingMsg.size())));
return;
}
std::unique_ptr<ClientMessage> clientMessage(ClientMessage::create(message, m_logger));
if (!clientMessage)
return;
clientMessage->process(m_exerciseManager, transmitter);
}
}
}
}