MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
federationsViewMgr.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "rtiMsConfig.h"
13 #include "assistantMgr.h"
14 #include "assistantInfo.h"
16 #include "forwarderInfo.h"
17 #include "rtiAssistantClient.h"
18 #include <QWidget>
19 #include <vlutil/vlSmartPointers.h>
20 
22 class DtRtiAssistantPeer;
26 class DtAssistantInfo;
36 class QSignalMapper;
39 class DtSyncPtDialog;
40 class DtRIDParameters;
41 class DtWidgetDialog;
42 class DtRidWidget;
43 
48 {
49  Q_OBJECT
50 
51 public:
52 
54  DtAssistantFederationsViewMgr(DtBoost::shared_ptr<DtRtiAssistantServer> server,
55  DtBoost::shared_ptr<DtRtiAssistantPeer> peer,
56  DtAssistantSignalRouter& signalRouter,
57  DtBoost::shared_ptr<DtAssistantComponentMgr> compMgr,
58  DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> connInfoMgr,
59  DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> fedInfoMgr,
60  DtBoost::shared_ptr<DtAssistantForwarderCompInfoMgr> netCompInfoMgr,
61  const MAKRti::DtFilename& configDir);
62 
65 
66 private:
67 
72 
73 public:
74 
76  virtual void tick();
77 
79  virtual void startShutdown();
80 
82  virtual bool dialogsVisible() const;
83 
85  void saveGuiState();
86 
89 
90 
92  static void processExecObserveRspMsg( const DtAssistantExecObserveRspMsg& msg, void* usr );
93 
95  virtual void processExecObserveRspMsg( const DtAssistantExecObserveRspMsg& msg );
96 
98  static void processRtiexecNotifyMsg( const DtAssistantNotifyMsg& msg, void* usr );
99 
101  virtual void processRtiexecNotifyMsg( const DtAssistantNotifyMsg& msg );
102 
104  static void processAwaitingForwardersMsg( const DtAssistantAwaitingForwardersMsg& msg, void* usr );
105 
107  virtual void processAwaitingForwardersMsg( const DtAssistantAwaitingForwardersMsg& msg );
108 
110  static void processRidParamMsg( const DtAssistantRidParamsMsg& msg, void* usr );
111 
113  virtual void processRidParamMsg( const DtAssistantRidParamsMsg& msg );
114 
116  static void processForwardersConnectMsg( const DtAssistantForwarderConnectMsg& msg, void* usr );
117 
119  virtual void processForwardersConnectMsg( const DtAssistantForwarderConnectMsg& msg );
120 
122 
123 
124 protected:
125 
127  virtual void processConnectionRemoval( const DtRtiConnectionInfoDataPair& conn );
128 
130  void logConnectionInfo(std::ofstream& fileStrm);
131 
133  void logFederationInfo(std::ofstream& fileStrm);
134 
136  void logFomInfo(std::ofstream& fileStrm, const std::list<MAKRti::DtString>* foms);
137 
139  void logFederateInfo(std::ofstream& fileStrm, const DtFederateInfoByHandleMap* federates,
140  const DtAssistantForwarderInfo* fwInfo);
141 
145  {
149  MAKRti::DtString federation;
150  unsigned federateHdl;
151  };
152 
155  void showRidDialog(const QString& name, const DtAssistantInfo& assistant,
156  int compId);
157 
159  void createRidDialog(const QString& name, DtCompRidParamDispStruct& dispInfo);
160 
162  void updateRidParams(const DtAssistantInfo& assistant, int compId,
163  const MAKRti::DtString& params, const MAKRti::DtString& filename,
164  const MAKRti::DtString& federation, unsigned federateHdl);
165 
167  virtual void updatePeerForwarders(
170 
172  virtual void updateRtiexecCompInfo(
173  const DtAssistantNetworkCompInfo* newInfo,
174  const DtAssistantNetworkCompInfo* oldInfo);
175 
177  virtual void updateFederateCompInfo(
180  const DtFederationStateByNameMap* federationMap);
181 
184  virtual void updateUnclassifiedComps(
185  const DtAssistantNetworkCompInfoList* newInfo,
186  const DtAssistantNetworkCompInfoList* oldInfo);
187 
188 public slots:
189 
191  void showFederationsView();
192 
194  virtual void sendLogRequest();
195 
197  void connectForeignAssistant(const QString& hostName,
198  const QString& hostIp, const QString& localInterface);
199 
201  void disconnectForeignAssistant(const QString& hostName,
202  const QString& hostIP, const QString& localInterface);
203 
205  void startupRtiexec();
206 
208  void shutdownRtiexec();
209 
211  void startupRtiForwarder();
212 
215  void connectRtiForwarder(const DtRtiConnectionInfo& connection);
216 
218  void shutdownRtiForwarder();
219 
221  void processForwarderAdded( const DtRtiConnectionInfo& conn );
222 
224  void processForwarderConnUpdated( const DtRtiConnectionInfo& conn );
225 
227  void processForwarderUpdated( const DtRtiConnectionInfo& conn );
228 
230  void processForwarderRemoved( const DtRtiConnectionInfo& conn );
231 
234  void processDoNotWaitForForwarders(QWidget* dlg);
235 
238  void processShutDownWaitingForwarder(QWidget* dlg);
239 
240  // Ported from federationsViewMgr
241 
243  void changeViewedConnection( const DtRtiConnectionInfo& conn =
245 
247  void resignFederate( int, const QString& );
248 
250  void destroyFederation( const QString& );
251 
253  void sendNetworkTestingEnableMsg( const QString& fedexName );
254 
256  void sendNetworkTestingDisableMsg( const QString& fedexName );
257 
259  void showLatencyTestDialog( const QString& fedexName, int fedHandle );
260 
262  void processFederationUpdate(const DtRtiConnectionInfo& conn,
263  const MAKRti::DtString& federationName);
264 
266  void processFederationRemoved(const DtRtiConnectionInfo& conn,
267  const MAKRti::DtString& federationName);
268 
270  void processFederateUpdated(const DtRtiConnectionInfo& conn,
271  const MAKRti::DtString& federationName,
272  unsigned federateHandle);
273 
275  void processFederateRemoved(const DtRtiConnectionInfo& conn,
276  const MAKRti::DtString& federationName,
277  unsigned federateHandle);
278 
280  void removeLoadingIndication(const DtRtiConnectionInfo& conn);
281 
283  void saveToLog();
284 
286  void processConnectionsUpdate( const DtRtiConnectionAndConfiguration& conns );
287 
289  void processConnectionsRemoval( const DtRtiConnectionAndConfiguration& conns );
290 
292  void showFederationsViewPreferences();
293 
295  void processFederateSelection(const MAKRti::DtString& federation,
296  int federate);
297 
299  void processRtiexecSelection();
300 
302  void processForwarderSelection(const MAKRti::DtString& fwHostName, int port);
303 
305  void processPeerForwarderSelection(const MAKRti::DtString& fwHostName, int port);
306 
308 
310  void processFederationSelection(const MAKRti::DtString& federation);
311 
313  void processLightweightNodeSelection();
314 
316  void showSyncPtDialog(const MAKRti::DtString& federation);
317 
319  void showFederateStatsDialog(const MAKRti::DtString& federation, int federateHandle);
320 
322  void showFomDialog(const MAKRti::DtString& federation, int federateHandle);
323 
325  void showRtiexecRidParams();
326 
328  void showForwarderRidParams();
329 
331  void showFederateRidParams(const MAKRti::DtString& federation, int federateHandle);
332 
334  void destroyRidParamDialog(QWidget* widget);
335 
337  void sendPendingRidRequest(const DtRtiConnectionInfo& connInfo,
338  const MAKRti::DtString& federationName, unsigned federateHdl,
339  const DtAssistantInfo& astnt, unsigned compId);
340 
342  void showRtiexecLog();
343 
345  void showForwarderLog();
346 
348  void showFederateLog(const MAKRti::DtString& federation, int federateHandle);
349 
351  void removeDefunctFederateFromMap(const MAKRti::DtString& federation, int federateHandle);
352 
354  void processAssistantFound(const DtAssistantInfo& assistant);
355 
357  void processAssistantLost(const DtAssistantInfo& assistant);
358 
359 signals:
360 
362  void aboutDialogRequested();
363 
365  void showPopup(const MAKRti::DtString&, const MAKRti::DtString&,
366  const MAKRti::DtString&);
367 
368  // ported from federationsViewMgr
370  void federateRemovalTimeChanged( float period );
371 
373  void showConfigDialog( DtPreferencesPage pageId );
374 
376  void showLrcLatencyTestDialog( int id );
377 
379  void showRtiexecLatencyTestDialog(
380  const DtRtiConnectionInfoDataPair& connInfo,
381  unsigned int federationHdl, const MAKRti::DtString& federationName,
382  unsigned int federateHdl);
383 
385  void showFederateStatsDialog(const DtRtiConnectionInfo& connInfo,
386  const MAKRti::DtString& federationName, unsigned int federateHdl);
387 
389  void showFomDialog(const DtRtiConnectionInfo& connInfo,
390  const MAKRti::DtString& federationName, unsigned int federateHdl);
391 
392 
394  void requestFederateLoc(const DtRtiConnectionInfo& connInfo,
395  const MAKRti::DtString& federationName, unsigned int federateHdl);
396 
398  void showLogFileDialog( int compId );
399 
401  void queryFederateInfo(const DtRtiConnectionInfo&,
402  const MAKRti::DtString&, unsigned, const DtAssistantFederateInfo**);
403 
405  void internalConnectionQuery(DtAssistantComponentType);
406 
408  void assistantFound(const DtAssistantInfo& assistant);
409 
411  void assistantLost(const DtAssistantInfo& assistant);
412 
414  void queryAssistantInfo(const DtAssistantUuid&, DtAssistantInfo* infoIn);
415 
416 protected:
417 
418  typedef std::map< DtRtiConnectionInfo, DtAssistantInfoSet > DtConnectionToObserversMap;
419 
421  DtBoost::shared_ptr<DtAssistantComponentMgr> myCompMgr;
422 
424  DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> myConnInfoMgr;
425 
427  DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> myFedInfoMgr;
428 
430  DtBoost::shared_ptr<DtAssistantForwarderCompInfoMgr> myNetCompInfoMgr;
431 
434 
437 
439 
442  std::set<std::pair<MAKRti::DtString, unsigned> > myLightweightFederates;
443 
446 
448  MAKRti::DtClock myClock;
449 
453 
457 
458  typedef std::map< DtRtiConnectionInfo, DtForwarderConnStatusDialog* > DtConnectionToFwStatusDialogMap;
461 
464 
467 
470  std::map<MAKRti::DtString, DtSyncPtDialog*> mySyncPtDialogs;
471 
473  QSignalMapper* myRidDialogSignalMapper;
474 
477  typedef std::pair<DtAssistantInfo, int> DtUniqueCompId;
478 
480  typedef std::map<DtUniqueCompId, DtCompRidParamDispStruct> DtRidParmDlgByComp;
481 
484 
486  std::list<DtCompRidParamDispStruct> myPendingFederateRidDialogs;
487 
490  static const int theUpdatePeriod;
491 
493  static const unsigned theMaxLogLoadSize;
494 
496  QString mySavedFile;
497 
498 };

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)