MAK RTIspy API Documentation for HLA 1.3
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  static void processTimeStateEvent( const DtRtiExec& exec, void* usr );
125  virtual void processTimeStateEvent( const DtRtiExec& exec );
126 
128 
130 
131 
133  static void processLatencyTestStatusMsg( const DtRtiMsg& msg, void* usr );
135  virtual void processLatencyTestStatusMsg( const DtTestMgrStatusMsg& msg );
136 
138  static void processLatencyTestResultsMsg( const DtRtiMsg& msg, void* usr );
140  virtual void processLatencyTestResultsMsg( const DtLatencyReportMsg& msg );
142 
144 
145 
148  static void processExecObserveMsg( const DtAssistantStateObserveMsg& msg,
149  void* usr );
152  virtual void processExecObserveMsg( const DtAssistantStateObserveMsg& msg );
153 
155  static void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg,
156  void* usr );
158  virtual void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg );
159 
161  static void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg,
162  void* usr );
164  virtual void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg );
165 
167  static void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg, void* usr );
169  virtual void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg );
170 
172  static void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg,
173  void* usr );
175  virtual void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg );
176 
178  static void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg,
179  void* usr );
181  virtual void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg );
182 
184  static void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg,
185  void* usr );
187  virtual void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg );
188 
190  static void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg,
191  void* usr );
193  virtual void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg );
194 
196  static void processLogRequestMsg( const DtAssistantLogRequestMsg& msg,
197  void* usr );
199  virtual void processLogRequestMsg( const DtAssistantLogRequestMsg& msg );
200 
202  static void processExitCmndMsg( const DtAssistantExitMsg& msg, void* usr );
204  virtual void processExitCmndMsg( const DtAssistantExitMsg& msg );
205 
207  static void processAssistantDisconnect( void* usr );
209  virtual void processAssistantDisconnect();
211 
213  bool gotConnInfoFromAssistant();
214 
215 protected:
216 
218  virtual void addCallbacks();
219 
222  virtual void removeCallbacks();
223 
225  void fillFederateTimeStateInfo( DtAssistantFederateInfo& stateInfo,
226  unsigned long connId, const MAKRti::DtString& fedType, const MAKRti::DtString& fedName,
227  DtFederateHandle fedHandle, const MAKRti::DtString& fedHostName,
228  const MAKRti::DtInetAddr& fedHost, DtHlaVersionId hlaVersion,
229  int astntCompId, const DtFedExec& fedExec );
230 
232  virtual void sendConnectionInfo( bool isConnected );
233 
234 protected:
235 
237  DtBoost::shared_ptr<DtRtiAssistantExecClient> myAssistantClient;
238 
241 
244 
246  DtBoost::shared_ptr<DtPrinterBuf> myPrinterBuffer;
247 
249  DtBoost::shared_ptr<DtRtiexecCmdProc> myCmdProc;
250 
253 
256 
259 
262 
264  MAKRti::DtTime myMinTimeBetweenUpdates;
265 
268 
271 
274 
276 
278  MAKRti::DtInetAddr myForwarderToConnectTo;
280 };
281 
283 {
285 }
286 
287 #endif
288 
289 

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)