#pragma once #include "lts_serial_port_querry_export.h" #include "lts_seri" #include #include #include namespace LtsSerialPortQuerry { class LTSSERIALPORTQUERRY_EXPORT LtsSerialPortQuerry : public QObject { Q_OBJECT public: explicit LtsSerialPortQuerry(QObject *parent = nullptr); void setSerialPortSettings(const QSerialPort::BaudRate &baudRate, const QSerialPort::OpenModeFlag &openModeFlag, const QSerialPort::DataBits &dataBits, const QSerialPort::FlowControl &flowControll, const QSerialPort::Parity &parity, const QSerialPort::StopBits &stopBits); void continueQuerry(); void restartQuerry(); QSerialPort *currentSerialPort(); signals: void connectionEstablished(); private: void querrySerialPort(const QSerialPortInfo &info); void closeAndDeleteCurrentPort(); private: void onSerialPortError(QSerialPort::SerialPortError serialPortError); private: QList m_serialPortInfos; int m_currentQuerry; QSerialPort::BaudRate m_baudRate; QSerialPort::OpenModeFlag m_openModeFlag; QSerialPort::DataBits m_dataBits; QSerialPort::FlowControl m_flowControll; QSerialPort::Parity m_parity; QSerialPort::StopBits m_stopBits; QSerialPort *m_currentSerialPort; }; }