#pragma once #include "ltswebsocketcommon_export.h" #include #include #include 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); }; } // namespace LtsWebSocket