#pragma once #include #include #include #include "logger.h" namespace TrainingAreaBase { namespace WebSocketInterface { class DataManager; namespace ClientMessages { class ClientMessageFactory final : public LtsWebSocket::AbstractClientMessageFactory { public: explicit ClientMessageFactory(DataManager *dataManager); LtsWebSocket::AbstractClientMessage *createMessage(LtsWebSocket::ReplyHandler *client, const QString &message); private: DataManager *m_dataManager; }; class ClientMessage : public LtsWebSocket::AbstractClientMessage { protected: explicit ClientMessage(DataManager *dataManager, LtsWebSocket::ReplyHandler *client, const QString &type, const int typeId, const QString &uuid, const QJsonValue &data = QJsonValue()); protected: DataManager *m_dataManager; LOGGER_T m_logger; }; class SendBiteRequest : public ClientMessage { public: explicit SendBiteRequest(DataManager *dataManager, LtsWebSocket::ReplyHandler *client, const QString &type, const int typeId, const QString &uuid, const QJsonValue &data); void process(); bool hasValidData() const; }; } } }