UniSet  2.6.0
ModbusTCPServerSlot.h
00001 // -------------------------------------------------------------------------
00002 #ifndef ModbusTCPServerSlot_H_
00003 #define ModbusTCPServerSlot_H_
00004 // -------------------------------------------------------------------------
00005 #include <string>
00006 #include "ModbusTCPServer.h"
00007 #include "ModbusServerSlot.h"
00008 // -------------------------------------------------------------------------
00009 namespace uniset
00010 {
00011 // -------------------------------------------------------------------------
00013 class ModbusTCPServerSlot:
00014     public ModbusServerSlot,
00015     public ModbusTCPServer
00016 {
00017     public:
00018         ModbusTCPServerSlot( const std::string& ia, int port = 502 );
00019         virtual ~ModbusTCPServerSlot();
00020 
00021         virtual void sigterm( int signo );
00022 
00023     protected:
00024 
00025         virtual ModbusRTU::mbErrCode readCoilStatus( ModbusRTU::ReadCoilMessage& query,
00026                                                      ModbusRTU::ReadCoilRetMessage& reply );
00027 
00028         virtual ModbusRTU::mbErrCode readInputStatus( ModbusRTU::ReadInputStatusMessage& query,
00029                                                       ModbusRTU::ReadInputStatusRetMessage& reply );
00030 
00031         virtual ModbusRTU::mbErrCode readOutputRegisters( ModbusRTU::ReadOutputMessage& query,
00032                                                           ModbusRTU::ReadOutputRetMessage& reply );
00033 
00034         virtual ModbusRTU::mbErrCode readInputRegisters( ModbusRTU::ReadInputMessage& query,
00035                                                          ModbusRTU::ReadInputRetMessage& reply );
00036 
00037         virtual ModbusRTU::mbErrCode forceSingleCoil( ModbusRTU::ForceSingleCoilMessage& query,
00038                                                       ModbusRTU::ForceSingleCoilRetMessage& reply );
00039 
00040         virtual ModbusRTU::mbErrCode writeOutputSingleRegister( ModbusRTU::WriteSingleOutputMessage& query,
00041                 ModbusRTU::WriteSingleOutputRetMessage& reply );
00042 
00043         virtual ModbusRTU::mbErrCode forceMultipleCoils( ModbusRTU::ForceCoilsMessage& query,
00044                                                          ModbusRTU::ForceCoilsRetMessage& reply );
00045 
00046         virtual ModbusRTU::mbErrCode writeOutputRegisters( ModbusRTU::WriteOutputMessage& query,
00047                 ModbusRTU::WriteOutputRetMessage& reply );
00048 
00049         virtual ModbusRTU::mbErrCode diagnostics( ModbusRTU::DiagnosticMessage& query,
00050                                                   ModbusRTU::DiagnosticRetMessage& reply );
00051 
00052         virtual ModbusRTU::mbErrCode read4314( ModbusRTU::MEIMessageRDI& query,
00053                                                ModbusRTU::MEIMessageRetRDI& reply );
00054 
00055         virtual ModbusRTU::mbErrCode journalCommand( ModbusRTU::JournalCommandMessage& query,
00056                                                      ModbusRTU::JournalCommandRetMessage& reply );
00057 
00058         virtual ModbusRTU::mbErrCode setDateTime( ModbusRTU::SetDateTimeMessage& query,
00059                                                   ModbusRTU::SetDateTimeRetMessage& reply );
00060 
00061         virtual ModbusRTU::mbErrCode remoteService( ModbusRTU::RemoteServiceMessage& query,
00062                                                     ModbusRTU::RemoteServiceRetMessage& reply );
00063 
00064         virtual ModbusRTU::mbErrCode fileTransfer( ModbusRTU::FileTransferMessage& query,
00065                                                    ModbusRTU::FileTransferRetMessage& reply );
00066 
00067     private:
00068 
00069 };
00070 // -------------------------------------------------------------------------
00071 } // end of namespace uniset
00072 // -------------------------------------------------------------------------
00073 #endif // ModbusTCPServerSlot_H_
00074 // -------------------------------------------------------------------------