Files
qt5-legatus-legacy/Lts/Services/WarehouseGuez/WsBaseDataInterface/ws_base_data_interface_handler.h
T
2026-08-13 18:33:10 +02:00

76 lines
1.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Handler for the WebSocket Interface
* $Id$
* $HeadURL$
* $Author$
* Created by Philipp Dassow, SLST, 2017-12-05
*/
#pragma once
#include <QtCore/QObject>
#include <LtsWebSocket/lts_web_socket_server.h>
#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