/** * @RDE_HEADER@ * Handler for the WebSocket Interface * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLST, 2017-12-05 */ #pragma once #include #include #include "logger.h" namespace WarehouseGuez { class MainHandler; namespace WsBaseDataInterface { namespace Messages { class ClientMessageFactory; } class DataManager; /** * @brief The WsBaseDataInterfaceHandler class is the main class for the WsBaseDataInterface */ class WsBaseDataInterfaceHandler final : public QObject { public: /** * @brief WsBaseDataInterfaceHandler Constructor * @param mainHandler MainHandler to get the HandlerStructureElement from */ explicit WsBaseDataInterfaceHandler(MainHandler *mainHandler, QObject *parent = nullptr); /** * @brief ~WsBaseDataInterfaceHandler Destructor */ ~WsBaseDataInterfaceHandler(); /** * @brief init Initialises all needed classes for the WsBaseDataInterface * @return True on success, otherwise false */ bool init(); /** * @brief webSocketPort returns the listen port * @return listen port */ unsigned short webSocketPort() { return m_webSocketServer->webSocketPort(); } void requestExercisesFromExcon(); void requestParticipantsFromExcon(int exerciseId); void sendEquipmentTypes(); private: void cleanup(); private: LtsWebSocket::LtsWebSocketServer *m_webSocketServer; Messages::ClientMessageFactory *m_messageFactory; DataManager *m_dataManager; MainHandler *m_mainHandler; LOGGER_T m_logger; }; // class WsBaseDataInterfaceHandle } // namespace WsBaseDataInterface } // namespace WarehouseGuez