Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* The MessageHandler class processes messages from the client an creates appropriate replys
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Hannes Fritsche, SLSE, 2017-09-07
|
||||
*/
|
||||
#include "message_handler.h"
|
||||
#include "message_transmitter.h"
|
||||
#include "client_message.h"
|
||||
#include <memory>
|
||||
|
||||
namespace CombatNetRadio
|
||||
{
|
||||
namespace WebSocketInterface
|
||||
{
|
||||
namespace Messages
|
||||
{
|
||||
|
||||
MessageHandler::MessageHandler(ExerciseManager *exerciseManager)
|
||||
: m_exerciseManager(exerciseManager)
|
||||
, m_logger(getLogger("MessageHandler"))
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
} // namespace CombatNetRadio
|
||||
} // namespace WebSocketInterface
|
||||
} // namespace Messages
|
||||
Reference in new issue
Block a user