42 lines
943 B
C++
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
|