Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/WebSocketInterface/Connection/connection_handler.h
T

60 lines
1.2 KiB
C++
Executable File

#pragma once
#include <QtNetwork/QHostAddress>
#include <QtWebSockets/qwebsocketprotocol.h>
#include "../Messages/reply_message.h"
#include "logger.h"
class QWebSocketServer;
namespace CombatNetRadio
{
namespace WebSocketInterface
{
namespace Messages
{
class MessageTransmitter;
}
namespace Connection
{
class ClientConnection;
class ConnectionHandler
: public QObject
{
Q_OBJECT
public:
explicit ConnectionHandler();
~ConnectionHandler();
bool init();
Q_SIGNALS:
void newTextMessageFromClient(Messages::MessageTransmitter *transmitter, const QString &message);
void lastConnectionClosed();
void newClientConnection(qint64 id);
void clientConnectionClosed(qint64 id);
void clearFrequencyPlanningStatus();
public Q_SLOTS:
void onUpdate();
void onPositions(const Messages::ReplyMessage &positionsCnr);
private Q_SLOTS:
void onNewMessage(Messages::MessageTransmitter *transmitter, const QString &message);
void onServerError(QWebSocketProtocol::CloseCode closeCode);
void onNewConnection();
void onDisconnected(ClientConnection *conn);
private:
NGL::INGLLogger &m_logger;
QWebSocketServer *m_server;
QVector<ClientConnection *> m_connections;
};
}
}
}