MAK RTIspy API Documentation for HLA 1.3
netStatsFedAmb13.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #ifndef netStatsFedAmb13_h__
7 #define netStatsFedAmb13_h__
8 
9 #ifdef DtIFSPEC13
10 
11 #ifdef DtIFSPEC13DLC
12 #include "RTI13.h"
13 #define RTI rti13
14 #else
15 #include "RTI.hh"
16 #endif
17 #include "fedAmbWrap.h"
18 #include <vlutil/vlTime.h>
19 #include "fedMgr.h"
20 
21 // Forward References
22 class DtNetStatsMonitor;
23 
24 
25 class DtNetStatsFedAmbWrapper : public DtFedAmbWrapper
26 {
27 public:
28 
29  DtNetStatsFedAmbWrapper(DtFederateMgr* mgr, DtTime start);
30 
31  virtual ~DtNetStatsFedAmbWrapper()
32  throw (RTI::FederateInternalError);
33 
34  bool subscriptionsChanged();
35 
36  // Set the handle to the Network Traffic Monitor
37  virtual void setTrafficMonitor( DtNetStatsMonitor* stats );
38 
39 protected:
40 
41  MAKRti::DtTime myStartTime;
42  MAKRti::DtClock myClock;
43  DtFederateMgr* myMgr;
44  bool mySubscriptionsChanged;
45 
46  // Statistics Log
47  DtNetStatsMonitor* myNetStats;
48 
49  // API Call Timer
50  MAKRti::DtClock myTimer;
51 
52 public:
53 
54  //---------------------------------------------------------------
55  // The federate ambassador calls
56  //---------------------------------------------------------------
57 
59  const char *label)
60  throw (
61  RTI::FederateInternalError);
62 
64  const char *label)
65  throw (
66  RTI::FederateInternalError);
67 
68  virtual void announceSynchronizationPoint (
69  const char *label,
70  const char *tag)
71  throw (
72  RTI::FederateInternalError);
73 
74  virtual void federationSynchronized (
75  const char *label)
76  throw (
77  RTI::FederateInternalError);
78 
79  virtual void initiateFederateSave (
80  const char *label)
81  throw (
82  RTI::UnableToPerformSave,
83  RTI::FederateInternalError);
84 
85  virtual void federationSaved ()
86  throw (
87  RTI::FederateInternalError);
88 
89  virtual void federationNotSaved ()
90  throw (
91  RTI::FederateInternalError);
92 
94  const char *label)
95  throw (
96  RTI::FederateInternalError);
97 
98  virtual void requestFederationRestoreFailed (
99  const char *label,
100  const char *reason)
101  throw (
102  RTI::FederateInternalError);
103 
104  virtual void federationRestoreBegun ()
105  throw (
106  RTI::FederateInternalError);
107 
108  virtual void initiateFederateRestore (
109  const char *label,
110  RTI::FederateHandle handle)
111  throw (
112  RTI::SpecifiedSaveLabelDoesNotExist,
113  RTI::CouldNotRestore,
114  RTI::FederateInternalError);
115 
116  virtual void federationRestored ()
117  throw (
118  RTI::FederateInternalError);
119 
120  virtual void federationNotRestored ()
121  throw (
122  RTI::FederateInternalError);
123 
124 
125 
126 
127 
128  virtual void startRegistrationForObjectClass (
129  RTI::ObjectClassHandle theClass)
130  throw (
131  RTI::ObjectClassNotPublished,
132  RTI::FederateInternalError);
133 
134  virtual void stopRegistrationForObjectClass (
135  RTI::ObjectClassHandle theClass)
136  throw (
137  RTI::ObjectClassNotPublished,
138  RTI::FederateInternalError);
139 
140  virtual void turnInteractionsOn (
141  RTI::InteractionClassHandle theHandle)
142  throw (
143  RTI::InteractionClassNotPublished,
144  RTI::FederateInternalError);
145 
146  virtual void turnInteractionsOff (
147  RTI::InteractionClassHandle theHandle)
148  throw (
149  RTI::InteractionClassNotPublished,
150  RTI::FederateInternalError);
151 
152  virtual void discoverObjectInstance (
153  RTI::ObjectHandle theObject,
154  RTI::ObjectClassHandle theObjectClass,
155  const char* theObjectName)
156  throw (
157  RTI::CouldNotDiscover,
158  RTI::ObjectClassNotKnown,
159  RTI::FederateInternalError);
160 
161  virtual void reflectAttributeValues (
162  RTI::ObjectHandle theObject,
163  const RTI::AttributeHandleValuePairSet& theAttributes,
164  const RTI::FedTime& theTime,
165  const char *theTag,
166  RTI::EventRetractionHandle theHandle)
167  throw (
168  RTI::ObjectNotKnown,
169  RTI::AttributeNotKnown,
170  RTI::FederateOwnsAttributes,
171  RTI::InvalidFederationTime,
172  RTI::FederateInternalError);
173 
174  virtual void reflectAttributeValues (
175  RTI::ObjectHandle theObject,
176  const RTI::AttributeHandleValuePairSet& theAttributes,
177  const char *theTag)
178  throw (
179  RTI::ObjectNotKnown,
180  RTI::AttributeNotKnown,
181  RTI::FederateOwnsAttributes,
182  RTI::FederateInternalError);
183 
184 
185  virtual void receiveInteraction (
186  RTI::InteractionClassHandle theInteraction,
187  const RTI::ParameterHandleValuePairSet& theParameters,
188  const RTI::FedTime& theTime,
189  const char *theTag,
190  RTI::EventRetractionHandle theHandle)
191  throw (
192  RTI::InteractionClassNotKnown,
193  RTI::InteractionParameterNotKnown,
194  RTI::InvalidFederationTime,
195  RTI::FederateInternalError);
196 
197  virtual void receiveInteraction (
198  RTI::InteractionClassHandle theInteraction,
199  const RTI::ParameterHandleValuePairSet& theParameters,
200  const char *theTag)
201  throw (
202  RTI::InteractionClassNotKnown,
203  RTI::InteractionParameterNotKnown,
204  RTI::FederateInternalError);
205 
206  virtual void removeObjectInstance (
207  RTI::ObjectHandle theObject,
208  const RTI::FedTime& theTime,
209  const char *theTag,
210  RTI::EventRetractionHandle theHandle)
211  throw (
212  RTI::ObjectNotKnown,
213  RTI::InvalidFederationTime,
214  RTI::FederateInternalError);
215 
216  virtual void removeObjectInstance (
217  RTI::ObjectHandle theObject,
218  const char *theTag)
219  throw (
220  RTI::ObjectNotKnown,
221  RTI::FederateInternalError);
222 
223  virtual void attributesInScope (
224  RTI::ObjectHandle theObject,
225  const RTI::AttributeHandleSet& theAttributes)
226  throw (
227  RTI::ObjectNotKnown,
228  RTI::AttributeNotKnown,
229  RTI::FederateInternalError);
230 
231  virtual void attributesOutOfScope (
232  RTI::ObjectHandle theObject,
233  const RTI::AttributeHandleSet& theAttributes)
234  throw (
235  RTI::ObjectNotKnown,
236  RTI::AttributeNotKnown,
237  RTI::FederateInternalError);
238 
239  virtual void provideAttributeValueUpdate (
240  RTI::ObjectHandle theObject,
241  const RTI::AttributeHandleSet& theAttributes)
242  throw (
243  RTI::ObjectNotKnown,
244  RTI::AttributeNotKnown,
245  RTI::AttributeNotOwned,
246  RTI::FederateInternalError);
247 
248  virtual void turnUpdatesOnForObjectInstance (
249  RTI::ObjectHandle theObject,
250  const RTI::AttributeHandleSet& theAttributes)
251  throw (
252  RTI::ObjectNotKnown,
253  RTI::AttributeNotOwned,
254  RTI::FederateInternalError);
255 
256  virtual void turnUpdatesOffForObjectInstance (
257  RTI::ObjectHandle theObject,
258  const RTI::AttributeHandleSet& theAttributes)
259  throw (
260  RTI::ObjectNotKnown,
261  RTI::AttributeNotOwned,
262  RTI::FederateInternalError);
263 
264 
265 
266 
267 
269  RTI::ObjectHandle theObject,
270  const RTI::AttributeHandleSet& offeredAttributes,
271  const char *theTag)
272  throw (
273  RTI::ObjectNotKnown,
274  RTI::AttributeNotKnown,
275  RTI::AttributeAlreadyOwned,
276  RTI::AttributeNotPublished,
277  RTI::FederateInternalError);
278 
280  RTI::ObjectHandle theObject,
281  const RTI::AttributeHandleSet& releasedAttributes)
282  throw (
283  RTI::ObjectNotKnown,
284  RTI::AttributeNotKnown,
285  RTI::AttributeNotOwned,
286  RTI::AttributeDivestitureWasNotRequested,
287  RTI::FederateInternalError);
288 
290  RTI::ObjectHandle theObject,
291  const RTI::AttributeHandleSet& securedAttributes)
292  throw (
293  RTI::ObjectNotKnown,
294  RTI::AttributeNotKnown,
295  RTI::AttributeAcquisitionWasNotRequested,
296  RTI::AttributeAlreadyOwned,
297  RTI::AttributeNotPublished,
298  RTI::FederateInternalError);
299 
300  virtual void attributeOwnershipUnavailable (
301  RTI::ObjectHandle theObject,
302  const RTI::AttributeHandleSet& theAttributes)
303  throw (
304  RTI::ObjectNotKnown,
305  RTI::AttributeNotKnown,
306  RTI::AttributeAlreadyOwned,
307  RTI::AttributeAcquisitionWasNotRequested,
308  RTI::FederateInternalError);
309 
310  virtual void requestAttributeOwnershipRelease (
311  RTI::ObjectHandle theObject,
312  const RTI::AttributeHandleSet& candidateAttributes,
313  const char *theTag)
314  throw (
315  RTI::ObjectNotKnown,
316  RTI::AttributeNotKnown,
317  RTI::AttributeNotOwned,
318  RTI::FederateInternalError);
319 
321  RTI::ObjectHandle theObject,
322  const RTI::AttributeHandleSet& theAttributes)
323  throw (
324  RTI::ObjectNotKnown,
325  RTI::AttributeNotKnown,
326  RTI::AttributeAlreadyOwned,
327  RTI::AttributeAcquisitionWasNotCanceled,
328  RTI::FederateInternalError);
329 
330  virtual void informAttributeOwnership (
331  RTI::ObjectHandle theObject,
332  RTI::AttributeHandle theAttribute,
333  RTI::FederateHandle theOwner)
334  throw (
335  RTI::ObjectNotKnown,
336  RTI::AttributeNotKnown,
337  RTI::FederateInternalError);
338 
339  virtual void attributeIsNotOwned (
340  RTI::ObjectHandle theObject,
341  RTI::AttributeHandle theAttribute)
342  throw (
343  RTI::ObjectNotKnown,
344  RTI::AttributeNotKnown,
345  RTI::FederateInternalError);
346 
347  virtual void attributeOwnedByRTI (
348  RTI::ObjectHandle theObject,
349  RTI::AttributeHandle theAttribute)
350  throw (
351  RTI::ObjectNotKnown,
352  RTI::AttributeNotKnown,
353  RTI::FederateInternalError);
354 
355  virtual void timeRegulationEnabled (
356  const RTI::FedTime& theFederateTime)
357  throw (
358  RTI::InvalidFederationTime,
359  RTI::EnableTimeRegulationWasNotPending,
360  RTI::FederateInternalError);
361 
362  virtual void timeConstrainedEnabled (
363  const RTI::FedTime& theFederateTime)
364  throw (
365  RTI::InvalidFederationTime,
366  RTI::EnableTimeConstrainedWasNotPending,
367  RTI::FederateInternalError);
368 
369  virtual void timeAdvanceGrant (
370  const RTI::FedTime& theTime)
371  throw (
372  RTI::InvalidFederationTime,
373  RTI::TimeAdvanceWasNotInProgress,
374  RTI::FederateInternalError);
375 
376  virtual void requestRetraction (
377  RTI::EventRetractionHandle theHandle)
378  throw (
379  RTI::EventNotKnown,
380  RTI::FederateInternalError);
381 
382  private:
383  static const DtString theUnknownName;
384 };
385 
386 #endif // DtIFSPEC1516
387 #endif // netStatsFedAmb13_h__

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)