UniSet
1.4.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::JournalCommandMessage&, 00054 ModbusRTU::JournalCommandRetMessage&> JournalCommandSlot; 00055 00056 typedef sigc::slot<ModbusRTU::mbErrCode, 00057 ModbusRTU::SetDateTimeMessage&, 00058 ModbusRTU::SetDateTimeRetMessage&> SetDateTimeSlot; 00059 00060 typedef sigc::slot<ModbusRTU::mbErrCode, 00061 ModbusRTU::RemoteServiceMessage&, 00062 ModbusRTU::RemoteServiceRetMessage&> RemoteServiceSlot; 00063 00064 typedef sigc::slot<ModbusRTU::mbErrCode, 00065 ModbusRTU::FileTransferMessage&, 00066 ModbusRTU::FileTransferRetMessage&> FileTransferSlot; 00067 00069 void connectReadCoil( ReadCoilSlot sl ); 00070 00072 void connectReadInputStatus( ReadInputStatusSlot sl ); 00073 00075 void connectReadOutput( ReadOutputSlot sl ); 00076 00078 void connectReadInput( ReadInputSlot sl ); 00079 00081 void connectForceSingleCoil( ForceSingleCoilSlot sl ); 00082 00084 void connectWriteSingleOutput( WriteSingleOutputSlot sl ); 00085 00087 void connectDiagnostics( DiagnosticsSlot sl ); 00088 00090 void connectForceCoils( ForceCoilsSlot sl ); 00091 00093 void connectWriteOutput( WriteOutputSlot sl ); 00094 00096 void connectJournalCommand( JournalCommandSlot sl ); 00097 00099 void connectSetDateTime( SetDateTimeSlot sl ); 00100 00102 void connectRemoteService( RemoteServiceSlot sl ); 00103 00105 void connectFileTransfer( FileTransferSlot sl ); 00106 00107 virtual void sigterm( int signo ){} 00108 00109 protected: 00110 ReadCoilSlot slReadCoil; 00111 ReadInputStatusSlot slReadInputStatus; 00112 ReadOutputSlot slReadOutputs; 00113 ReadInputSlot slReadInputs; 00114 ForceCoilsSlot slForceCoils; 00115 WriteOutputSlot slWriteOutputs; 00116 ForceSingleCoilSlot slForceSingleCoil; 00117 WriteSingleOutputSlot slWriteSingleOutputs; 00118 DiagnosticsSlot slDiagnostics; 00119 JournalCommandSlot slJournalCommand; 00120 SetDateTimeSlot slSetDateTime; 00121 RemoteServiceSlot slRemoteService; 00122 FileTransferSlot slFileTransfer; 00123 }; 00124 // ------------------------------------------------------------------------- 00125 #endif // ModbusServerSlot_H_ 00126 // -------------------------------------------------------------------------