#pragma once #include #include #include "logger.h" namespace TrainingAreaBase { class MainHandler; namespace WebSocketInterface { namespace ClientMessages { class ClientMessageFactory; } namespace Messages { class ReplyMessage; } class DataManager; class WebSocketInterfaceHandler final : public QObject { Q_OBJECT public: explicit WebSocketInterfaceHandler(MainHandler *mainHandler, QObject *parent = nullptr); ~WebSocketInterfaceHandler(); bool init(); bool sendToAllClients(Messages::ReplyMessage *message); unsigned short serverWebSocketPort() { return m_webSocketServer->webSocketPort(); } private: void cleanup(); private: LtsWebSocket::LtsWebSocketServer *m_webSocketServer; ClientMessages::ClientMessageFactory *m_messageFactory; DataManager *m_dataManager; MainHandler *m_mainHandler; LOGGER_T m_logger; }; } }