LineRingerDLL/lineringer.h

78 lines
1.5 KiB
C++

#ifndef LINERINGER_H
#define LINERINGER_H
#include <QWidget>
#include <QModbusTcpClient>
#include <QModbusRtuSerialMaster>
#include <QSerialPortInfo>
#include <QSerialPort>
#include <QMessageBox>
#include <QProgressDialog>
extern "C" __declspec(dllexport) QWidget* init(QWidget *parent);
#include <QEvent>
class truthSeaker : public QEvent
{
public:
truthSeaker() : QEvent(QEvent::User) {}
~truthSeaker() {}
private:
};
namespace Ui {
class LineRinger;
}
class LineRinger : public QWidget
{
Q_OBJECT
public:
enum callStatus{
NOERROR = 0,
ERROR = 1,
INTERRUPT = 2
};
explicit LineRinger(QWidget *parent = nullptr);
~LineRinger();
callStatus lineCall();
void emitShowTheTru(QWidget* w);
QWidget* father = nullptr;
signals:
void stopLineCall();
private slots:
void on_connectButton_clicked();
void on_ringButton_clicked();
void on_checkAutoBaud_stateChanged(int arg1);
private:
Ui::LineRinger *ui;
void syncColumnHeaders();
struct deviceOnLine
{
uint8_t adr;
unsigned baudRate;
QString fields[7] = {"Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined"};
};
QVector<deviceOnLine>devicesList;
bool isAutoBaud = false;
unsigned currentBaudRate;
QModbusClient *modbusDevice = nullptr;
};
extern "C" __declspec(dllexport) void linker(LineRinger *w, QWidget*par, void (*lkn)(QWidget*));
#endif // LINERINGER_H