MAK RTIspy API Documentation for HLA 1.3
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 requestFederateLoc(const DtRtiConnectionInfo& connInfo,
111  const MAKRti::DtString& federationName, unsigned int federateHdl);
112 
113 protected:
114 
115  static void processNetStatsObserveReqMsg( const DtAssistantNetStatsObserveReqMsg& msg, void* usr );
116  virtual void processNetStatsObserveReqMsg( const DtAssistantNetStatsObserveReqMsg& msg);
117  static void processNetStatsObserveRspMsg( const DtAssistantNetStatsObserveRspMsg& msg, void* usr );
118  virtual void processNetStatsObserveRspMsg( const DtAssistantNetStatsObserveRspMsg& msg);
119 
120  static void processServerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg, void* usr );
121  virtual void processServerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg);
122  static void processServerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg, void* usr );
123  virtual void processServerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg);
124  static void processServerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg, void* usr );
125  virtual void processServerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg);
126  static void processServerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg, void* usr );
127  virtual void processServerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg );
128  static void processServerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg, void* usr );
129  virtual void processServerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg );
130  static void processServerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg, void* usr );
131  virtual void processServerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg );
132 
133 
134  static void processPeerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg, void* usr );
135  virtual void processPeerNetStatsMsgUpdateMsg( const DtAssistantNetStatsMsgUpdateMsg& msg );
136  static void processPeerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg, void* usr );
137  virtual void processPeerNetStatsRtiAmbUpdateMsg( const DtAssistantNetStatsRtiAmbUpdateMsg& msg );
138  static void processPeerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg, void* usr );
139  virtual void processPeerNetStatsFedAmbUpdateMsg( const DtAssistantNetStatsFedAmbUpdateMsg& msg );
140  static void processPeerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg, void* usr );
141  virtual void processPeerNetStatsObjectsUpdateMsg( const DtAssistantNetStatsObjectsUpdateMsg& msg );
142  static void processPeerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg, void* usr );
143  virtual void processPeerNetStatsInteractionsUpdateMsg( const DtAssistantNetStatsInteractionsUpdateMsg& msg );
144  static void processPeerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg, void* usr );
145  virtual void processPeerNetStatsStringUpdateMsg( const DtAssistantNetStatsStringUpdateMsg& msg );
146  static void processPeerNetStatsStringReqMsg( const DtAssistantNetStatsStringReqMsg& msg, void* usr );
147  virtual void processPeerNetStatsStringReqMsg( const DtAssistantNetStatsStringReqMsg& msg);
148 
149  virtual void handleNetStatsMsgUpdateDlgUpdate( const DtAssistantNetStatsMsgUpdateMsg& msg,
150  const DtAssistantInfoCompIdPair& astntCompIdPair);
151  virtual void handleNetStatsRtiAmbUpdateDlgUpdate( const DtAssistantNetStatsRtiAmbUpdateMsg& msg,
152  const DtAssistantInfoCompIdPair& astntCompIdPair );
153  virtual void handleNetStatsFedAmbUpdateDlgUpdate( const DtAssistantNetStatsFedAmbUpdateMsg& msg,
154  const DtAssistantInfoCompIdPair& astntCompIdPair );
155  virtual void handleNetStatsObjectsUpdateDlgUpdate( const DtAssistantNetStatsObjectsUpdateMsg& msg,
156  const DtAssistantInfoCompIdPair& astntCompIdPair, bool isLocal = true);
157  virtual void handleNetStatsInteractionsUpdateDlgUpdate( const DtAssistantNetStatsInteractionsUpdateMsg& msg,
158  const DtAssistantInfoCompIdPair& astntCompIdPair, bool isLocal = true);
159  virtual void handleNetStatsStringUpdateDlgUpdate(const DtAssistantInfoCompIdPair& astntCompIdPair,
160  DtAssistantHandleType handleType, const std::vector<DtU32>& instanceHandles,
161  const std::vector<MAKRti::DtString>& instanceNames);
162 
163  virtual void insertLocalObjectClassNames(unsigned int lrcCompId, const std::vector<DtU32>& objectClassHandles,
164  const std::vector<MAKRti::DtString>& objectClassNames);
165  virtual void insertLocalInteractionClassNames(unsigned int lrcCompId, const std::vector<DtU32>& interactionClassHandles,
166  const std::vector<MAKRti::DtString>& interactionClassNames);
167  virtual void insertLocalObjectInstanceNames(unsigned int lrcCompId, const std::vector<DtU32>& objectInstanceHandles,
168  const std::vector<MAKRti::DtString>& objectInteractionNames);
169  virtual bool getObjectClassName(unsigned int lrcCompId, DtU32 objectClassHandle, MAKRti::DtString& objectClassName );
170  virtual bool getInteractionClassName(unsigned int lrcCompId, DtU32 InteractionClassHandle, MAKRti::DtString& interactionClassName );
171  virtual bool getObjectInstanceName(unsigned int lrcCompId, DtU32 objectInstanceHandle, MAKRti::DtString& objectInstanceName );
172  virtual void requestNetStatsStringUpdate(const DtAssistantInfoCompIdPair& astntCompIdPair,
173  DtAssistantHandleType handletype, const std::set<DtU32>& handles);
174  virtual void getHandlesAndNames(DtAssistantHandleType handleType, unsigned int myObservedCompId,
175  const std::set<DtU32>& unknownNamesHandles, std::vector<DtU32>& instanceHandles,
176  std::vector<MAKRti::DtString>& instanceNames);
177 
178 private:
179 
182 
185 protected:
186 
188  std::set<int> myViewedCompIds;
189 
191  std::set<DtAssistantInfo> myViewedFederateOwners;
192 
194  MAKRti::DtFilename myConfigDir;
195 
198 
200 
201  std::map<DtAssistantInfoCompIdPair, DtFederateStatisticsDialog*> myFederateStatsDlgByCompIdMap;
202  std::map<DtConnectionInfoFederationNameFederateHandleTriple, DtFederateStatisticsDialog*> myFederateStatsDlgByFedNameHandlePairMap;
204 
206  std::map<DtConnectionInfoFederationNameFederateHandleTriple, bool> myIsPendingForLocationMap;
207 
209  std::set<DtAssistantInfoCompIdPair> myObservationsSet;
210 
211  std::map<DtAssistantInfoCompIdPair, bool> myPendingForObsRspMap;
212 
214 
218 
221 
224 
229 };
230 #endif

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)