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