#ifndef CMODBUSSLAVE_H #define CMODBUSSLAVE_H #include #include "ModbusBackend.h" #include #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