Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Tools/SerialToTcpConverter/converter.h
T
torsten d5c13033e2 Session 022: Migrate Lts/Tools (72 submodules) to Qt6
- Copied complete Lts/Tools directory from qt5-before to qt6-after
- Updated 32 CMakeLists.txt files (Qt5:: → Qt6::)
- Tools subdirectory already included in parent Lts/CMakeLists.txt
- All 72 tool submodules now present in qt6-migrated-legatus
- Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate,
  DdsView, InfrastructureManagement, and 67 more tools
- C++17 standard (RTI 7.7.0 compatibility maintained)
- Tests deferred until final validation phase

Migration progress:
✅ Lts/Application (68 files)
✅ Lts/DDS (verified Qt6-ready)
✅ Lts/Plugins (60 submodules, verified)
✅ Lts/Projects (5 submodules, verified)
✅ Lts/Proxies (13 submodules, verified)
✅ Lts/Services (47 submodules, verified)
✅ Lts/Tools (72 submodules, copied + CMake updated)
✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap)
🟡 TetraIF (partial)
🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
2026-08-25 14:07:20 +02:00

81 lines
1.5 KiB
C++
Executable File

/**
* Converter serial to tcp
* $Id$
* $HeadURL$
* $Author$
* Created by Philipp Dassow, NLT, 30-11-2018
*/
#pragma once
#include <QtCore/QObject>
#include <QSerialPort>
#include <QtCore/QString>
#include <QTcpServer>
#include <QTcpSocket>
#include <QThread>
#include "logger.h"
namespace SerialToTcpConverter
{
class Converter;
class ConverterThread : public QThread
{
Q_OBJECT
public:
explicit ConverterThread(const QString &serialPortName,
int baudrate,
int tcpPort);
QString portName() const { return m_serialPortName; }
protected:
void run() override;
signals:
void connected(const QString &port);
private:
QString m_serialPortName;
int m_baudrate;
int m_tcpPort;
LOGGER_T &m_logger; // Logger-Object
};
class Converter : public QObject
{
Q_OBJECT
public:
explicit Converter(QObject* parent = nullptr);
~Converter();
bool init(const QString &serialPortName, int baudrate, int tcpPort);
private slots:
// serial
bool openSerialPort();
void readSerial();
void serialClosed();
void handleSerialError(QSerialPort::SerialPortError error);
// tcp
void newConnection();
void readTcp();
void tcpDisconnected();
void handleTcpError(QAbstractSocket::SocketError error);
private:
QSerialPort *m_serialPort;
QString m_serialPortName;
int m_baudrate;
QTcpServer *m_tcpServer;
QVector<QTcpSocket*> m_sockets;
LOGGER_T m_logger;
};
} //namespace SerialToTcpConverter