MAK RTIspy API Documentation for HLA 1516
 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(std::shared_ptr<DtRtiAssistantServer> server,
55  std::shared_ptr<DtRtiAssistantPeer> peer,
56  DtAssistantSignalRouter& signalRouter,
57  std::shared_ptr<DtAssistantComponentMgr> compMgr,
58  std::shared_ptr<DtAssistantConnectionInfoMgr> connInfoMgr,
59  std::shared_ptr<DtAssistantFederationsInfoMgr> fedInfoMgr,
60  std::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  std::shared_ptr<DtAssistantComponentMgr> myCompMgr;
422 
424  std::shared_ptr<DtAssistantConnectionInfoMgr> myConnInfoMgr;
425 
427  std::shared_ptr<DtAssistantFederationsInfoMgr> myFedInfoMgr;
428 
430  std::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 };
Compiles network component information from RTI Forwarders.
Definition: networkCompInfoMgr.h:37
static const unsigned theMaxLogLoadSize
The maximum number of bytes that can be requested from an rtiexec log.
Definition: federationsViewMgr.h:493
QSignalMapper * myRidDialogSignalMapper
Maps the close signals for RID parameter dialogs.
Definition: federationsViewMgr.h:473
This file contains the declaration of DtAssistantInfo.
std::list< DtCompRidParamDispStruct > myPendingFederateRidDialogs
Our federate RID parameter dialogs which are currently loading.
Definition: federationsViewMgr.h:486
The DtAssistantNotifyMsg defines a wrapper for the RTI Assistant notify message used to send informat...
Definition: assistantNotifyMsg.h:32
DtPreferencesPage
Definition: assistantEnums.h:17
QSignalMapper * myFwStatusAcceptSigMapper
Signal mapper for DtForwarderConnStatusDialog accepted signals.
Definition: federationsViewMgr.h:463
DtUuid DtAssistantUuid
Definition: assistantUtil.h:17
MAKRti::DtClock myClock
Clock used to determine if we need to resend lost messages.
Definition: federationsViewMgr.h:448
static const DtRtiConnectionInfo & invalidConn()
Returns an invalid connection.
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
DtRIDParameters * ridParams
Definition: federationsViewMgr.h:146
At startup all of the assistant manager classes will register their signals and slots with the signal...
Definition: assistantSignalRouter.h:29
std::map< DtInetAddrAndPort, DtAssistantNetworkCompInfo > DtPeerForwarderByAddrMap
Typedefs for information storage.
Definition: forwarderInfo.h:151
This file contains the declaration of DtRtiConnectionInfo.
Stores basic information about a remote assistant.
Definition: assistantInfo.h:96
std::shared_ptr< DtAssistantConnectionInfoMgr > myConnInfoMgr
The connection info manager.
Definition: federationsViewMgr.h:424
std::pair< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataPair
Pair of connection with associated data.
Definition: assistantConnectionInfo.h:29
bool myReceivedRemoteForwarderInfo
Indicates if we have yet received an update on a remote Forwarder we are currently viewing...
Definition: federationsViewMgr.h:452
virtual bool dialogsVisible() const
Determines if there are any visible dialogs for which this manager is responsible.
DtAssistantForwarderInfo myCurrentForwarderInfo
The information on the currently displayed forwarder connection.
Definition: federationsViewMgr.h:436
std::pair< DtAssistantInfo, int > DtUniqueCompId
The assistant information and component ID of a component uniquely identify it across the entire netw...
Definition: federationsViewMgr.h:477
static const int theUpdatePeriod
The period, in seconds, to send updates on remotely observed federations that have been updated...
Definition: federationsViewMgr.h:490
unsigned federateHdl
Definition: federationsViewMgr.h:150
virtual void startShutdown()
Performs any necessary processing at the start of shutdown.
Definition: assistantMgr.h:62
DtRtiConnectionInfo myViewedConnection
The connection currently being viewed at this Assistant.
Definition: federationsViewMgr.h:433
Stores information on a known federate.
Definition: federateInfo.h:21
Stores information on a single component connected to a forwarder.
Definition: forwarderInfo.h:24
std::map< DtRtiConnectionInfo, DtAssistantInfoSet > DtConnectionToObserversMap
Definition: federationsViewMgr.h:418
DtConnectionToFwStatusDialogMap myFwStatusDlgMap
The map of forwarder connection info to forwarder status dialogs.
Definition: federationsViewMgr.h:460
std::map< int, DtAssistantFederateInfo > DtFederateInfoByHandleMap
Map of federate handles to federate info.
Definition: federationInfo.h:28
Base class for all classes which perform management activities for the Assistant. ...
Definition: assistantMgr.h:31
std::map< MAKRti::DtString, DtSyncPtDialog * > mySyncPtDialogs
The dialogs which show sync point information for a particular federation, indexed by federation name...
Definition: federationsViewMgr.h:470
std::shared_ptr< DtAssistantComponentMgr > myCompMgr
The local RTI component manager.
Definition: federationsViewMgr.h:421
This file contains the declaration of DtAssistantMgr.
MAKRti::DtTime myRemoteForwarderInfoTimeout
Time at which we assume our request to observe a remote Forwarder was lost, causing us to resend it...
Definition: federationsViewMgr.h:456
DtRtiAssistantPeer manages the sharing of information between one Assistant to other Assistants using...
Definition: rtiAssistantPeer.h:82
Contains the DtRtiAssistantClient class declaration.
Maintains lists of known RTI connections.
Definition: connInfoMgr.h:49
MAKRti::DtString federation
Definition: federationsViewMgr.h:149
Manages the server connections of the RTI Assistant.
Definition: rtiAssistantServer.h:45
Compiles federation information from rtiexecs and LRCs.
Definition: federationsInfoMgr.h:50
The DtAssistantAwaitingForwardersMsg defines a wrapper for the RTI Assistant message sent to an assis...
Definition: assistantAwaitingFwsMsg.h:36
DtAssistantMgr & operator=(DtAssistantMgr const &)
Assignment not implemented – Assignment Not Allowed!
std::map< DtRtiConnectionInfo, DtForwarderConnStatusDialog * > DtConnectionToFwStatusDialogMap
Definition: federationsViewMgr.h:458
DtWidgetDialog * ridDialog
Definition: federationsViewMgr.h:147
QString mySavedFile
The previously saved file name.
Definition: federationsViewMgr.h:496
virtual void tick()
Performs tasks that need to be completed periodically.
Definition: assistantMgr.h:59
DtRidWidget provides an interface for getting RID settings.
Definition: ridWidget.h:25
Definition: syncPtDialog.h:17
Dialog to be displayed when a local forwarder is waiting for remote forwarders to connect...
Definition: forwarderConnStatusDialog.h:20
std::map< DtFedexNameFedHdlPair, DtAssistantNetworkCompInfo > DtCompByFederationAndHandleMap
Typedefs for information storage.
Definition: forwarderInfo.h:149
std::shared_ptr< DtAssistantForwarderCompInfoMgr > myNetCompInfoMgr
The federations info manager.
Definition: federationsViewMgr.h:430
The DtAssistantExecObserveRspMsg defines a wrapper for the RTI Assistant rtiexec observe response mes...
Definition: assistantExecObserveRspMsg.h:32
void showPopup(const MAKRti::DtString &text, int sourceCompId=-1, const MAKRti::DtString &advancedText=MAKRti::DtString::nullString())
Displays a popup message with the given text, advanced text, and name of the given source component...
The DtAssistantRidParamsMsg defines a wrapper for the RTI Assistant RID parameter message used by the...
Definition: assistantRidParamsMsg.h:33
Compiles federation information from rtiForwarders and displays federation view dialogs.
Definition: federationsViewMgr.h:47
A generic dialog which houses a single widget.
Definition: widgetDialog.h:21
std::shared_ptr< DtAssistantFederationsInfoMgr > myFedInfoMgr
The federations info manager.
Definition: federationsViewMgr.h:427
DtRidWidget * ridWidget
Definition: federationsViewMgr.h:148
#define DT_DLL_ASSISTANTAPP
Definition: rtiMsConfig.h:151
DtAssistantComponentType
Definition: rtiAssistantClient.h:32
Stores the information on an RTI connection and possibly matching configuration known by the Assistan...
Definition: connectionAndConfiguration.h:22
DtFederationsViewDialog * myFederationsViewDialog
The dialog to display the federations view.
Definition: federationsViewMgr.h:445
The DtAssistantForwarderConnectMsg defines a wrapper for the RTI Assistant forwarder connect message ...
Definition: assistantForwarderConnectMsg.h:35
Structure to hold all information to display RID parameters for a single component.
Definition: federationsViewMgr.h:144
Definition: federationsViewDialog.h:46
const DtAssistantForwarderInfo myEmptyForwaderInfo
Definition: federationsViewMgr.h:438
DtRidParmDlgByComp myRidParamDialogs
A map of all of our open RID parameter dialogs.
Definition: federationsViewMgr.h:483
std::map< DtUniqueCompId, DtCompRidParamDispStruct > DtRidParmDlgByComp
Map of component IDs to their RID param dialog info.
Definition: federationsViewMgr.h:480
std::map< MAKRti::DtString, DtAssistantFederationInfo > DtFederationStateByNameMap
Definition: federationInfo.h:138
Processes information on each local RTI component that is connected to this Assistant.
Definition: componentMgr.h:38
Stores the current state of a single forwarder.
Definition: forwarderInfo.h:123
std::list< DtAssistantNetworkCompInfo > DtAssistantNetworkCompInfoList
Definition: forwarderInfo.h:120
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
QSignalMapper * myFwStatusRejectSigMapper
Signal mapper for DtForwarderConnStatusDialog rejected signals.
Definition: federationsViewMgr.h:466
std::set< std::pair< MAKRti::DtString, unsigned > > myLightweightFederates
The federations and handles of the currently displayed lightweight federates.
Definition: federationsViewMgr.h:442

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)