MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
federateViewMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef federateViewMgr_H_
7 #define federateViewMgr_H_
8 
9 #include "rtiMsConfig.h"
10 #include "assistantMgr.h"
11 #include "assistantSignalRouter.h"
12 #include "rtiVersion.h"
13 #include "compInfo.h"
15 
16 #include <vlutil/vlFilename.h>
19 
22 
36 
37 typedef std::map< unsigned int, MAKRti::DtString > DtNamesByHandleMap;
38 typedef std::map< unsigned int, DtNamesByHandleMap > DtNameByHandleMapByLrcCompIdMap;
39 
40 typedef std::pair<DtAssistantInfo, unsigned int> DtAssistantInfoCompIdPair;
41 typedef std::pair<MAKRti::DtString, unsigned int> DtFederationNameFederateHandlePair;
42 typedef std::pair<DtRtiConnectionInfo, DtFederationNameFederateHandlePair> DtConnectionInfoFederationNameFederateHandleTriple;
43 
44 #define DtAssistantInvalidCompId -1
48 {
49  Q_OBJECT
50 
51 public:
53  DtAssistantFederateViewMgr(std::shared_ptr<DtRtiAssistantServer> server,
54  std::shared_ptr<DtRtiAssistantPeer> peer,
55  DtAssistantSignalRouter& signalRouter,
56  const MAKRti::DtFilename& configDir);
57 
60 
62  virtual void startShutdown();
63 
64 public slots:
65 
67  void showFederateStatsDialog( const DtRtiConnectionInfo& connInfo,
68  const MAKRti::DtString& federationName, unsigned int federateHandle );
69 
72  void processFederateRemoval( const DtAssistantComponentInfo* comp );
73 
76  void processFederateRemoval( const DtRtiConnectionInfo& conn,
77  const MAKRti::DtString& federationName, unsigned federateHandle );
78 
80  void sendFederateObservationRequest(const DtRtiConnectionInfo& connInfo,
81  const MAKRti::DtString& federationName, unsigned federateHdl,
82  const DtAssistantInfo& astnt, unsigned compId);
83 
84  void processLocalRtiComponentConnected( const DtAssistantComponentInfo* compInfo);
85  void processLocalRtiComponentDisconnected( const DtAssistantComponentInfo* compInfo);
86 
87  void handleObsRspFederateStatDlgUpdate( const DtAssistantInfo& observer, int compId, bool response );
88 
89  void federateStatDlgClosing(const DtAssistantInfo& astnt, int compId,
90  const MAKRti::DtString& federationName, int federateHandle, const DtRtiConnectionInfo& connInfo);
91 
93  void federateIdentifierUpdated( unsigned int );
94 
96  void lrcNetStatsUpdateIntervalUpdated( unsigned int );
97 
98 signals:
99 
101  void queryFederateInfo(const DtRtiConnectionInfo& conn,
102  const MAKRti::DtString& federationName,
103  unsigned federateHandle, const DtAssistantFederateInfo** info);
104 
106  void queryForwarderInfo(const DtRtiConnectionInfo& conn,
107  const DtAssistantForwarderInfo** info);
108 
110  void queryPeerForwarderInfo(const DtRtiConnectionInfo&,
111  std::vector<DtAssistantForwarderInfo>*);
112 
113  void queryPeerForwarderConnections(const DtRtiConnectionInfo&,
114  std::vector<DtRtiConnectionInfo>*);
115 
117  void requestFederateLoc(const DtRtiConnectionInfo& connInfo,
118  const MAKRti::DtString& federationName, unsigned int federateHdl);
119 
120 protected:
121 
122  static void processNetStatsObserveReqMsg( const DtAssistantNetStatsObserveReqMsg& msg, void* usr );
123  virtual void processNetStatsObserveReqMsg( const DtAssistantNetStatsObserveReqMsg& msg);
124  static void processNetStatsObserveRspMsg( const DtAssistantNetStatsObserveRspMsg& msg, void* usr );
125  virtual void processNetStatsObserveRspMsg( const DtAssistantNetStatsObserveRspMsg& msg);
126 
127  static void processServerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg, void* usr );
128  virtual void processServerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg);
129  static void processServerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg, void* usr );
130  virtual void processServerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg);
131  static void processServerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg, void* usr );
132  virtual void processServerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg);
133  static void processServerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg, void* usr );
134  virtual void processServerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg );
135  static void processServerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg, void* usr );
136  virtual void processServerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg );
137  static void processServerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg, void* usr );
138  virtual void processServerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg );
139 
140 
141  static void processPeerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg, void* usr );
142  virtual void processPeerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg );
143  static void processPeerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg, void* usr );
144  virtual void processPeerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg );
145  static void processPeerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg, void* usr );
146  virtual void processPeerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg );
147  static void processPeerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg, void* usr );
148  virtual void processPeerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg );
149  static void processPeerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg, void* usr );
150  virtual void processPeerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg );
151  static void processPeerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg, void* usr );
152  virtual void processPeerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg );
153  static void processPeerNetStatsStringReqMsg( const DtAssistantNetStatsStringReqMsg& msg, void* usr );
154  virtual void processPeerNetStatsStringReqMsg( const DtAssistantNetStatsStringReqMsg& msg);
155 
156  virtual void handleNetStatsMsgUpdateDlgUpdate( const DtAssistantNetStatsMsgUpdateMsg& msg,
157  const DtAssistantInfoCompIdPair& astntCompIdPair);
158  virtual void handleNetStatsRtiAmbUpdateDlgUpdate( const DtAssistantNetStatsRtiAmbUpdateMsg& msg,
159  const DtAssistantInfoCompIdPair& astntCompIdPair );
160  virtual void handleNetStatsFedAmbUpdateDlgUpdate( const DtAssistantNetStatsFedAmbUpdateMsg& msg,
161  const DtAssistantInfoCompIdPair& astntCompIdPair );
162  virtual void handleNetStatsObjectsUpdateDlgUpdate( const DtAssistantNetStatsObjectsUpdateMsg& msg,
163  const DtAssistantInfoCompIdPair& astntCompIdPair, bool isLocal = true);
164  virtual void handleNetStatsInteractionsUpdateDlgUpdate( const DtAssistantNetStatsInteractionsUpdateMsg& msg,
165  const DtAssistantInfoCompIdPair& astntCompIdPair, bool isLocal = true);
166  virtual void handleNetStatsStringUpdateDlgUpdate(const DtAssistantInfoCompIdPair& astntCompIdPair,
167  DtAssistantHandleType handleType, const std::vector<DtU32>& instanceHandles,
168  const std::vector<MAKRti::DtString>& instanceNames);
169 
170  virtual void insertLocalObjectClassNames(unsigned int lrcCompId, const std::vector<DtU32>& objectClassHandles,
171  const std::vector<MAKRti::DtString>& objectClassNames);
172  virtual void insertLocalInteractionClassNames(unsigned int lrcCompId, const std::vector<DtU32>& interactionClassHandles,
173  const std::vector<MAKRti::DtString>& interactionClassNames);
174  virtual void insertLocalObjectInstanceNames(unsigned int lrcCompId, const std::vector<DtU32>& objectInstanceHandles,
175  const std::vector<MAKRti::DtString>& objectInteractionNames);
176  virtual bool getObjectClassName(unsigned int lrcCompId, DtU32 objectClassHandle, MAKRti::DtString& objectClassName );
177  virtual bool getInteractionClassName(unsigned int lrcCompId, DtU32 InteractionClassHandle, MAKRti::DtString& interactionClassName );
178  virtual bool getObjectInstanceName(unsigned int lrcCompId, DtU32 objectInstanceHandle, MAKRti::DtString& objectInstanceName );
179  virtual void requestNetStatsStringUpdate(const DtAssistantInfoCompIdPair& astntCompIdPair,
180  DtAssistantHandleType handletype, const std::set<DtU32>& handles);
181  virtual void getHandlesAndNames(DtAssistantHandleType handleType, unsigned int myObservedCompId,
182  const std::set<DtU32>& unknownNamesHandles, std::vector<DtU32>& instanceHandles,
183  std::vector<MAKRti::DtString>& instanceNames);
184 
185 private:
186 
189 
192 protected:
193 
195  std::set<int> myViewedCompIds;
196 
198  std::set<DtAssistantInfo> myViewedFederateOwners;
199 
201  MAKRti::DtFilename myConfigDir;
202 
205 
207 
208  std::map<DtAssistantInfoCompIdPair, DtFederateStatisticsDialog*> myFederateStatsDlgByCompIdMap;
209  std::map<DtConnectionInfoFederationNameFederateHandleTriple, DtFederateStatisticsDialog*> myFederateStatsDlgByFedNameHandlePairMap;
211 
213  std::map<DtConnectionInfoFederationNameFederateHandleTriple, bool> myIsPendingForLocationMap;
214 
216  std::set<DtAssistantInfoCompIdPair> myObservationsSet;
217 
218  std::map<DtAssistantInfoCompIdPair, bool> myPendingForObsRspMap;
219 
221 
225 
228 
231 
236 };
237 #endif
std::map< DtConnectionInfoFederationNameFederateHandleTriple, DtFederateStatisticsDialog * > myFederateStatsDlgByFedNameHandlePairMap
Maps to the dialogs which display federate operational statistics.
Definition: federateViewMgr.h:209
std::set< DtAssistantInfoCompIdPair > myObservationsSet
The federates being observed.
Definition: federateViewMgr.h:216
virtual char * getObjectClassName(ObjectClassHandle theHandle)
The DtAssistantNetStatsFedAmbUpdateMsg defines...
Definition: assistantNetStatsFedAmbUpdateMsg.h:18
The DtAssistantNetStatsStringRequestMsg defines...
Definition: assistantNetStatsStringReqMsg.h:19
DtFederateIdentifierType myFederateIdType
Flag indicating current federate identifier type.
Definition: federateViewMgr.h:227
std::map< DtAssistantInfoCompIdPair, bool > myPendingForObsRspMap
Definition: federateViewMgr.h:218
std::pair< DtAssistantInfo, unsigned int > DtAssistantInfoCompIdPair
Definition: federateViewMgr.h:40
DtNameByHandleMapByLrcCompIdMap myLocalObjectClassNames
Definition: federateViewMgr.h:222
The DtAssistantNetStatsObserveRspMsg defines...
Definition: assistantObserveRspMsg.h:20
At startup all of the assistant manager classes will register their signals and slots with the signal...
Definition: assistantSignalRouter.h:29
DtNameByHandleMapByLrcCompIdMap myLocalObjectInstanceNames
Definition: federateViewMgr.h:224
This file contains the declaration of DtRtiConnectionInfo.
DtAssistantNetStatsObservationMgr * myAstntNetStatsObsMgr
Definition: federateViewMgr.h:220
Stores basic information about a remote assistant.
Definition: assistantInfo.h:96
The DtAssistantNetStatsRtiAmbUpdateMsg defines...
Definition: assistantNetStatsRtiAmbUpdateMsg.h:23
std::map< unsigned int, MAKRti::DtString > DtNamesByHandleMap
Definition: federateViewMgr.h:35
ULong InteractionClassHandle
Definition: RTItypes13.h:106
std::map< unsigned int, DtNamesByHandleMap > DtNameByHandleMapByLrcCompIdMap
Definition: federateViewMgr.h:38
std::set< int > myViewedCompIds
The component ID of the federate being viewed.
Definition: federateViewMgr.h:195
virtual void startShutdown()
Performs any necessary processing at the start of shutdown.
Definition: assistantMgr.h:62
Populates and displays the Federate Statistics dialog.
Definition: federateViewMgr.h:47
Stores information on a known federate.
Definition: federateInfo.h:21
virtual char * getInteractionClassName(InteractionClassHandle theHandle)
The DtAssistantNetStatsStringUpdateMsg defines...
Definition: assistantNetStatsStringUpdateMsg.h:19
unsigned int myLrcNetStatsUpdateInterval
This interval is the interval sent when observation requests are sent (in seconds).
Definition: federateViewMgr.h:235
The DtAssistantNetStatsObserveReqMsg defines...
Definition: assistantObserveReqMsg.h:20
Stores information on any RTI components.
Definition: compInfo.h:25
Base class for all classes which perform management activities for the Assistant. ...
Definition: assistantMgr.h:31
This file contains the declaration of DtAssistantMgr.
DtAssistantSignalRouter & mySignalRouter
Routes signals between different Assistant managers.
Definition: federateViewMgr.h:204
DtAssistantMgr & operator=(DtAssistantMgr const &)
Assignment not implemented – Assignment Not Allowed!
std::map< DtAssistantInfoCompIdPair, DtFederateStatisticsDialog * > myFederateStatsDlgByCompIdMap
Maps to the dialogs which display federate operational statistics.
Definition: federateViewMgr.h:208
MAKRti::DtFilename myConfigDir
The directory where the configuration file is located.
Definition: federateViewMgr.h:201
Definition: netStatsObservationMgr.h:26
std::map< DtConnectionInfoFederationNameFederateHandleTriple, bool > myIsPendingForLocationMap
Determines whether or not we are waiting for location to send Observation Requests.
Definition: federateViewMgr.h:213
DtAssistantHandleType
Definition: assistantNetStatsEnums.h:23
std::pair< DtRtiConnectionInfo, DtFederationNameFederateHandlePair > DtConnectionInfoFederationNameFederateHandleTriple
Definition: federateViewMgr.h:42
Shows detailed statistics on a federate.
Definition: federateStatsDialog.h:43
This file is responsible for connecting the signals and slots of the various assistant manager classe...
#define DT_DLL_ASSISTANTAPP
Definition: rtiMsConfig.h:151
virtual char * getObjectInstanceName(ObjectHandle theHandle)
DtFederateIdentifierType
Definition: assistantEnums.h:10
std::pair< MAKRti::DtString, unsigned int > DtFederationNameFederateHandlePair
Definition: federateViewMgr.h:41
std::set< DtAssistantInfo > myViewedFederateOwners
Set of assistant&#39;s which own the current viewed federates.
Definition: federateViewMgr.h:198
The DtAssistantNetStatsObjectsUpdateMsg defines...
Definition: assistantNetStatsObjectsUpdateMsg.h:21
DtAssistantInfo myAssistantInfo
The AssistantInfo for server msgs.
Definition: federateViewMgr.h:230
Stores the current state of a single forwarder.
Definition: forwarderInfo.h:123
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
The DtAssistantNetStatsMsgUpdateMsg defines...
Definition: assistantNetStatsMsgUpdateMsg.h:23
The DtAssistantNetStatsInteractionsUpdateMsg defines...
Definition: assistantNetStatsInteractionsUpdateMsg.h:21
DtNameByHandleMapByLrcCompIdMap myLocalInteractionClassNames
Definition: federateViewMgr.h:223

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)