Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWebSocket/lts_web_socket_client.h
T

67 lines
1.1 KiB
C++
Executable File

#pragma once
#include <QObject>
#include <QAbstractSocket>
#include "ltswebsocketclient_export.h"
#include "client_message_factory.h"
#include "logger.h"
class QThread;
namespace LtsWebSocket
{
class WebSocketHelper;
class LTSWEBSOCKETCLIENT_EXPORT LtsWebSocketClient
: public QObject
, public ReplyHandler
{
Q_OBJECT
public:
explicit LtsWebSocketClient(AbstractClientMessageFactory *messageFactory, QObject *parent = nullptr);
~LtsWebSocketClient();
void open(const QString &hostname, const unsigned short port);
void close();
void addReply(ReplyMessage *message) override;
signals:
void connected();
void disconnected();
void dataReceived();
private slots:
void onNewClientMessage(AbstractClientMessage *clientMessage);
signals:
void onOpen(const QString &hostname, const unsigned short port);
void onClose();
void onSendTextMessage(const QString &msg);
private:
NGL::INGLLogger &m_logger;
AbstractClientMessageFactory *m_messageFactory;
QThread *m_webSocketHelperThread;
WebSocketHelper *m_webSocketHelper;
};
}