MAK RTIspy API Documentation for HLA 1.3
federationsViewMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef federationsViewMgr_H_
7 #define federationsViewMgr_H_
8 
11 
12 #include "rtiMsConfig.h"
13 #include "assistantMgr.h"
14 #include "assistantInfo.h"
16 #include "forwarderInfo.h"
17 #include <qwidget.h>
18 #include <vlutil/vlSmartPointers.h>
19 
21 class DtRtiAssistantPeer;
25 class DtAssistantInfo;
39 class DtAssistantLogMsg;
44 class QSignalMapper;
47 class DtSyncPtDialog;
48 class DtRIDParameters;
49 class DtWidgetDialog;
50 class DtRidWidget;
51 
56 {
57  Q_OBJECT
58 
59 public:
60 
62  DtAssistantFederationsViewMgr(DtBoost::shared_ptr<DtRtiAssistantServer> server,
63  DtBoost::shared_ptr<DtRtiAssistantPeer> peer,
64  DtAssistantSignalRouter& signalRouter,
65  DtBoost::shared_ptr<DtAssistantComponentMgr> compMgr,
66  DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> connInfoMgr,
67  DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> fedInfoMgr,
68  DtBoost::shared_ptr<DtAssistantNetworkCompInfoMgr> netCompInfoMgr,
69  const MAKRti::DtFilename& configDir);
70 
73 
74 private:
75 
80 
81 public:
82 
84  virtual void tick();
85 
87  virtual void startShutdown();
88 
90  virtual bool dialogsVisible() const;
91 
93  void saveGuiState();
94 
97 
98 
100  static void processExecObserveRspMsg( const DtAssistantExecObserveRspMsg& msg, void* usr );
101 
103  virtual void processExecObserveRspMsg( const DtAssistantExecObserveRspMsg& msg );
104 
106  static void processRtiexecNotifyMsg( const DtAssistantNotifyMsg& msg, void* usr );
107 
109  virtual void processRtiexecNotifyMsg( const DtAssistantNotifyMsg& msg );
110 
112  static void processAwaitingForwardersMsg( const DtAssistantAwaitingForwardersMsg& msg, void* usr );
113 
115  virtual void processAwaitingForwardersMsg( const DtAssistantAwaitingForwardersMsg& msg );
117 
118  // Ported from federationsViewMgr
120  static void processRidParamMsg( const DtAssistantRidParamsMsg& msg, void* usr );
121 
123  virtual void processRidParamMsg( const DtAssistantRidParamsMsg& msg );
124 
125 
126 protected:
127 
129  virtual void processConnectionRemoval( const DtRtiConnectionInfoDataPair& conn );
130 
132  void logConnectionInfo(std::ofstream& fileStrm);
133 
135  void logFederationInfo(std::ofstream& fileStrm);
136 
138  void logFomInfo(std::ofstream& fileStrm, const std::list<MAKRti::DtString>* foms);
139 
141  void logFederateInfo(std::ofstream& fileStrm, const DtFederateInfoByHandleMap* federates,
142  const DtAssistantForwarderInfo* fwInfo);
143 
147  {
151  MAKRti::DtString federation;
152  unsigned federateHdl;
153  };
154 
157  void showRidDialog(const QString& name, const DtAssistantInfo& assistant,
158  int compId);
159 
161  void createRidDialog(const QString& name, DtCompRidParamDispStruct& dispInfo);
162 
164  void updateRidParams(const DtAssistantInfo& assistant, int compId,
165  const MAKRti::DtString& params, const MAKRti::DtString& filename,
166  const MAKRti::DtString& federation, unsigned federateHdl);
167 
169  virtual void updatePeerForwarders(
172 
174  virtual void updateRtiexecCompInfo(
175  const DtAssistantNetworkCompInfo* newInfo,
176  const DtAssistantNetworkCompInfo* oldInfo);
177 
179  virtual void updateFederateCompInfo(
182  const DtFederationStateByNameMap* federationMap);
183 
186  virtual void updateUnclassifiedComps(
187  const DtAssistantNetworkCompInfoList* newInfo,
188  const DtAssistantNetworkCompInfoList* oldInfo);
189 
190 public slots:
191 
193  void showFederationsView();
194 
196  virtual void sendLogRequest();
197 
199  void shutdownRtiexec();
200 
202  void shutdownRtiForwarder();
203 
205  void processForwarderAdded( const DtRtiConnectionInfo& conn );
206 
208  void processForwarderConnUpdated( const DtRtiConnectionInfo& conn );
209 
211  void processForwarderUpdated( const DtRtiConnectionInfo& conn );
212 
214  void processForwarderRemoved( const DtRtiConnectionInfo& conn );
215 
218  void processDoNotWaitForForwarders(QWidget* dlg);
219 
222  void processShutDownWaitingForwarder(QWidget* dlg);
223 
224  // Ported from federationsViewMgr
225 
227  void changeViewedConnection( const DtRtiConnectionInfo& conn =
229 
231  void resignFederate( int, const QString& );
232 
234  void destroyFederation( const QString& );
235 
237  void showRtiexecWebSpy();
238 
240  void showFederateWebSpy( const QString& fedexName, int fedHandle );
241 
243  void sendNetworkTestingEnableMsg( const QString& fedexName );
244 
246  void sendNetworkTestingDisableMsg( const QString& fedexName );
247 
249  void showLatencyTestDialog( const QString& fedexName, int fedHandle );
250 
252  void processFederationUpdate(const DtRtiConnectionInfo& conn,
253  const MAKRti::DtString& federationName);
254 
256  void processFederationRemoved(const DtRtiConnectionInfo& conn,
257  const MAKRti::DtString& federationName);
258 
260  void processFederateUpdated(const DtRtiConnectionInfo& conn,
261  const MAKRti::DtString& federationName,
262  unsigned federateHandle);
263 
265  void processFederateRemoved(const DtRtiConnectionInfo& conn,
266  const MAKRti::DtString& federationName,
267  unsigned federateHandle);
268 
270  void removeLoadingIndication(const DtRtiConnectionInfo& conn);
271 
273  void saveToLog();
274 
276  void processConnectionsUpdate( const DtRtiConnectionAndConfiguration& conns );
277 
279  void processConnectionsRemoval( const DtRtiConnectionAndConfiguration& conns );
280 
282  void showFederationsViewPreferences();
283 
285  void processFederateSelection(const MAKRti::DtString& federation,
286  int federate);
287 
289  void processRtiexecSelection();
290 
292  void processForwarderSelection(const MAKRti::DtString& fwName);
293 
295  void processPeerForwarderSelection(const MAKRti::DtString& fwName);
296 
298  void processFederationSelection(const MAKRti::DtString& federation);
299 
301  void processLightweightNodeSelection();
302 
304  void showSyncPtDialog(const MAKRti::DtString& federation);
305 
307  void showFederateStatsDialog(const MAKRti::DtString& federation, int federateHandle);
308 
310  void showFomDialog(const MAKRti::DtString& federation, int federateHandle);
311 
313  void showRtiexecRidParams();
314 
316  void showForwarderRidParams();
317 
319  void showFederateRidParams(const MAKRti::DtString& federation, int federateHandle);
320 
322  void destroyRidParamDialog(QWidget* widget);
323 
325  void sendPendingRidRequest(const DtRtiConnectionInfo& connInfo,
326  const MAKRti::DtString& federationName, unsigned federateHdl,
327  const DtAssistantInfo& astnt, unsigned compId);
328 
330  void showRtiexecLog();
331 
333  void showForwarderLog();
334 
336  void showFederateLog(const MAKRti::DtString& federation, int federateHandle);
337 
339  void removeDefunctFederateFromMap(const MAKRti::DtString& federation, int federateHandle);
340 
341 signals:
342 
344  void aboutDialogRequested();
345 
347  void showPopup(const MAKRti::DtString&, const MAKRti::DtString&,
348  const MAKRti::DtString&);
349 
350  // ported from federationsViewMgr
352  void federateRemovalTimeChanged( float period );
353 
355  void showConfigDialog( DtPreferencesPage pageId );
356 
358  void showComponentWebSpy( const MAKRti::DtString&, int, int );
359 
361  void showLrcLatencyTestDialog( int id );
362 
364  void showRtiexecLatencyTestDialog(
365  const DtRtiConnectionInfoDataPair& connInfo,
366  unsigned int federationHdl, const MAKRti::DtString& federationName,
367  unsigned int federateHdl);
368 
370  void showFederateStatsDialog(const DtRtiConnectionInfo& connInfo,
371  const MAKRti::DtString& federationName, unsigned int federateHdl);
372 
374  void showFomDialog(const DtRtiConnectionInfo& connInfo,
375  const MAKRti::DtString& federationName, unsigned int federateHdl);
376 
377 
379  void requestFederateLoc(const DtRtiConnectionInfo& connInfo,
380  const MAKRti::DtString& federationName, unsigned int federateHdl);
381 
383  void showLogFileDialog( int compId );
384 
386  void queryFederateInfo(const DtRtiConnectionInfo&,
387  const MAKRti::DtString&, unsigned, const DtAssistantFederateInfo**);
388 
389 protected:
390 
391  typedef std::map< DtRtiConnectionInfo, DtAssistantInfoSet > DtConnectionToObserversMap;
392 
394  DtBoost::shared_ptr<DtAssistantComponentMgr> myCompMgr;
395 
397  DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> myConnInfoMgr;
398 
400  DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> myFedInfoMgr;
401 
403  DtBoost::shared_ptr<DtAssistantNetworkCompInfoMgr> myNetCompInfoMgr;
404 
407 
410 
413  std::set<std::pair<MAKRti::DtString, unsigned> > myLightweightFederates;
414 
417 
419  MAKRti::DtClock myClock;
420 
424 
428 
429  typedef std::map< DtRtiConnectionInfo, DtForwarderConnStatusDialog* > DtConnectionToFwStatusDialogMap;
432 
435 
438 
441  std::map<MAKRti::DtString, DtSyncPtDialog*> mySyncPtDialogs;
442 
444  QSignalMapper* myRidDialogSignalMapper;
445 
448  typedef std::pair<DtAssistantInfo, int> DtUniqueCompId;
449 
451  typedef std::map<DtUniqueCompId, DtCompRidParamDispStruct> DtRidParmDlgByComp;
452 
455 
457  std::list<DtCompRidParamDispStruct> myPendingFederateRidDialogs;
458 
461  static const int theUpdatePeriod;
462 
464  static const unsigned theMaxLogLoadSize;
465 
466 
467  // Stuff ported from federationsViewMgr.h
468 
470  MAKRti::DtInetAddr myViewedRtiexecWebServerIp;
471 
474 
476  QString mySavedFile;
477 
478 };
479 
480 #endif
481 

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)