OutilModbus/Sources/ModbusSlave.h
2022-06-13 09:16:01 -04:00

42 lines
943 B
C++

#ifndef CMODBUSSLAVE_H
#define CMODBUSSLAVE_H
#include <QObject>
#include "ModbusBackend.h"
#include <QTcpServer>
#include "ModbusRepository.h"
class CModbusSlave : public CModbusBackend
{
Q_OBJECT
public:
explicit CModbusSlave(CModbusRepository *Repo);
virtual ~CModbusSlave();
int SetServerPort(int port);
int StartSlaveServer(int port);
int StopSlaveServer();
virtual void RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length);
virtual void ModbusRequestException(quint8 ExceptionCode, quint8 FctCode);
int ToggleServerState();
bool IsSlaveServerOpened();
private:
QTcpServer *mModbusServer;
int mServerPort;
signals:
void ModbusSlaveConnected(CModbusSlave *);
void ModbusSlaveDisconnected(CModbusSlave *);
void ModbusSlaveRepoUpdated();
public slots:
void NewModbusConnection();
void ModbusSocketDisconnected();
};
#endif // CMODBUSSLAVE_H