Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,116 @@
/**
* @RDE_HEADER@
* The ClientMessage class is an abstract base class for concrete ClientMessage objects
* $Id$
* $HeadURL$
* $Author$
* Created by Hannes Fritsche, SLSE, 2017-09-07
*/
#pragma once
#include <QtCore/QJsonObject>
#include "logger.h"
namespace CombatNetRadio
{
class ExerciseManager;
namespace WebSocketInterface
{
namespace Messages
{
class MessageTransmitter;
class ClientMessage
{
public:
static ClientMessage *create(const QString &message, NGL::INGLLogger &logger);
virtual void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) = 0;
virtual bool hasValidData() const = 0;
virtual ~ClientMessage() = default;
ClientMessage(const QString &type, const QString &uuid, const QJsonObject &data = QJsonObject());
protected: // attributes
const QString m_type;
const QString m_uuid;
const QJsonObject m_data;
}; // class ClientMessage
class GetEssentialsMessage final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override { return true; }
using ClientMessage::ClientMessage;
}; // class GetEssentialsMessage
class GetConfigCnrMessage final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override { return true; }
using ClientMessage::ClientMessage;
}; // GetConfigCnrMessage
class GetPositionsCnrMessage final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override;
using ClientMessage::ClientMessage;
}; // PositionsCnrMessage
class AliveRequest final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override { return true; }
using ClientMessage::ClientMessage;
};
class OkMessageC final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override { return true; }
using ClientMessage::ClientMessage;
};
class ConfigCnrMessageC final : public ClientMessage
{
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override { return true; }
using ClientMessage::ClientMessage;
}; // ConfigCnrMessageC
class InvalidMessage final : public ClientMessage
{
friend class ClientMessage;
public:
void process(ExerciseManager *exerciseManager, MessageTransmitter *transmitter) override;
bool hasValidData() const override;
using ClientMessage::ClientMessage;
private: // attributes
QString m_errorText;
}; // class InvalidMessage
} // namespace Messages
} // namespace WebSocketInterface
} // namespace CombatNetRadio