1 #ifndef GCP_MEDIATOR_ANTENNACONTROL_H
2 #define GCP_MEDIATOR_ANTENNACONTROL_H
11 #include "gcp/util/specific/Directives.h"
13 #include "gcp/util/common/GenericTask.h"
14 #include "gcp/util/common/LogMsgHandler.h"
15 #include "gcp/util/common/NetCommHandler.h"
16 #include "gcp/util/common/NetStr.h"
17 #include "gcp/util/common/TcpListener.h"
18 #include "gcp/util/common/TimeVal.h"
20 #include "gcp/mediator/specific/ControlMsg.h"
88 std::vector<gcp::util::NetCommHandler*> connectedHandlers_;
93 std::list<AntennaControlMsg> initScript_;
98 std::list<AntennaControlMsg>::iterator initScriptIter_;
103 bool recordingInitScript_;
108 bool initInProgress_;
122 std::vector<InitState> antennaInitState_;
133 std::vector<ConnectState> antennaConnectState_;
138 std::vector<bool> sendPending_;
145 void setPending(
unsigned iant,
bool pending);
157 struct timeval* timeOut_;
162 unsigned int pending_;
167 bool haveControlConnection(
unsigned short iant);
179 void processMsg(AntennaControlMsg* taskMsg);
186 void processAntennaDriveMsg(AntennaControlMsg* taskMsg);
193 void processTrackerMsg(AntennaControlMsg* taskMsg);
199 void sendRtcNetCmd(AntennaControlMsg* msg);
204 void decrementPending();
209 static NET_SEND_HANDLER(netMsgSentHandler);
214 static NET_SEND_HANDLER(netCmdSentHandler);
220 static NET_ERROR_HANDLER(netErrorHandler);
229 void setInitState(InitState state);
234 void recordInitMsg(AntennaControlMsg* msg);
239 void beginInitScript();
244 void sendNextInitMsg();
249 void endInitScript();
254 void sendNavUpdateMsg();
259 bool haveAntennasReady();
264 void flagAntenna(AntennaControlMsg* msg);
280 void initializeConnection();
285 void finalizeConnection();
295 void terminateConnection(
unsigned short iant,
bool shutdown=
true);
314 static NET_READ_HANDLER(processTemporaryNetMsg);
315 static NET_READ_HANDLER(processNetMsg);
320 void listen(
bool restartListening);
331 void startRecordingInitScript();
336 void stopRecordingInitScript();
343 #endif // End #ifndef
Definition: TcpListener.h:14
Definition: LogMsgHandler.h:25
Definition: NetCommHandler.h:18
Definition: GenericTask.h:33