MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
execObserverForAssistant.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "execObserver.h"
13 #include "execCmdProc.h"
14 #include <rtiMsConfig.h>
15 #include <vlutil/vlUtil.h>
16 #include <vlutil/vlTime.h>
17 #include <vlutil/vlInetAddr.h>
18 #include <RIDparams.h>
19 #include <testMgrStatusMsg.h>
20 #include <latencyReportMsg.h>
21 #include <federationInfo.h>
23 #include <map>
24 #include <vector>
25 #include <list>
26 
27 class DtRtiMsg;
29 class DtAssistantPrinter;
30 class DtBufferPrinter;
31 class DtPrinterBuf;
34 class DtAssistantExitMsg;
44 
50 {
51 public:
52 
55 
58 
62  virtual void initialize( DtRIDParameters* params,
63  DtBoost::shared_ptr<DtRtiexecCmdProc> cmdProc );
64 
66  virtual void startObservation();
67 
70 
72  static void tick( void* usr );
73 
75  virtual void tick();
76 
78 
81  virtual void queryForConnectionInfo( DtRtiConnectionInfoDataPair& connInfo,
83 
85  virtual void performParameterOverrides( DtRIDParameters& ridParams ) const;
86 
89  virtual void setForwarderInfo( int forwarderPort,
90  const MAKRti::DtInetAddr& forwarderToConnectTo );
91 
93  virtual void enableNotifications();
94 
96  virtual void disableNotifications();
97 
100 
102  virtual void processFedExCreatedEvent( DtFedExec* exec );
103 
105  virtual void processFedExDestroyedEvent( DtFedExec* exec );
106 
108  virtual void processFederateJoinedEvent( DtFedExec* exec, DtFederate* federate );
109 
111  virtual void processFederateResignedEvent( DtFedExec* exec, DtFederate* federate );
112 
114  virtual void processSyncPtRegisteredEvent( DtFedExec* exec, DtSyncPt* pt );
115 
117  virtual void processFederationSynchronizedEvent( DtFedExec* exec, DtSyncPt* pt );
118 
120  virtual void processSyncPtAchievedEvent( DtFedExec* exec, DtFederate* federate, DtSyncPt* pt );
121 
123  virtual void processFederateDisconnectedEvent( DtFedExec* exec, DtFederate* federate );
124 
126  virtual void processFederateReconnectSucceededEvent( DtFedExec* exec, DtFederate* federate );
127 
129  virtual void processFederateReconnectFailedEvent( DtFedExec* exec, DtFederate* federate );
130 
132  virtual void processLogFileUpdatedEvent( const MAKRti::DtFilename& logFile );
133 
135  static void processTimeStateEvent( const DtRtiExec& exec, void* usr );
137  virtual void processTimeStateEvent( const DtRtiExec& exec );
138 
140 
143 
145  static void processLatencyTestStatusMsg( const DtRtiMsg& msg, void* usr );
147  virtual void processLatencyTestStatusMsg( const DtTestMgrStatusMsg& msg );
148 
150  static void processLatencyTestResultsMsg( const DtRtiMsg& msg, void* usr );
152  virtual void processLatencyTestResultsMsg( const DtLatencyReportMsg& msg );
153 
155 
158 
160  static void processExecObserveMsg( const DtAssistantStateObserveMsg& msg, void* usr );
162  virtual void processExecObserveMsg( const DtAssistantStateObserveMsg& msg );
163 
165  static void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg, void* usr );
167  virtual void processDeleteFederateMsg( const DtAssistantDeleteFederateMsg& msg );
168 
170  static void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg, void* usr );
172  virtual void processDeleteFederationMsg( const DtAssistantDeleteFederationMsg& msg );
173 
175  static void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg, void* usr );
177  virtual void processEnableLoggingMsg( const DtAssistantLogEnableMsg& msg );
178 
180  static void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg, void* usr );
182  virtual void processNotifyLevelChangeMsg( const DtAssistantNtfyLvlUpdateMsg& msg );
183 
185  static void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg, void* usr );
187  virtual void processNetworkTestingEnableMsg( const DtAssistantNetworkTestEnableMsg& msg );
188 
190  static void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg, void* usr );
192  virtual void processLatencyTestCmndMsg( const DtAssistantChangeLatencyTestModeMsg& msg );
193 
195  static void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg, void* usr );
197  virtual void processRidParamRequestMsg( const DtAssistantRidParamsMsg& msg );
198 
200  static void processLogRequestMsg( const DtAssistantLogRequestMsg& msg, void* usr );
202  virtual void processLogRequestMsg( const DtAssistantLogRequestMsg& msg );
203 
205  static void processExitCmndMsg( const DtAssistantExitMsg& msg, void* usr );
207  virtual void processExitCmndMsg( const DtAssistantExitMsg& msg );
208 
210  static void processAssistantDisconnect( void* usr );
212  virtual void processAssistantDisconnect();
213 
215 
217  bool gotConnInfoFromAssistant();
218 
219  virtual void sendTrayNotification( const MAKRti::DtString& text, DtNotifyLevelType notifyLevel );
220 
221  inline const DtRIDParameters* ridParams() const { return myParams; }
222  inline DtRIDParameters* ridParams() { return myParams; }
223 
224 protected:
225 
227  virtual void addCallbacks();
228 
231  virtual void removeCallbacks();
232 
234  void fillFederateTimeStateInfo( DtAssistantFederateInfo& stateInfo,
235  unsigned long connId, const MAKRti::DtString& fedType, const MAKRti::DtString& fedName,
236  DtFederateHandle fedHandle, const MAKRti::DtString& fedHostName,
237  const MAKRti::DtInetAddr& fedHost, DtHlaVersionId hlaVersion,
238  int astntCompId, const DtFedExec& fedExec );
239 
241  virtual void sendConnectionInfo( bool isConnected );
242 
243 protected:
244 
246  DtBoost::shared_ptr<DtRtiAssistantExecClient> myAssistantClient;
247 
250 
253 
255  DtBoost::shared_ptr<DtPrinterBuf> myPrinterBuffer;
256 
258  DtBoost::shared_ptr<DtRtiexecCmdProc> myCmdProc;
259 
262 
265 
268 
271 
273  MAKRti::DtTime myMinTimeBetweenUpdates;
274 
277 
280 
283 
286 
288  MAKRti::DtInetAddr myForwarderToConnectTo;
289 
291 
292 };
293 
294 
296 {
298 }

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)