MAK RTIspy API Documentation for HLA Evolved
execObserverForAssistant.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: execObserverForAssistant.h,v $ $Revision: 1.11 $ $State: Exp $
7 *******************************************************************************/
8 
9 
12 
13 #ifndef execObserverForAssistant_H_
14 #define execObserverForAssistant_H_
15 
16 #include "execObserver.h"
17 #include "execCmdProc.h"
18 #include <rtiMsConfig.h>
19 #include <vlutil/vlUtil.h>
20 #include <vlutil/vlTime.h>
21 #include <vlutil/vlInetAddr.h>
22 #include <RIDparams.h>
23 #include <testMgrStatusMsg.h>
24 #include <latencyReportMsg.h>
25 #include <federationInfo.h>
27 #include <map>
28 #include <vector>
29 #include <list>
30 
31 class DtRtiMsg;
33 class DtAssistantPrinter;
34 class DtBufferPrinter;
35 class DtPrinterBuf;
38 class DtAssistantExitMsg;
48 
55 {
56 
57 public:
60 
62  virtual void initialize( DtRIDParameters* params,
63  DtBoost::shared_ptr<DtRtiexecCmdProc> cmdProc );
64 
66  virtual void startObservation();
67 
69 
70 
71  static void tick( void* usr );
73  virtual void tick();
74 
75  virtual void queryForConnectionInfo(DtRtiConnectionInfoDataPair& connInfo,
77 
80  virtual void setForwarderInfo( int forwarderPort,
81  const MAKRti::DtInetAddr& forwarderToConnectTo );
82 
84  virtual void enableNotifications();
85 
87  virtual void disableNotifications();
88 
90  virtual void processFedExCreatedEvent( DtFedExec* exec );
91 
93  virtual void processFedExDestroyedEvent( DtFedExec* exec );
94 
96  virtual void processFederateJoinedEvent( DtFedExec* exec, DtFederate* federate );
97 
99  virtual void processFederateResignedEvent( DtFedExec* exec, DtFederate* federate );
100 
102  virtual void processSyncPtRegisteredEvent( DtFedExec* exec, DtSyncPt* pt );
103 
105  virtual void processFederationSynchronizedEvent( DtFedExec* exec, DtSyncPt* pt );
106 
108  virtual void processSyncPtAchievedEvent( DtFedExec* exec, DtFederate* federate, DtSyncPt* pt );
109 
111  virtual void processFederateDisconnectedEvent( DtFedExec* exec, DtFederate* federate );
112 
114  virtual void processFederateReconnectSucceededEvent( DtFedExec* exec, DtFederate* federate );
115 
117  virtual void processFederateReconnectFailedEvent( DtFedExec* exec, DtFederate* federate );
118 
120  virtual void processLogFileUpdatedEvent( const MAKRti::DtFilename& logFile );
121 
123  virtual void processWebServerUpdatedEvent( const MAKRti::DtInetAddr& webSpyIpAddr,
124  int webSpyPort );
125 
127  static void processTimeStateEvent( const DtRtiExec& exec, void* usr );
129  virtual void processTimeStateEvent( const DtRtiExec& exec );
130 
132 
134 
135 
137  static void processLatencyTestStatusMsg( const DtRtiMsg& msg, void* usr );
139  virtual void processLatencyTestStatusMsg( const DtTestMgrStatusMsg& msg );
140 
142  static void processLatencyTestResultsMsg( const DtRtiMsg& msg, void* usr );
144  virtual void processLatencyTestResultsMsg( const DtLatencyReportMsg& msg );
146 
148 
149 
152  static void processExecObserveMsg( const DtAssistantStateObserveMsg& msg,
153  void* usr );
156  virtual void processExecObserveMsg( const DtAssistantStateObserveMsg& msg );
157 
159  static void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg,
160  void* usr );
162  virtual void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg );
163 
165  static void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg,
166  void* usr );
168  virtual void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg );
169 
171  static void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg, void* usr );
173  virtual void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg );
174 
176  static void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg,
177  void* usr );
179  virtual void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg );
180 
182  static void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg,
183  void* usr );
185  virtual void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg );
186 
188  static void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg,
189  void* usr );
191  virtual void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg );
192 
194  static void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg,
195  void* usr );
197  virtual void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg );
198 
200  static void processLogRequestMsg( const DtAssistantLogRequestMsg& msg,
201  void* usr );
203  virtual void processLogRequestMsg( const DtAssistantLogRequestMsg& msg );
204 
206  static void processExitCmndMsg( const DtAssistantExitMsg& msg, void* usr );
208  virtual void processExitCmndMsg( const DtAssistantExitMsg& msg );
209 
211  static void processAssistantDisconnect( void* usr );
213  virtual void processAssistantDisconnect();
215 
217  bool gotConnInfoFromAssistant();
218 
219 protected:
220 
222  virtual void addCallbacks();
223 
226  virtual void removeCallbacks();
227 
229  void fillFederateTimeStateInfo( DtAssistantFederateInfo& stateInfo,
230  unsigned long connId, const MAKRti::DtString& fedType, const MAKRti::DtString& fedName,
231  DtFederateHandle fedHandle, const MAKRti::DtString& fedHostName,
232  const MAKRti::DtInetAddr& fedHost, DtHlaVersionId hlaVersion,
233  int astntCompId, const DtFedExec& fedExec,
234  const MAKRti::DtInetAddr& fedWebServHost, int fedWebServPort );
235 
237  virtual void sendConnectionInfo( bool isConnected );
238 
239 protected:
240 
242  DtBoost::shared_ptr<DtRtiAssistantExecClient> myAssistantClient;
243 
246 
249 
251  DtBoost::shared_ptr<DtPrinterBuf> myPrinterBuffer;
252 
254  DtBoost::shared_ptr<DtRtiexecCmdProc> myCmdProc;
255 
258 
261 
264 
267 
269  MAKRti::DtTime myMinTimeBetweenUpdates;
270 
273 
276 
279 
281 
283  MAKRti::DtInetAddr myForwarderToConnectTo;
285 };
286 
288 {
290 }
291 
292 #endif
293 
294 

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)