/** * @RDE_HEADER@ * Handler for the WebSocket Interface * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLST, 2017-12-05 */ #include "websocket_interface_handler.h" #include "main_handler.h" #include "data_manager.h" #include "WebSocketInterface/Messages/client_message.h" namespace OcSituationClient { namespace WebSocketInterface { WebSocketInterfaceHandler::WebSocketInterfaceHandler(MainHandler *mainHandler, QObject *parent) : QObject(parent) , m_webSocketClient(nullptr) , m_messageFactory(nullptr) , m_dataManager(nullptr) , m_mainHandler(mainHandler) , m_logger(getLogger("WebSocketInterfaceHandler")) { } WebSocketInterfaceHandler::~WebSocketInterfaceHandler() { cleanup(); } bool WebSocketInterfaceHandler::init() { cleanup(); DEBUG_LOG(m_logger) << "Initialising DataManager"; m_dataManager = new DataManager(m_mainHandler); DEBUG_LOG(m_logger) << "... ok"; m_messageFactory = new Messages::ClientMessageFactory(m_dataManager); m_webSocketClient = new LtsWebSocket::LtsWebSocketClient(m_messageFactory, this); DEBUG_LOG(m_logger) << "Connection signals and slots"; connect(m_webSocketClient, &LtsWebSocket::LtsWebSocketClient::connected, this, &WebSocketInterfaceHandler::connected); connect(m_webSocketClient, &LtsWebSocket::LtsWebSocketClient::disconnected, this, &WebSocketInterfaceHandler::disconnected); DEBUG_LOG(m_logger) << "... ok"; return true; } void WebSocketInterfaceHandler::open(const QString &hostname, int port) { m_webSocketClient->open(hostname, port); } void WebSocketInterfaceHandler::send(LtsWebSocket::ReplyMessage *message) { m_webSocketClient->addReply(message); } void WebSocketInterfaceHandler::cleanup() { delete m_webSocketClient; delete m_messageFactory; delete m_dataManager; } } // namespace WebSocketInterface } // namespace OcSituationClient