Files
qt6-migration-pipeline/Lts/Common/LtsWebSocket/reply_message.h
T

71 lines
945 B
C++
Executable File

#pragma once
#include <LtsWebSocket/ltswebsocketcommon_export.h>
#include <QString>
#include <QJsonObject>
#include <QJsonParseError>
namespace LtsWebSocket
{
class LTSWEBSOCKETCOMMON_EXPORT ReplyMessage
{
public:
virtual ~ReplyMessage() = default;
virtual QString toJsonString() const;
QJsonObject json() const { return m_jsonRepresentation; }
protected:
ReplyMessage() = default;
ReplyMessage(const QString &type, const int typeId, const QString &uuid);
protected:
QJsonObject m_jsonRepresentation;
};
class LTSWEBSOCKETCOMMON_EXPORT ReplyHandler
{
public:
virtual ~ReplyHandler() = default;
virtual void addReply(ReplyMessage *message) = 0;
};
class LTSWEBSOCKETCOMMON_EXPORT ErrorMessage final
: public ReplyMessage
{
public:
struct ErrorData
{
int errorClass = 0;
QString uuid;
QString errorMessage;
};
explicit ErrorMessage(const ErrorData &data);
};
}