CARMA C++
AntennaMonitor.h
Go to the documentation of this file.
1 #ifndef ANTENNAMONITOR_H
2 #define ANTENNAMONITOR_H
3 
13 #include "carma/szautil/NetStr.h"
17 
21 
22 namespace sza {
23  namespace antenna {
24  namespace control {
25 
29  class AntennaDrive;
30  class AntennaMaster;
31 
36  class AntennaMonitor :
37  public SzaTask,
38  public sza::util::GenericTask<AntennaMonitorMsg> {
39 
40  private:
41 
42 
47  Scanner* scanner_;
48 
53  friend class AntennaMaster;
54 
58  AntennaMaster* parent_;
59 
67 
73  ~AntennaMonitor();
74 
75  //------------------------------------------------------------
76  // Methods for communication with this task
77  //
78 
82  void sendDispatchDataFrameMsg();
83 
92  void processMsg(AntennaMonitorMsg* taskMsg);
93 
97  std::string host_;
98 
102  sza::util::TcpClient client_;
103 
108  sza::util::NetMsgHandler netMsgHandler_;
109 
113  bool connectionPending_;
114 
119  sza::util::NetHandler netDataFrameHandler_;
120 
124  bool dispatchPending_;
125 
129  bool connect();
130 
134  void disconnect();
135 
139  void connectScanner(bool reEnable);
140 
144  void disconnectScanner();
145 
149  void serviceMsgQ();
150 
151  // Handlers to be called while communicating with the
152  // translator
153 
154  static NET_READ_HANDLER(netMsgReadHandler);
155  static NET_SEND_HANDLER(netMsgSentHandler);
156  static NET_SEND_HANDLER(netDataFrameSentHandler);
157 
161  static NET_ERROR_HANDLER(netErrorHandler);
162 
167  void packNextFrame();
168 
173  void dispatchNextFrame();
174 
179  void packFrame(sza::util::DataFrame* frame);
180 
185  void sendScannerConnectedMsg(bool connected);
186 
190  void sendAntennaIdMsg();
191 
196  void parseGreetingMsg(sza::util::NetMsg* msg);
197 
198  }; // End class AntennaMonitor
199 
200  }; // End namespace control
201  }; // End namespace antenna
202 }; // End namespace sza
203 
204 #endif
Tagged: Mon Mar 15 18:24:26 UTC 2004.
Started: Tue Mar 2 03:37:15 UTC 2004.
Tagged: Fri Nov 14 12:39:33 UTC 2003.
Tagged: Sat Mar 20 00:16:55 UTC 2004.
Define a class for sending snapshots of the antenna state back to the control program for archiving...
Tagged: Thu Nov 13 16:53:29 UTC 2003.
All tasks will have the following functionality:
Definition: GenericTask.h:32
Tagged: Thu Nov 13 16:53:51 UTC 2003.
A class to encapsulate messages sent to the Monitor Task.
A class to encapsulate the transmission of monitor frames from the AC to the ACC. ...
Definition: Scanner.h:30
Tagged: Fri Nov 14 12:39:36 UTC 2003.
Tagged: Thu Nov 13 16:53:54 UTC 2003.
A generic interface for a data frame consisting of contiguous blocks of arbitrary-sized types...
Definition: DataFrame.h:27
Started: Sat Mar 6 14:44:17 UTC 2004.
Define a class to encapsulate the entire Antenna control system.