Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/connection_handler_tcp.h
T

48 lines
763 B
C++
Executable File

#pragma once
#include <QObject>
#include <QTcpSocket>
#include <LtsUtils/LtsUtilsCore/sfm_bytemessage_converter.h>
#include "logger.h"
class QTimer;
namespace TrainingAreaBaseOC
{
class ConnectionHandlerTcp : public QObject
{
Q_OBJECT
public:
explicit ConnectionHandlerTcp();
~ConnectionHandlerTcp();
bool init();
bool send(const LtsUtils::SfmMessage &message);
bool open();
void close();
bool isOpen() const;
signals:
void received(const LtsUtils::SfmMessage &message);
void disconnectedFromEq();
private slots:
void read();
void handleError(QAbstractSocket::SocketError error);
private:
NGL::INGLLogger &m_logger;
QTcpSocket *m_socket = nullptr;
QTimer *m_timer = nullptr;
QByteArray m_currentDataRead;
};
}