|
UniSet
2.6.0
|
00001 // ------------------------------------------------------------------------- 00002 #ifndef ModbusServerSlot_H_ 00003 #define ModbusServerSlot_H_ 00004 // ------------------------------------------------------------------------- 00005 #include <sigc++/sigc++.h> 00006 #include "ModbusTypes.h" 00007 #include "ModbusServer.h" 00008 // ------------------------------------------------------------------------- 00009 namespace uniset 00010 { 00011 // ------------------------------------------------------------------------- 00013 class ModbusServerSlot 00014 { 00015 public: 00016 ModbusServerSlot(); 00017 virtual ~ModbusServerSlot(); 00018 00019 typedef sigc::slot<ModbusRTU::mbErrCode, 00020 ModbusRTU::ReadCoilMessage&, 00021 ModbusRTU::ReadCoilRetMessage&> ReadCoilSlot; 00022 00023 typedef sigc::slot<ModbusRTU::mbErrCode, 00024 ModbusRTU::ReadInputStatusMessage&, 00025 ModbusRTU::ReadInputStatusRetMessage&> ReadInputStatusSlot; 00026 00027 typedef sigc::slot<ModbusRTU::mbErrCode, 00028 ModbusRTU::ReadOutputMessage&, 00029 ModbusRTU::ReadOutputRetMessage&> ReadOutputSlot; 00030 00031 typedef sigc::slot<ModbusRTU::mbErrCode, 00032 ModbusRTU::ReadInputMessage&, 00033 ModbusRTU::ReadInputRetMessage&> ReadInputSlot; 00034 00035 typedef sigc::slot<ModbusRTU::mbErrCode, 00036 ModbusRTU::ForceSingleCoilMessage&, 00037 ModbusRTU::ForceSingleCoilRetMessage&> ForceSingleCoilSlot; 00038 00039 typedef sigc::slot<ModbusRTU::mbErrCode, 00040 ModbusRTU::WriteSingleOutputMessage&, 00041 ModbusRTU::WriteSingleOutputRetMessage&> WriteSingleOutputSlot; 00042 00043 typedef sigc::slot<ModbusRTU::mbErrCode, 00044 ModbusRTU::ForceCoilsMessage&, 00045 ModbusRTU::ForceCoilsRetMessage&> ForceCoilsSlot; 00046 00047 typedef sigc::slot<ModbusRTU::mbErrCode, 00048 ModbusRTU::WriteOutputMessage&, 00049 ModbusRTU::WriteOutputRetMessage&> WriteOutputSlot; 00050 00051 typedef sigc::slot<ModbusRTU::mbErrCode, 00052 ModbusRTU::DiagnosticMessage&, 00053 ModbusRTU::DiagnosticRetMessage&> DiagnosticsSlot; 00054 00055 typedef sigc::slot<ModbusRTU::mbErrCode, 00056 ModbusRTU::MEIMessageRDI&, 00057 ModbusRTU::MEIMessageRetRDI&> MEIRDISlot; 00058 00059 typedef sigc::slot<ModbusRTU::mbErrCode, 00060 ModbusRTU::JournalCommandMessage&, 00061 ModbusRTU::JournalCommandRetMessage&> JournalCommandSlot; 00062 00063 typedef sigc::slot<ModbusRTU::mbErrCode, 00064 ModbusRTU::SetDateTimeMessage&, 00065 ModbusRTU::SetDateTimeRetMessage&> SetDateTimeSlot; 00066 00067 typedef sigc::slot<ModbusRTU::mbErrCode, 00068 ModbusRTU::RemoteServiceMessage&, 00069 ModbusRTU::RemoteServiceRetMessage&> RemoteServiceSlot; 00070 00071 typedef sigc::slot<ModbusRTU::mbErrCode, 00072 ModbusRTU::FileTransferMessage&, 00073 ModbusRTU::FileTransferRetMessage&> FileTransferSlot; 00074 00076 void connectReadCoil( ReadCoilSlot sl ); 00077 00079 void connectReadInputStatus( ReadInputStatusSlot sl ); 00080 00082 void connectReadOutput( ReadOutputSlot sl ); 00083 00085 void connectReadInput( ReadInputSlot sl ); 00086 00088 void connectForceSingleCoil( ForceSingleCoilSlot sl ); 00089 00091 void connectWriteSingleOutput( WriteSingleOutputSlot sl ); 00092 00094 void connectDiagnostics( DiagnosticsSlot sl ); 00095 00097 void connectMEIRDI( MEIRDISlot sl ); 00098 00100 void connectForceCoils( ForceCoilsSlot sl ); 00101 00103 void connectWriteOutput( WriteOutputSlot sl ); 00104 00106 void connectJournalCommand( JournalCommandSlot sl ); 00107 00109 void connectSetDateTime( SetDateTimeSlot sl ); 00110 00112 void connectRemoteService( RemoteServiceSlot sl ); 00113 00115 void connectFileTransfer( FileTransferSlot sl ); 00116 00117 virtual void sigterm( int signo ) {} 00118 00119 protected: 00120 ReadCoilSlot slReadCoil; 00121 ReadInputStatusSlot slReadInputStatus; 00122 ReadOutputSlot slReadOutputs; 00123 ReadInputSlot slReadInputs; 00124 ForceCoilsSlot slForceCoils; 00125 WriteOutputSlot slWriteOutputs; 00126 ForceSingleCoilSlot slForceSingleCoil; 00127 WriteSingleOutputSlot slWriteSingleOutputs; 00128 DiagnosticsSlot slDiagnostics; 00129 MEIRDISlot slMEIRDI; 00130 JournalCommandSlot slJournalCommand; 00131 SetDateTimeSlot slSetDateTime; 00132 RemoteServiceSlot slRemoteService; 00133 FileTransferSlot slFileTransfer; 00134 }; 00135 // ------------------------------------------------------------------------- 00136 } // end of namespace uniset 00137 // ------------------------------------------------------------------------- 00138 #endif // ModbusServerSlot_H_ 00139 // -------------------------------------------------------------------------
1.7.6.1