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
45 
46 
48 {
49  Q_OBJECT
50 
51 public:
53  DtAssistantFederateViewMgr(DtBoost::shared_ptr<DtRtiAssistantServer> server,
54  DtBoost::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

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)