#pragma once #include #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); }; }