UniSet  2.6.0
ModbusServerSlot.h
1 // -------------------------------------------------------------------------
2 #ifndef ModbusServerSlot_H_
3 #define ModbusServerSlot_H_
4 // -------------------------------------------------------------------------
5 #include <sigc++/sigc++.h>
6 #include "ModbusTypes.h"
7 #include "ModbusServer.h"
8 // -------------------------------------------------------------------------
9 namespace uniset
10 {
11  // -------------------------------------------------------------------------
14  {
15  public:
17  virtual ~ModbusServerSlot();
18 
19  typedef sigc::slot<ModbusRTU::mbErrCode,
21  ModbusRTU::ReadCoilRetMessage&> ReadCoilSlot;
22 
23  typedef sigc::slot<ModbusRTU::mbErrCode,
25  ModbusRTU::ReadInputStatusRetMessage&> ReadInputStatusSlot;
26 
27  typedef sigc::slot<ModbusRTU::mbErrCode,
29  ModbusRTU::ReadOutputRetMessage&> ReadOutputSlot;
30 
31  typedef sigc::slot<ModbusRTU::mbErrCode,
33  ModbusRTU::ReadInputRetMessage&> ReadInputSlot;
34 
35  typedef sigc::slot<ModbusRTU::mbErrCode,
37  ModbusRTU::ForceSingleCoilRetMessage&> ForceSingleCoilSlot;
38 
39  typedef sigc::slot<ModbusRTU::mbErrCode,
41  ModbusRTU::WriteSingleOutputRetMessage&> WriteSingleOutputSlot;
42 
43  typedef sigc::slot<ModbusRTU::mbErrCode,
45  ModbusRTU::ForceCoilsRetMessage&> ForceCoilsSlot;
46 
47  typedef sigc::slot<ModbusRTU::mbErrCode,
49  ModbusRTU::WriteOutputRetMessage&> WriteOutputSlot;
50 
51  typedef sigc::slot<ModbusRTU::mbErrCode,
53  ModbusRTU::DiagnosticRetMessage&> DiagnosticsSlot;
54 
55  typedef sigc::slot<ModbusRTU::mbErrCode,
57  ModbusRTU::MEIMessageRetRDI&> MEIRDISlot;
58 
59  typedef sigc::slot<ModbusRTU::mbErrCode,
61  ModbusRTU::JournalCommandRetMessage&> JournalCommandSlot;
62 
63  typedef sigc::slot<ModbusRTU::mbErrCode,
65  ModbusRTU::SetDateTimeRetMessage&> SetDateTimeSlot;
66 
67  typedef sigc::slot<ModbusRTU::mbErrCode,
69  ModbusRTU::RemoteServiceRetMessage&> RemoteServiceSlot;
70 
71  typedef sigc::slot<ModbusRTU::mbErrCode,
73  ModbusRTU::FileTransferRetMessage&> FileTransferSlot;
74 
76  void connectReadCoil( ReadCoilSlot sl );
77 
79  void connectReadInputStatus( ReadInputStatusSlot sl );
80 
82  void connectReadOutput( ReadOutputSlot sl );
83 
85  void connectReadInput( ReadInputSlot sl );
86 
88  void connectForceSingleCoil( ForceSingleCoilSlot sl );
89 
91  void connectWriteSingleOutput( WriteSingleOutputSlot sl );
92 
94  void connectDiagnostics( DiagnosticsSlot sl );
95 
97  void connectMEIRDI( MEIRDISlot sl );
98 
100  void connectForceCoils( ForceCoilsSlot sl );
101 
103  void connectWriteOutput( WriteOutputSlot sl );
104 
106  void connectJournalCommand( JournalCommandSlot sl );
107 
109  void connectSetDateTime( SetDateTimeSlot sl );
110 
112  void connectRemoteService( RemoteServiceSlot sl );
113 
115  void connectFileTransfer( FileTransferSlot sl );
116 
117  virtual void sigterm( int signo ) {}
118 
119  protected:
120  ReadCoilSlot slReadCoil;
121  ReadInputStatusSlot slReadInputStatus;
122  ReadOutputSlot slReadOutputs;
123  ReadInputSlot slReadInputs;
124  ForceCoilsSlot slForceCoils;
125  WriteOutputSlot slWriteOutputs;
126  ForceSingleCoilSlot slForceSingleCoil;
127  WriteSingleOutputSlot slWriteSingleOutputs;
128  DiagnosticsSlot slDiagnostics;
129  MEIRDISlot slMEIRDI;
130  JournalCommandSlot slJournalCommand;
131  SetDateTimeSlot slSetDateTime;
132  RemoteServiceSlot slRemoteService;
133  FileTransferSlot slFileTransfer;
134  };
135  // -------------------------------------------------------------------------
136 } // end of namespace uniset
137 // -------------------------------------------------------------------------
138 #endif // ModbusServerSlot_H_
139 // -------------------------------------------------------------------------