My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
AntennaMonitor.h
Go to the documentation of this file.
1 #ifndef ANTENNAMONITOR_H
2 #define ANTENNAMONITOR_H
3 
11 #include "gcp/util/common/DataFrame.h"
12 #include "gcp/util/common/GenericTask.h"
13 #include "gcp/util/common/NetStr.h"
14 #include "gcp/util/common/NetMsgHandler.h"
15 #include "gcp/util/common/SignalTask.h"
16 #include "gcp/util/common/TcpClient.h"
17 
18 #include "gcp/antenna/control/specific/AntennaMonitorMsg.h"
19 #include "gcp/antenna/control/specific/FrameSender.h"
20 #include "gcp/antenna/control/specific/Scanner.h"
21 #include "gcp/antenna/control/specific/SpecificTask.h"
22 
23 namespace gcp {
24  namespace antenna {
25  namespace control {
26 
30  class AntennaDrive;
31  class AntennaMaster;
32 
37  class AntennaMonitor :
38  public SpecificTask,
39  public gcp::util::GenericTask<AntennaMonitorMsg> {
40 
41  private:
42 
43 
48  Scanner* scanner_;
49 
54  friend class AntennaMaster;
55 
59  AntennaMaster* parent_;
60 
68 
74  ~AntennaMonitor();
75 
76  //------------------------------------------------------------
77  // Methods for communication with this task
78  //
79 
83  void sendDispatchDataFrameMsg();
84 
93  void processMsg(AntennaMonitorMsg* taskMsg);
94 
99  FrameSender* sender_;
100 
104  std::string host_;
105 
109  gcp::util::TcpClient client_;
110 
115  gcp::util::NetMsgHandler netMsgHandler_;
116 
120  bool connectionPending_;
121 
126  gcp::util::NetHandler netDataFrameHandler_;
127 
131  bool dispatchPending_;
132 
136  bool connect();
137 
141  void disconnect();
142 
146  void connectScanner(bool reEnable);
147 
151  void disconnectScanner();
152 
156  void serviceMsgQ();
157 
158  // Handlers to be called while communicating with the
159  // translator
160 
161  static NET_READ_HANDLER(netMsgReadHandler);
162  static NET_SEND_HANDLER(netMsgSentHandler);
163  static NET_SEND_HANDLER(netDataFrameSentHandler);
164 
168  static NET_ERROR_HANDLER(netErrorHandler);
169 
174  void packNextFrame();
175 
180  void dispatchNextFrame();
181 
186  void packFrame(gcp::util::DataFrame* frame);
187 
192  void sendScannerConnectedMsg(bool connected);
193 
197  void sendAntennaIdMsg();
198 
203  void parseGreetingMsg(gcp::util::NetMsg* msg);
204 
205  }; // End class AntennaMonitor
206 
207  }; // End namespace control
208  }; // End namespace antenna
209 } // End namespace gcp
210 
211 #endif
Definition: NetHandler.h:16
Definition: Scanner.h:31
Definition: TcpClient.h:18
Definition: AntennaMonitor.h:37
Definition: FrameSender.h:25
Definition: DataFrame.h:27
Definition: NetMsgHandler.h:19
Definition: NetMsg.h:26
Definition: SpecificTask.h:19
Definition: AntennaMonitorMsg.h:21
Definition: AntennaMaster.h:179
Definition: GenericTask.h:33