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