MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
netStatsRtiAmb1516.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #ifndef netStatsRtiAmb1516_h__
7 #define netStatsRtiAmb1516_h__
8 
9 
10 #ifdef DtIFSPEC1516
11 
12 #include "ambImp1516.h"
13 #include "netStatsMonitor.h"
14 #include <vlutil/vlTime.h>
15 
16 class DtNetStatsFedAmbWrapper;
17 
18 //
19 // The DtNetStatsRtiAmbImpl adds statistics gathering and logging
20 // capabilities to the DtRtiAmbassadorImplementor class
21 //
22 // DtNetStatsRtiAmbImpl overrides each RTI Ambassador API call
23 // to track its calls and cpu usage
24 //
25 class DtNetStatsRtiAmbImpl : public DtRtiAmbassadorImplementor
26 {
27 
28 protected:
29 
30  DtNetStatsRtiAmbImpl( rti1516::RTIambassador* topLevelAmbPtr,
31  const std::vector< std::wstring >& initArgs);
32 
33 public:
34 
35  // Set the handle to the Network Traffic Monitor
36  virtual void setTrafficMonitor( DtNetStatsMonitor* stats );
37 
38  // Over-ridden RTI API Calls
39 
40  virtual ~DtNetStatsRtiAmbImpl()
41  throw ();
42 
43  // Helper method
44  virtual void recordApiStats(DtRtiAmbAPIType serviceCallName) const;
45 
47  // Federation Management Services //
49 
50  // 4.2
51  virtual void createFederationExecution
52  (std::wstring const & federationExecutionName,
53  std::wstring const & fullPathNameToTheFDDfile,
54  std::wstring const & logicalTimeImplementationName = L"")
55  throw (rti1516::FederationExecutionAlreadyExists,
56  rti1516::CouldNotOpenFDD,
57  rti1516::ErrorReadingFDD,
58  rti1516::RTIinternalError);
59 
60  // 4.3
61  virtual void destroyFederationExecution
62  (std::wstring const & federationExecutionName)
63  throw (rti1516::FederatesCurrentlyJoined,
64  rti1516::FederationExecutionDoesNotExist,
65  rti1516::RTIinternalError);
66 
67  // 4.4
68  virtual rti1516::FederateHandle joinFederationExecution
69  (std::wstring const & federateType,
70  std::wstring const & federationExecutionName,
71  rti1516::FederateAmbassador & federateAmbassador,
72  unsigned long flags)
73  throw (rti1516::FederateAlreadyExecutionMember,
74  rti1516::FederationExecutionDoesNotExist,
75  rti1516::SaveInProgress,
76  rti1516::RestoreInProgress,
77  rti1516::RTIinternalError);
78 
79  // 4.5
80  virtual void resignFederationExecution
81  (rti1516::ResignAction resignAction)
82  throw (rti1516::OwnershipAcquisitionPending,
83  rti1516::FederateOwnsAttributes,
84  rti1516::FederateNotExecutionMember,
85  rti1516::RTIinternalError);
86 
87  // 4.6
89  (std::wstring const & label,
90  rti1516::VariableLengthData const & theUserSuppliedTag)
91  throw (rti1516::FederateNotExecutionMember,
92  rti1516::SaveInProgress,
93  rti1516::RestoreInProgress,
94  rti1516::RTIinternalError);
95 
97  (std::wstring const & label,
98  rti1516::VariableLengthData const & theUserSuppliedTag,
99  rti1516::FederateHandleSet const & syncSet)
100  throw (rti1516::FederateNotExecutionMember,
101  rti1516::SaveInProgress,
102  rti1516::RestoreInProgress,
103  rti1516::RTIinternalError);
104 
105  // 4.9
106  virtual void synchronizationPointAchieved
107  (std::wstring const & label)
108  throw (rti1516::SynchronizationPointLabelNotAnnounced,
109  rti1516::FederateNotExecutionMember,
110  rti1516::SaveInProgress,
111  rti1516::RestoreInProgress,
112  rti1516::RTIinternalError);
113 
114  // 4.11
115  virtual void requestFederationSave
116  (std::wstring const & label)
117  throw (rti1516::FederateNotExecutionMember,
118  rti1516::SaveInProgress,
119  rti1516::RestoreInProgress,
120  rti1516::RTIinternalError);
121 
122  virtual void requestFederationSave
123  (std::wstring const & label,
124  rti1516::LogicalTime const & theTime)
125  throw (rti1516::LogicalTimeAlreadyPassed,
126  rti1516::InvalidLogicalTime,
127  rti1516::FederateUnableToUseTime,
128  rti1516::FederateNotExecutionMember,
129  rti1516::SaveInProgress,
130  rti1516::RestoreInProgress,
131  rti1516::RTIinternalError);
132 
133  // 4.13
134  virtual void federateSaveBegun ()
135  throw (rti1516::SaveNotInitiated,
136  rti1516::FederateNotExecutionMember,
137  rti1516::RestoreInProgress,
138  rti1516::RTIinternalError);
139 
140  // 4.14
141  virtual void federateSaveComplete ()
142  throw (rti1516::FederateHasNotBegunSave,
143  rti1516::FederateNotExecutionMember,
144  rti1516::RestoreInProgress,
145  rti1516::RTIinternalError);
146 
147  virtual void federateSaveNotComplete()
148  throw (rti1516::FederateHasNotBegunSave,
149  rti1516::FederateNotExecutionMember,
150  rti1516::RestoreInProgress,
151  rti1516::RTIinternalError);
152 
153  // 4.16
154  virtual void queryFederationSaveStatus ()
155  throw (rti1516::FederateNotExecutionMember,
156  rti1516::RestoreInProgress,
157  rti1516::RTIinternalError);
158 
159  // 4.18
160  virtual void requestFederationRestore
161  (std::wstring const & label)
162  throw (rti1516::FederateNotExecutionMember,
163  rti1516::SaveInProgress,
164  rti1516::RestoreInProgress,
165  rti1516::RTIinternalError);
166 
167  // 4.22
168  virtual void federateRestoreComplete ()
169  throw (rti1516::RestoreNotRequested,
170  rti1516::FederateNotExecutionMember,
171  rti1516::SaveInProgress,
172  rti1516::RTIinternalError);
173 
174  virtual void federateRestoreNotComplete ()
175  throw (rti1516::RestoreNotRequested,
176  rti1516::FederateNotExecutionMember,
177  rti1516::SaveInProgress,
178  rti1516::RTIinternalError);
179 
180  // 4.24
181  virtual void queryFederationRestoreStatus ()
182  throw (rti1516::FederateNotExecutionMember,
183  rti1516::SaveInProgress,
184  rti1516::RTIinternalError);
185 
187  // Declaration Management Services //
189 
190  // 5.2
191  virtual void publishObjectClassAttributes
192  (rti1516::ObjectClassHandle theClass,
193  rti1516::AttributeHandleSet const & attributeList)
194  throw (rti1516::ObjectClassNotDefined,
195  rti1516::AttributeNotDefined,
196  rti1516::FederateNotExecutionMember,
197  rti1516::SaveInProgress,
198  rti1516::RestoreInProgress,
199  rti1516::RTIinternalError);
200 
201  // 5.3
202  virtual void unpublishObjectClass
203  (rti1516::ObjectClassHandle theClass)
204  throw (rti1516::ObjectClassNotDefined,
205  rti1516::OwnershipAcquisitionPending,
206  rti1516::FederateNotExecutionMember,
207  rti1516::SaveInProgress,
208  rti1516::RestoreInProgress,
209  rti1516::RTIinternalError);
210 
211  virtual void unpublishObjectClassAttributes
212  (rti1516::ObjectClassHandle theClass,
213  rti1516::AttributeHandleSet const & attributeList)
214  throw (rti1516::ObjectClassNotDefined,
215  rti1516::AttributeNotDefined,
216  rti1516::OwnershipAcquisitionPending,
217  rti1516::FederateNotExecutionMember,
218  rti1516::SaveInProgress,
219  rti1516::RestoreInProgress,
220  rti1516::RTIinternalError);
221 
222  // 5.4
223  virtual void publishInteractionClass
224  (rti1516::InteractionClassHandle theInteraction)
225  throw (rti1516::InteractionClassNotDefined,
226  rti1516::FederateNotExecutionMember,
227  rti1516::SaveInProgress,
228  rti1516::RestoreInProgress,
229  rti1516::RTIinternalError);
230 
231  // 5.5
232  virtual void unpublishInteractionClass
233  (rti1516::InteractionClassHandle theInteraction)
234  throw (rti1516::InteractionClassNotDefined,
235  rti1516::FederateNotExecutionMember,
236  rti1516::SaveInProgress,
237  rti1516::RestoreInProgress,
238  rti1516::RTIinternalError);
239 
240  // 5.6
241  virtual void subscribeObjectClassAttributes
242  (rti1516::ObjectClassHandle theClass,
243  rti1516::AttributeHandleSet const & attributeList,
244  bool active = true)
245  throw (rti1516::ObjectClassNotDefined,
246  rti1516::AttributeNotDefined,
247  rti1516::FederateNotExecutionMember,
248  rti1516::SaveInProgress,
249  rti1516::RestoreInProgress,
250  rti1516::RTIinternalError);
251 
252  // 5.7
253  virtual void unsubscribeObjectClass
254  (rti1516::ObjectClassHandle theClass)
255  throw (rti1516::ObjectClassNotDefined,
256  rti1516::FederateNotExecutionMember,
257  rti1516::SaveInProgress,
258  rti1516::RestoreInProgress,
259  rti1516::RTIinternalError);
260 
261  virtual void unsubscribeObjectClassAttributes
262  (rti1516::ObjectClassHandle theClass,
263  rti1516::AttributeHandleSet const & attributeList)
264  throw (rti1516::ObjectClassNotDefined,
265  rti1516::AttributeNotDefined,
266  rti1516::FederateNotExecutionMember,
267  rti1516::SaveInProgress,
268  rti1516::RestoreInProgress,
269  rti1516::RTIinternalError);
270 
271  // 5.8
272  virtual void subscribeInteractionClass
273  (rti1516::InteractionClassHandle theClass,
274  bool active = true)
275  throw (rti1516::InteractionClassNotDefined,
276  rti1516::FederateServiceInvocationsAreBeingReportedViaMOM,
277  rti1516::FederateNotExecutionMember,
278  rti1516::SaveInProgress,
279  rti1516::RestoreInProgress,
280  rti1516::RTIinternalError);
281 
282  // 5.9
283  virtual void unsubscribeInteractionClass
284  (rti1516::InteractionClassHandle theClass)
285  throw (rti1516::InteractionClassNotDefined,
286  rti1516::FederateNotExecutionMember,
287  rti1516::SaveInProgress,
288  rti1516::RestoreInProgress,
289  rti1516::RTIinternalError);
290 
292  // Object Management Services //
294 
295  // 6.2
296  virtual void reserveObjectInstanceName
297  (std::wstring const & theObjectInstanceName)
298  throw (rti1516::IllegalName,
299  rti1516::FederateNotExecutionMember,
300  rti1516::SaveInProgress,
301  rti1516::RestoreInProgress,
302  rti1516::RTIinternalError);
303 
304  // 6.4
305  virtual rti1516::ObjectInstanceHandle registerObjectInstance
306  (rti1516::ObjectClassHandle theClass)
307  throw (rti1516::ObjectClassNotDefined,
308  rti1516::ObjectClassNotPublished,
309  rti1516::FederateNotExecutionMember,
310  rti1516::SaveInProgress,
311  rti1516::RestoreInProgress,
312  rti1516::RTIinternalError);
313 
314  virtual rti1516::ObjectInstanceHandle registerObjectInstance
315  (rti1516::ObjectClassHandle theClass,
316  std::wstring const & theObjectInstanceName)
317  throw (rti1516::ObjectClassNotDefined,
318  rti1516::ObjectClassNotPublished,
319  rti1516::ObjectInstanceNameNotReserved,
320  rti1516::ObjectInstanceNameInUse,
321  rti1516::FederateNotExecutionMember,
322  rti1516::SaveInProgress,
323  rti1516::RestoreInProgress,
324  rti1516::RTIinternalError);
325 
326  // 6.6
327  virtual void updateAttributeValues
328  (rti1516::ObjectInstanceHandle theObject,
329  rti1516::AttributeHandleValueMap const & theAttributeValues,
330  rti1516::VariableLengthData const & theUserSuppliedTag)
331  throw (rti1516::ObjectInstanceNotKnown,
332  rti1516::AttributeNotDefined,
333  rti1516::AttributeNotOwned,
334  rti1516::FederateNotExecutionMember,
335  rti1516::SaveInProgress,
336  rti1516::RestoreInProgress,
337  rti1516::RTIinternalError);
338 
339  virtual rti1516::MessageRetractionHandle updateAttributeValues
340  (rti1516::ObjectInstanceHandle theObject,
341  rti1516::AttributeHandleValueMap const & theAttributeValues,
342  rti1516::VariableLengthData const & theUserSuppliedTag,
343  rti1516::LogicalTime const & theTime)
344  throw (rti1516::ObjectInstanceNotKnown,
345  rti1516::AttributeNotDefined,
346  rti1516::AttributeNotOwned,
347  rti1516::InvalidLogicalTime,
348  rti1516::FederateNotExecutionMember,
349  rti1516::SaveInProgress,
350  rti1516::RestoreInProgress,
351  rti1516::RTIinternalError);
352 
353  // 6.8
354  virtual void sendInteraction
355  (rti1516::InteractionClassHandle theInteraction,
356  rti1516::ParameterHandleValueMap const & theParameterValues,
357  rti1516::VariableLengthData const & theUserSuppliedTag)
358  throw (rti1516::InteractionClassNotPublished,
359  rti1516::InteractionClassNotDefined,
360  rti1516::InteractionParameterNotDefined,
361  rti1516::FederateNotExecutionMember,
362  rti1516::SaveInProgress,
363  rti1516::RestoreInProgress,
364  rti1516::RTIinternalError);
365 
366  virtual rti1516::MessageRetractionHandle sendInteraction
367  (rti1516::InteractionClassHandle theInteraction,
368  rti1516::ParameterHandleValueMap const & theParameterValues,
369  rti1516::VariableLengthData const & theUserSuppliedTag,
370  rti1516::LogicalTime const & theTime)
371  throw (rti1516::InteractionClassNotPublished,
372  rti1516::InteractionClassNotDefined,
373  rti1516::InteractionParameterNotDefined,
374  rti1516::InvalidLogicalTime,
375  rti1516::FederateNotExecutionMember,
376  rti1516::SaveInProgress,
377  rti1516::RestoreInProgress,
378  rti1516::RTIinternalError);
379 
380  // 6.10
381  virtual void deleteObjectInstance
382  (rti1516::ObjectInstanceHandle theObject,
383  rti1516::VariableLengthData const & theUserSuppliedTag)
384  throw (rti1516::DeletePrivilegeNotHeld,
385  rti1516::ObjectInstanceNotKnown,
386  rti1516::FederateNotExecutionMember,
387  rti1516::SaveInProgress,
388  rti1516::RestoreInProgress,
389  rti1516::RTIinternalError);
390 
391  virtual rti1516::MessageRetractionHandle deleteObjectInstance
392  (rti1516::ObjectInstanceHandle theObject,
393  rti1516::VariableLengthData const & theUserSuppliedTag,
394  rti1516::LogicalTime const & theTime)
395  throw (rti1516::DeletePrivilegeNotHeld,
396  rti1516::ObjectInstanceNotKnown,
397  rti1516::InvalidLogicalTime,
398  rti1516::FederateNotExecutionMember,
399  rti1516::SaveInProgress,
400  rti1516::RestoreInProgress,
401  rti1516::RTIinternalError);
402 
403  // 6.12
404  virtual void localDeleteObjectInstance
405  (rti1516::ObjectInstanceHandle theObject)
406  throw (rti1516::ObjectInstanceNotKnown,
407  rti1516::FederateOwnsAttributes,
408  rti1516::OwnershipAcquisitionPending,
409  rti1516::FederateNotExecutionMember,
410  rti1516::SaveInProgress,
411  rti1516::RestoreInProgress,
412  rti1516::RTIinternalError);
413 
414  // 6.13
416  (rti1516::ObjectInstanceHandle theObject,
417  rti1516::AttributeHandleSet const & theAttributes,
418  rti1516::TransportationType theType)
419  throw (rti1516::ObjectInstanceNotKnown,
420  rti1516::AttributeNotDefined,
421  rti1516::AttributeNotOwned,
422  rti1516::FederateNotExecutionMember,
423  rti1516::SaveInProgress,
424  rti1516::RestoreInProgress,
425  rti1516::RTIinternalError);
426 
427  // 6.14
429  (rti1516::InteractionClassHandle theClass,
430  rti1516::TransportationType theType)
431  throw (rti1516::InteractionClassNotDefined,
432  rti1516::InteractionClassNotPublished,
433  rti1516::FederateNotExecutionMember,
434  rti1516::SaveInProgress,
435  rti1516::RestoreInProgress,
436  rti1516::RTIinternalError);
437 
438  // 6.17
439  virtual void requestAttributeValueUpdate
440  (rti1516::ObjectInstanceHandle theObject,
441  rti1516::AttributeHandleSet const & theAttributes,
442  rti1516::VariableLengthData const & theUserSuppliedTag)
443  throw (rti1516::ObjectInstanceNotKnown,
444  rti1516::AttributeNotDefined,
445  rti1516::FederateNotExecutionMember,
446  rti1516::SaveInProgress,
447  rti1516::RestoreInProgress,
448  rti1516::RTIinternalError);
449 
450  virtual void requestAttributeValueUpdate
451  (rti1516::ObjectClassHandle theClass,
452  rti1516::AttributeHandleSet const & theAttributes,
453  rti1516::VariableLengthData const & theUserSuppliedTag)
454  throw (rti1516::ObjectClassNotDefined,
455  rti1516::AttributeNotDefined,
456  rti1516::FederateNotExecutionMember,
457  rti1516::SaveInProgress,
458  rti1516::RestoreInProgress,
459  rti1516::RTIinternalError);
460 
462  // Ownership Management Services //
464  // 7.2
466  (rti1516::ObjectInstanceHandle theObject,
467  rti1516::AttributeHandleSet const & theAttributes)
468  throw (rti1516::ObjectInstanceNotKnown,
469  rti1516::AttributeNotDefined,
470  rti1516::AttributeNotOwned,
471  rti1516::FederateNotExecutionMember,
472  rti1516::SaveInProgress,
473  rti1516::RestoreInProgress,
474  rti1516::RTIinternalError);
475 
476  // 7.3
478  (rti1516::ObjectInstanceHandle theObject,
479  rti1516::AttributeHandleSet const & theAttributes,
480  rti1516::VariableLengthData const & theUserSuppliedTag)
481  throw (rti1516::ObjectInstanceNotKnown,
482  rti1516::AttributeNotDefined,
483  rti1516::AttributeNotOwned,
484  rti1516::AttributeAlreadyBeingDivested,
485  rti1516::FederateNotExecutionMember,
486  rti1516::SaveInProgress,
487  rti1516::RestoreInProgress,
488  rti1516::RTIinternalError);
489 
490  // 7.6
491  virtual void confirmDivestiture
492  (rti1516::ObjectInstanceHandle theObject,
493  rti1516::AttributeHandleSet const & confirmedAttributes,
494  rti1516::VariableLengthData const & theUserSuppliedTag)
495  throw (rti1516::ObjectInstanceNotKnown,
496  rti1516::AttributeNotDefined,
497  rti1516::AttributeNotOwned,
498  rti1516::AttributeDivestitureWasNotRequested,
499  rti1516::NoAcquisitionPending,
500  rti1516::FederateNotExecutionMember,
501  rti1516::SaveInProgress,
502  rti1516::RestoreInProgress,
503  rti1516::RTIinternalError);
504 
505  // 7.8
506  virtual void attributeOwnershipAcquisition
507  (rti1516::ObjectInstanceHandle theObject,
508  rti1516::AttributeHandleSet const & desiredAttributes,
509  rti1516::VariableLengthData const & theUserSuppliedTag)
510  throw (rti1516::ObjectInstanceNotKnown,
511  rti1516::ObjectClassNotPublished,
512  rti1516::AttributeNotDefined,
513  rti1516::AttributeNotPublished,
514  rti1516::FederateOwnsAttributes,
515  rti1516::FederateNotExecutionMember,
516  rti1516::SaveInProgress,
517  rti1516::RestoreInProgress,
518  rti1516::RTIinternalError);
519 
520  // 7.9
522  (rti1516::ObjectInstanceHandle theObject,
523  rti1516::AttributeHandleSet const & desiredAttributes)
524  throw (rti1516::ObjectInstanceNotKnown,
525  rti1516::ObjectClassNotPublished,
526  rti1516::AttributeNotDefined,
527  rti1516::AttributeNotPublished,
528  rti1516::FederateOwnsAttributes,
529  rti1516::AttributeAlreadyBeingAcquired,
530  rti1516::FederateNotExecutionMember,
531  rti1516::SaveInProgress,
532  rti1516::RestoreInProgress,
533  rti1516::RTIinternalError);
534 
535  // 7.12
536  virtual void attributeOwnershipDivestitureIfWanted
537  (rti1516::ObjectInstanceHandle theObject,
538  rti1516::AttributeHandleSet const & theAttributes,
539  rti1516::AttributeHandleSet & theDivestedAttributes)
540  throw (rti1516::ObjectInstanceNotKnown,
541  rti1516::AttributeNotDefined,
542  rti1516::AttributeNotOwned,
543  rti1516::FederateNotExecutionMember,
544  rti1516::SaveInProgress,
545  rti1516::RestoreInProgress,
546  rti1516::RTIinternalError);
547 
548  // 7.13
550  (rti1516::ObjectInstanceHandle theObject,
551  rti1516::AttributeHandleSet const & theAttributes)
552  throw (rti1516::ObjectInstanceNotKnown,
553  rti1516::AttributeNotDefined,
554  rti1516::AttributeNotOwned,
555  rti1516::AttributeDivestitureWasNotRequested,
556  rti1516::FederateNotExecutionMember,
557  rti1516::SaveInProgress,
558  rti1516::RestoreInProgress,
559  rti1516::RTIinternalError);
560 
561  // 7.14
563  (rti1516::ObjectInstanceHandle theObject,
564  rti1516::AttributeHandleSet const & theAttributes)
565  throw (rti1516::ObjectInstanceNotKnown,
566  rti1516::AttributeNotDefined,
567  rti1516::AttributeAlreadyOwned,
568  rti1516::AttributeAcquisitionWasNotRequested,
569  rti1516::FederateNotExecutionMember,
570  rti1516::SaveInProgress,
571  rti1516::RestoreInProgress,
572  rti1516::RTIinternalError);
573 
574  // 7.16
575  virtual void queryAttributeOwnership
576  (rti1516::ObjectInstanceHandle theObject,
577  rti1516::AttributeHandle theAttribute)
578  throw (rti1516::ObjectInstanceNotKnown,
579  rti1516::AttributeNotDefined,
580  rti1516::FederateNotExecutionMember,
581  rti1516::SaveInProgress,
582  rti1516::RestoreInProgress,
583  rti1516::RTIinternalError);
584 
585  // 7.18
586  virtual bool isAttributeOwnedByFederate
587  (rti1516::ObjectInstanceHandle theObject,
588  rti1516::AttributeHandle theAttribute)
589  throw (rti1516::ObjectInstanceNotKnown,
590  rti1516::AttributeNotDefined,
591  rti1516::FederateNotExecutionMember,
592  rti1516::SaveInProgress,
593  rti1516::RestoreInProgress,
594  rti1516::RTIinternalError);
595 
597  // Time Management Services //
599 
600  // 8.2
601  virtual void enableTimeRegulation
602  (rti1516::LogicalTimeInterval const & theLookahead)
603  throw (rti1516::TimeRegulationAlreadyEnabled,
604  rti1516::InvalidLookahead,
605  rti1516::InTimeAdvancingState,
606  rti1516::RequestForTimeRegulationPending,
607  rti1516::FederateNotExecutionMember,
608  rti1516::SaveInProgress,
609  rti1516::RestoreInProgress,
610  rti1516::RTIinternalError);
611 
612  // 8.4
613  virtual void disableTimeRegulation ()
614  throw (rti1516::TimeRegulationIsNotEnabled,
615  rti1516::FederateNotExecutionMember,
616  rti1516::SaveInProgress,
617  rti1516::RestoreInProgress,
618  rti1516::RTIinternalError);
619 
620  // 8.5
621  virtual void enableTimeConstrained ()
622  throw (rti1516::TimeConstrainedAlreadyEnabled,
623  rti1516::InTimeAdvancingState,
624  rti1516::RequestForTimeConstrainedPending,
625  rti1516::FederateNotExecutionMember,
626  rti1516::SaveInProgress,
627  rti1516::RestoreInProgress,
628  rti1516::RTIinternalError);
629 
630  // 8.7
631  virtual void disableTimeConstrained ()
632  throw (rti1516::TimeConstrainedIsNotEnabled,
633  rti1516::FederateNotExecutionMember,
634  rti1516::SaveInProgress,
635  rti1516::RestoreInProgress,
636  rti1516::RTIinternalError);
637 
638  // 8.8
639  virtual void timeAdvanceRequest
640  (rti1516::LogicalTime const & theTime)
641  throw (rti1516::InvalidLogicalTime,
642  rti1516::LogicalTimeAlreadyPassed,
643  rti1516::InTimeAdvancingState,
644  rti1516::RequestForTimeRegulationPending,
645  rti1516::RequestForTimeConstrainedPending,
646  rti1516::FederateNotExecutionMember,
647  rti1516::SaveInProgress,
648  rti1516::RestoreInProgress,
649  rti1516::RTIinternalError);
650 
651  // 8.9
652  virtual void timeAdvanceRequestAvailable
653  (rti1516::LogicalTime const & theTime)
654  throw (rti1516::InvalidLogicalTime,
655  rti1516::LogicalTimeAlreadyPassed,
656  rti1516::InTimeAdvancingState,
657  rti1516::RequestForTimeRegulationPending,
658  rti1516::RequestForTimeConstrainedPending,
659  rti1516::FederateNotExecutionMember,
660  rti1516::SaveInProgress,
661  rti1516::RestoreInProgress,
662  rti1516::RTIinternalError);
663 
664  // 8.10
665  virtual void nextMessageRequest
666  (rti1516::LogicalTime const & theTime)
667  throw (rti1516::InvalidLogicalTime,
668  rti1516::LogicalTimeAlreadyPassed,
669  rti1516::InTimeAdvancingState,
670  rti1516::RequestForTimeRegulationPending,
671  rti1516::RequestForTimeConstrainedPending,
672  rti1516::FederateNotExecutionMember,
673  rti1516::SaveInProgress,
674  rti1516::RestoreInProgress,
675  rti1516::RTIinternalError);
676 
677  // 8.11
678  virtual void nextMessageRequestAvailable
679  (rti1516::LogicalTime const & theTime)
680  throw (rti1516::InvalidLogicalTime,
681  rti1516::LogicalTimeAlreadyPassed,
682  rti1516::InTimeAdvancingState,
683  rti1516::RequestForTimeRegulationPending,
684  rti1516::RequestForTimeConstrainedPending,
685  rti1516::FederateNotExecutionMember,
686  rti1516::SaveInProgress,
687  rti1516::RestoreInProgress,
688  rti1516::RTIinternalError);
689 
690  // 8.12
691  virtual void flushQueueRequest
692  (rti1516::LogicalTime const & theTime)
693  throw (rti1516::InvalidLogicalTime,
694  rti1516::LogicalTimeAlreadyPassed,
695  rti1516::InTimeAdvancingState,
696  rti1516::RequestForTimeRegulationPending,
697  rti1516::RequestForTimeConstrainedPending,
698  rti1516::FederateNotExecutionMember,
699  rti1516::SaveInProgress,
700  rti1516::RestoreInProgress,
701  rti1516::RTIinternalError);
702 
703  // 8.14
704  virtual void enableAsynchronousDelivery ()
705  throw (rti1516::AsynchronousDeliveryAlreadyEnabled,
706  rti1516::FederateNotExecutionMember,
707  rti1516::SaveInProgress,
708  rti1516::RestoreInProgress,
709  rti1516::RTIinternalError);
710 
711  // 8.15
712  virtual void disableAsynchronousDelivery ()
713  throw (rti1516::AsynchronousDeliveryAlreadyDisabled,
714  rti1516::FederateNotExecutionMember,
715  rti1516::SaveInProgress,
716  rti1516::RestoreInProgress,
717  rti1516::RTIinternalError);
718 
719  // 8.16
720  virtual bool queryGALT (rti1516::LogicalTime & theTime)
721  throw (rti1516::FederateNotExecutionMember,
722  rti1516::SaveInProgress,
723  rti1516::RestoreInProgress,
724  rti1516::RTIinternalError);
725 
726  // 8.17
727  virtual void queryLogicalTime (rti1516::LogicalTime & theTime)
728  throw (rti1516::FederateNotExecutionMember,
729  rti1516::SaveInProgress,
730  rti1516::RestoreInProgress,
731  rti1516::RTIinternalError);
732 
733  // 8.18
734  virtual bool queryLITS (rti1516::LogicalTime & theTime)
735  throw (rti1516::FederateNotExecutionMember,
736  rti1516::SaveInProgress,
737  rti1516::RestoreInProgress,
738  rti1516::RTIinternalError);
739 
740  // 8.19
741  virtual void modifyLookahead
742  (rti1516::LogicalTimeInterval const & theLookahead)
743  throw (rti1516::TimeRegulationIsNotEnabled,
744  rti1516::InvalidLookahead,
745  rti1516::InTimeAdvancingState,
746  rti1516::FederateNotExecutionMember,
747  rti1516::SaveInProgress,
748  rti1516::RestoreInProgress,
749  rti1516::RTIinternalError);
750 
751  // 8.20
752  virtual void queryLookahead (rti1516::LogicalTimeInterval & interval)
753  throw (rti1516::TimeRegulationIsNotEnabled,
754  rti1516::FederateNotExecutionMember,
755  rti1516::SaveInProgress,
756  rti1516::RestoreInProgress,
757  rti1516::RTIinternalError);
758 
759  // 8.21
760  virtual void retract
761  (rti1516::MessageRetractionHandle theHandle)
762  throw (rti1516::InvalidRetractionHandle,
763  rti1516::TimeRegulationIsNotEnabled,
764  rti1516::MessageCanNoLongerBeRetracted,
765  rti1516::FederateNotExecutionMember,
766  rti1516::SaveInProgress,
767  rti1516::RestoreInProgress,
768  rti1516::RTIinternalError);
769 
770  // 8.23
771  virtual void changeAttributeOrderType
772  (rti1516::ObjectInstanceHandle theObject,
773  rti1516::AttributeHandleSet const & theAttributes,
774  rti1516::OrderType theType)
775  throw (rti1516::ObjectInstanceNotKnown,
776  rti1516::AttributeNotDefined,
777  rti1516::AttributeNotOwned,
778  rti1516::FederateNotExecutionMember,
779  rti1516::SaveInProgress,
780  rti1516::RestoreInProgress,
781  rti1516::RTIinternalError);
782 
783  // 8.24
784  virtual void changeInteractionOrderType
785  (rti1516::InteractionClassHandle theClass,
786  rti1516::OrderType theType)
787  throw (rti1516::InteractionClassNotDefined,
788  rti1516::InteractionClassNotPublished,
789  rti1516::FederateNotExecutionMember,
790  rti1516::SaveInProgress,
791  rti1516::RestoreInProgress,
792  rti1516::RTIinternalError);
793 
795  // Data Distribution Management //
797 
798  // 9.2
799  virtual rti1516::RegionHandle createRegion
800  (rti1516::DimensionHandleSet const & theDimensions)
801  throw (rti1516::InvalidDimensionHandle,
802  rti1516::FederateNotExecutionMember,
803  rti1516::SaveInProgress,
804  rti1516::RestoreInProgress,
805  rti1516::RTIinternalError);
806 
807  // 9.3
808  virtual void commitRegionModifications
809  (rti1516::RegionHandleSet const & theRegionHandleSet)
810  throw (rti1516::InvalidRegion,
811  rti1516::RegionNotCreatedByThisFederate,
812  rti1516::FederateNotExecutionMember,
813  rti1516::SaveInProgress,
814  rti1516::RestoreInProgress,
815  rti1516::RTIinternalError);
816 
817  // 9.4
818  virtual void deleteRegion
819  (rti1516::RegionHandle theRegion)
820  throw (rti1516::InvalidRegion,
821  rti1516::RegionNotCreatedByThisFederate,
822  rti1516::RegionInUseForUpdateOrSubscription,
823  rti1516::FederateNotExecutionMember,
824  rti1516::SaveInProgress,
825  rti1516::RestoreInProgress,
826  rti1516::RTIinternalError);
827 
828  // 9.5
829  virtual rti1516::ObjectInstanceHandle registerObjectInstanceWithRegions
830  (rti1516::ObjectClassHandle theClass,
831  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
832  theAttributeHandleSetRegionHandleSetPairVector)
833  throw (rti1516::ObjectClassNotDefined,
834  rti1516::ObjectClassNotPublished,
835  rti1516::AttributeNotDefined,
836  rti1516::AttributeNotPublished,
837  rti1516::InvalidRegion,
838  rti1516::RegionNotCreatedByThisFederate,
839  rti1516::InvalidRegionContext,
840  rti1516::FederateNotExecutionMember,
841  rti1516::SaveInProgress,
842  rti1516::RestoreInProgress,
843  rti1516::RTIinternalError);
844 
845  virtual rti1516::ObjectInstanceHandle registerObjectInstanceWithRegions
846  (rti1516::ObjectClassHandle theClass,
847  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
848  theAttributeHandleSetRegionHandleSetPairVector,
849  std::wstring const & theObjectInstanceName)
850  throw (rti1516::ObjectClassNotDefined,
851  rti1516::ObjectClassNotPublished,
852  rti1516::AttributeNotDefined,
853  rti1516::AttributeNotPublished,
854  rti1516::InvalidRegion,
855  rti1516::RegionNotCreatedByThisFederate,
856  rti1516::InvalidRegionContext,
857  rti1516::ObjectInstanceNameNotReserved,
858  rti1516::ObjectInstanceNameInUse,
859  rti1516::FederateNotExecutionMember,
860  rti1516::SaveInProgress,
861  rti1516::RestoreInProgress,
862  rti1516::RTIinternalError);
863 
864  // 9.6
865  virtual void associateRegionsForUpdates
866  (rti1516::ObjectInstanceHandle theObject,
867  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
868  theAttributeHandleSetRegionHandleSetPairVector)
869  throw (rti1516::ObjectInstanceNotKnown,
870  rti1516::AttributeNotDefined,
871  rti1516::InvalidRegion,
872  rti1516::RegionNotCreatedByThisFederate,
873  rti1516::InvalidRegionContext,
874  rti1516::FederateNotExecutionMember,
875  rti1516::SaveInProgress,
876  rti1516::RestoreInProgress,
877  rti1516::RTIinternalError);
878 
879  // 9.7
880  virtual void unassociateRegionsForUpdates
881  (rti1516::ObjectInstanceHandle theObject,
882  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
883  theAttributeHandleSetRegionHandleSetPairVector)
884  throw (rti1516::ObjectInstanceNotKnown,
885  rti1516::AttributeNotDefined,
886  rti1516::InvalidRegion,
887  rti1516::RegionNotCreatedByThisFederate,
888  rti1516::FederateNotExecutionMember,
889  rti1516::SaveInProgress,
890  rti1516::RestoreInProgress,
891  rti1516::RTIinternalError);
892 
893  // 9.8
894  virtual void subscribeObjectClassAttributesWithRegions
895  (rti1516::ObjectClassHandle theClass,
896  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
897  theAttributeHandleSetRegionHandleSetPairVector,
898  bool active = true)
899  throw (rti1516::ObjectClassNotDefined,
900  rti1516::AttributeNotDefined,
901  rti1516::InvalidRegion,
902  rti1516::RegionNotCreatedByThisFederate,
903  rti1516::InvalidRegionContext,
904  rti1516::FederateNotExecutionMember,
905  rti1516::SaveInProgress,
906  rti1516::RestoreInProgress,
907  rti1516::RTIinternalError);
908 
909  // 9.9
910  virtual void unsubscribeObjectClassAttributesWithRegions
911  (rti1516::ObjectClassHandle theClass,
912  rti1516::AttributeHandleSetRegionHandleSetPairVector const &
913  theAttributeHandleSetRegionHandleSetPairVector)
914  throw (rti1516::ObjectClassNotDefined,
915  rti1516::AttributeNotDefined,
916  rti1516::InvalidRegion,
917  rti1516::RegionNotCreatedByThisFederate,
918  rti1516::FederateNotExecutionMember,
919  rti1516::SaveInProgress,
920  rti1516::RestoreInProgress,
921  rti1516::RTIinternalError);
922 
923  // 9.10
924  virtual void subscribeInteractionClassWithRegions
925  (rti1516::InteractionClassHandle theClass,
926  rti1516::RegionHandleSet const & theRegionHandleSet,
927  bool active = true)
928  throw (rti1516::InteractionClassNotDefined,
929  rti1516::InvalidRegion,
930  rti1516::RegionNotCreatedByThisFederate,
931  rti1516::InvalidRegionContext,
932  rti1516::FederateServiceInvocationsAreBeingReportedViaMOM,
933  rti1516::FederateNotExecutionMember,
934  rti1516::SaveInProgress,
935  rti1516::RestoreInProgress,
936  rti1516::RTIinternalError);
937 
938  // 9.11
939  virtual void unsubscribeInteractionClassWithRegions
940  (rti1516::InteractionClassHandle theClass,
941  rti1516::RegionHandleSet const & theRegionHandleSet)
942  throw (rti1516::InteractionClassNotDefined,
943  rti1516::InvalidRegion,
944  rti1516::RegionNotCreatedByThisFederate,
945  rti1516::FederateNotExecutionMember,
946  rti1516::SaveInProgress,
947  rti1516::RestoreInProgress,
948  rti1516::RTIinternalError);
949 
950  // 9.12
951  virtual void sendInteractionWithRegions
952  (rti1516::InteractionClassHandle theInteraction,
953  rti1516::ParameterHandleValueMap const & theParameterValues,
954  rti1516::RegionHandleSet const & theRegionHandleSet,
955  rti1516::VariableLengthData const & theUserSuppliedTag)
956  throw (rti1516::InteractionClassNotDefined,
957  rti1516::InteractionClassNotPublished,
958  rti1516::InteractionParameterNotDefined,
959  rti1516::InvalidRegion,
960  rti1516::RegionNotCreatedByThisFederate,
961  rti1516::InvalidRegionContext,
962  rti1516::FederateNotExecutionMember,
963  rti1516::SaveInProgress,
964  rti1516::RestoreInProgress,
965  rti1516::RTIinternalError);
966 
967  virtual rti1516::MessageRetractionHandle sendInteractionWithRegions
968  (rti1516::InteractionClassHandle theInteraction,
969  rti1516::ParameterHandleValueMap const & theParameterValues,
970  rti1516::RegionHandleSet const & theRegionHandleSet,
971  rti1516::VariableLengthData const & theUserSuppliedTag,
972  rti1516::LogicalTime const & theTime)
973  throw (rti1516::InteractionClassNotDefined,
974  rti1516::InteractionClassNotPublished,
975  rti1516::InteractionParameterNotDefined,
976  rti1516::InvalidRegion,
977  rti1516::RegionNotCreatedByThisFederate,
978  rti1516::InvalidRegionContext,
979  rti1516::InvalidLogicalTime,
980  rti1516::FederateNotExecutionMember,
981  rti1516::SaveInProgress,
982  rti1516::RestoreInProgress,
983  rti1516::RTIinternalError);
984 
985  // 9.13
986  virtual void requestAttributeValueUpdateWithRegions
987  (rti1516::ObjectClassHandle theClass,
988  rti1516::AttributeHandleSetRegionHandleSetPairVector const & theSet,
989  rti1516::VariableLengthData const & theUserSuppliedTag)
990  throw (rti1516::ObjectClassNotDefined,
991  rti1516::AttributeNotDefined,
992  rti1516::InvalidRegion,
993  rti1516::RegionNotCreatedByThisFederate,
994  rti1516::InvalidRegionContext,
995  rti1516::FederateNotExecutionMember,
996  rti1516::SaveInProgress,
997  rti1516::RestoreInProgress,
998  rti1516::RTIinternalError);
999 
1001  // RTI Support Services //
1003 
1004  // 10.2
1005  virtual rti1516::ObjectClassHandle getObjectClassHandle
1006  (std::wstring const & theName)
1007  throw (rti1516::NameNotFound,
1008  rti1516::FederateNotExecutionMember,
1009  rti1516::RTIinternalError);
1010 
1011  // 10.3
1012  virtual std::wstring getObjectClassName
1013  (rti1516::ObjectClassHandle theHandle)
1014  throw (rti1516::InvalidObjectClassHandle,
1015  rti1516::FederateNotExecutionMember,
1016  rti1516::RTIinternalError);
1017 
1018  // 10.4
1019  virtual rti1516::AttributeHandle getAttributeHandle
1020  (rti1516::ObjectClassHandle whichClass,
1021  std::wstring const & theAttributeName)
1022  throw (rti1516::InvalidObjectClassHandle,
1023  rti1516::NameNotFound,
1024  rti1516::FederateNotExecutionMember,
1025  rti1516::RTIinternalError);
1026 
1027  // 10.5
1028  virtual std::wstring getAttributeName
1029  (rti1516::ObjectClassHandle whichClass,
1030  rti1516::AttributeHandle theHandle)
1031  throw (rti1516::InvalidObjectClassHandle,
1032  rti1516::InvalidAttributeHandle,
1033  rti1516::AttributeNotDefined,
1034  rti1516::FederateNotExecutionMember,
1035  rti1516::RTIinternalError);
1036 
1037  // 10.6
1039  (std::wstring const & theName)
1040  throw (rti1516::NameNotFound,
1041  rti1516::FederateNotExecutionMember,
1042  rti1516::RTIinternalError);
1043 
1044  // 10.7
1045  virtual std::wstring getInteractionClassName
1046  (rti1516::InteractionClassHandle theHandle)
1047  throw (rti1516::InvalidInteractionClassHandle,
1048  rti1516::FederateNotExecutionMember,
1049  rti1516::RTIinternalError);
1050 
1051  // 10.8
1052  virtual rti1516::ParameterHandle getParameterHandle
1053  (rti1516::InteractionClassHandle whichClass,
1054  std::wstring const & theName)
1055  throw (rti1516::InvalidInteractionClassHandle,
1056  rti1516::NameNotFound,
1057  rti1516::FederateNotExecutionMember,
1058  rti1516::RTIinternalError);
1059 
1060  // 10.9
1061  virtual std::wstring getParameterName
1062  (rti1516::InteractionClassHandle whichClass,
1063  rti1516::ParameterHandle theHandle)
1064  throw (rti1516::InvalidInteractionClassHandle,
1065  rti1516::InvalidParameterHandle,
1066  rti1516::InteractionParameterNotDefined,
1067  rti1516::FederateNotExecutionMember,
1068  rti1516::RTIinternalError);
1069 
1070  // 10.10
1071  virtual rti1516::ObjectInstanceHandle getObjectInstanceHandle
1072  (std::wstring const & theName)
1073  throw (rti1516::ObjectInstanceNotKnown,
1074  rti1516::FederateNotExecutionMember,
1075  rti1516::RTIinternalError);
1076 
1077  // 10.11
1078  virtual std::wstring getObjectInstanceName
1079  (rti1516::ObjectInstanceHandle theHandle)
1080  throw (rti1516::ObjectInstanceNotKnown,
1081  rti1516::FederateNotExecutionMember,
1082  rti1516::RTIinternalError);
1083 
1084  // 10.12
1085  virtual rti1516::DimensionHandle getDimensionHandle
1086  (std::wstring const & theName)
1087  throw (rti1516::NameNotFound,
1088  rti1516::FederateNotExecutionMember,
1089  rti1516::RTIinternalError);
1090 
1091  // 10.13
1092  virtual std::wstring getDimensionName
1093  (rti1516::DimensionHandle theHandle)
1094  throw (rti1516::InvalidDimensionHandle,
1095  rti1516::FederateNotExecutionMember,
1096  rti1516::RTIinternalError);
1097 
1098  // 10.14
1099  virtual unsigned long getDimensionUpperBound
1100  (rti1516::DimensionHandle theHandle)
1101  throw (rti1516::InvalidDimensionHandle,
1102  rti1516::FederateNotExecutionMember,
1103  rti1516::RTIinternalError);
1104 
1105  // 10.15
1106  virtual rti1516::DimensionHandleSet getAvailableDimensionsForClassAttribute
1107  (rti1516::ObjectClassHandle theClass,
1108  rti1516::AttributeHandle theHandle)
1109  throw (rti1516::InvalidObjectClassHandle,
1110  rti1516::InvalidAttributeHandle,
1111  rti1516::AttributeNotDefined,
1112  rti1516::FederateNotExecutionMember,
1113  rti1516::RTIinternalError);
1114 
1115  // 10.16
1116  virtual rti1516::ObjectClassHandle getKnownObjectClassHandle
1117  (rti1516::ObjectInstanceHandle theObject)
1118  throw (rti1516::ObjectInstanceNotKnown,
1119  rti1516::FederateNotExecutionMember,
1120  rti1516::RTIinternalError);
1121 
1122  // 10.17
1123  virtual rti1516::DimensionHandleSet getAvailableDimensionsForInteractionClass
1124  (rti1516::InteractionClassHandle theClass)
1125  throw (rti1516::InvalidInteractionClassHandle,
1126  rti1516::FederateNotExecutionMember,
1127  rti1516::RTIinternalError);
1128 
1129  // 10.18
1130  virtual rti1516::TransportationType getTransportationType
1131  (std::wstring const & transportationName)
1132  throw (rti1516::InvalidTransportationName,
1133  rti1516::FederateNotExecutionMember,
1134  rti1516::RTIinternalError);
1135 
1136  // 10.19
1137  virtual std::wstring getTransportationName
1138  (rti1516::TransportationType transportationType)
1139  throw (rti1516::InvalidTransportationType,
1140  rti1516::FederateNotExecutionMember,
1141  rti1516::RTIinternalError);
1142 
1143  // 10.20
1144  virtual rti1516::OrderType getOrderType
1145  (std::wstring const & orderName)
1146  throw (rti1516::InvalidOrderName,
1147  rti1516::FederateNotExecutionMember,
1148  rti1516::RTIinternalError);
1149 
1150  // 10.21
1151  virtual std::wstring getOrderName
1152  (rti1516::OrderType orderType)
1153  throw (rti1516::InvalidOrderType,
1154  rti1516::FederateNotExecutionMember,
1155  rti1516::RTIinternalError);
1156 
1157  // 10.22
1158  virtual void enableObjectClassRelevanceAdvisorySwitch ()
1159  throw (rti1516::ObjectClassRelevanceAdvisorySwitchIsOn,
1160  rti1516::FederateNotExecutionMember,
1161  rti1516::SaveInProgress,
1162  rti1516::RestoreInProgress,
1163  rti1516::RTIinternalError);
1164 
1165  // 10.23
1166  virtual void disableObjectClassRelevanceAdvisorySwitch ()
1167  throw (rti1516::ObjectClassRelevanceAdvisorySwitchIsOff,
1168  rti1516::FederateNotExecutionMember,
1169  rti1516::SaveInProgress,
1170  rti1516::RestoreInProgress,
1171  rti1516::RTIinternalError);
1172 
1173  // 10.24
1175  throw (rti1516::AttributeRelevanceAdvisorySwitchIsOn,
1176  rti1516::FederateNotExecutionMember,
1177  rti1516::SaveInProgress,
1178  rti1516::RestoreInProgress,
1179  rti1516::RTIinternalError);
1180 
1181  // 10.25
1183  throw (rti1516::AttributeRelevanceAdvisorySwitchIsOff,
1184  rti1516::FederateNotExecutionMember,
1185  rti1516::SaveInProgress,
1186  rti1516::RestoreInProgress,
1187  rti1516::RTIinternalError);
1188 
1189  // 10.26
1190  virtual void enableAttributeScopeAdvisorySwitch ()
1191  throw (rti1516::AttributeScopeAdvisorySwitchIsOn,
1192  rti1516::FederateNotExecutionMember,
1193  rti1516::SaveInProgress,
1194  rti1516::RestoreInProgress,
1195  rti1516::RTIinternalError);
1196 
1197  // 10.27
1198  virtual void disableAttributeScopeAdvisorySwitch ()
1199  throw (rti1516::AttributeScopeAdvisorySwitchIsOff,
1200  rti1516::FederateNotExecutionMember,
1201  rti1516::SaveInProgress,
1202  rti1516::RestoreInProgress,
1203  rti1516::RTIinternalError);
1204 
1205  // 10.28
1207  throw (rti1516::InteractionRelevanceAdvisorySwitchIsOn,
1208  rti1516::FederateNotExecutionMember,
1209  rti1516::SaveInProgress,
1210  rti1516::RestoreInProgress,
1211  rti1516::RTIinternalError);
1212 
1213  // 10.29
1215  throw (rti1516::InteractionRelevanceAdvisorySwitchIsOff,
1216  rti1516::FederateNotExecutionMember,
1217  rti1516::SaveInProgress,
1218  rti1516::RestoreInProgress,
1219  rti1516::RTIinternalError);
1220 
1221  // 10.30
1222  virtual
1223  rti1516::DimensionHandleSet getDimensionHandleSet
1224  (rti1516::RegionHandle theRegionHandle)
1225  throw (rti1516::InvalidRegion,
1226  rti1516::FederateNotExecutionMember,
1227  rti1516::SaveInProgress,
1228  rti1516::RestoreInProgress,
1229  rti1516::RTIinternalError);
1230 
1231  // 10.31
1232  virtual
1233  rti1516::RangeBounds getRangeBounds
1234  (rti1516::RegionHandle theRegionHandle,
1235  rti1516::DimensionHandle theDimensionHandle)
1236  throw (rti1516::InvalidRegion,
1237  rti1516::RegionDoesNotContainSpecifiedDimension,
1238  rti1516::FederateNotExecutionMember,
1239  rti1516::SaveInProgress,
1240  rti1516::RestoreInProgress,
1241  rti1516::RTIinternalError);
1242 
1243  // 10.32
1244  virtual void setRangeBounds
1245  (rti1516::RegionHandle theRegionHandle,
1246  rti1516::DimensionHandle theDimensionHandle,
1247  rti1516::RangeBounds const & theRangeBounds)
1248  throw (rti1516::InvalidRegion,
1249  rti1516::RegionNotCreatedByThisFederate,
1250  rti1516::RegionDoesNotContainSpecifiedDimension,
1251  rti1516::InvalidRangeBound,
1252  rti1516::FederateNotExecutionMember,
1253  rti1516::SaveInProgress,
1254  rti1516::RestoreInProgress,
1255  rti1516::RTIinternalError);
1256 
1257  // 10.33
1258  virtual unsigned long normalizeFederateHandle
1259  (rti1516::FederateHandle theFederateHandle)
1260  throw (rti1516::FederateNotExecutionMember,
1261  rti1516::InvalidFederateHandle,
1262  rti1516::RTIinternalError);
1263 
1264  // 10.34
1265  virtual unsigned long normalizeServiceGroup
1266  (rti1516::ServiceGroupIndicator theServiceGroup)
1267  throw (rti1516::FederateNotExecutionMember,
1268  rti1516::InvalidServiceGroup,
1269  rti1516::RTIinternalError);
1270 
1271  // 10.37
1272  virtual bool evokeCallback(double approximateMinimumTimeInSeconds,
1273  bool unlockWhileWaiting=false)
1274  throw (rti1516::FederateNotExecutionMember,
1275  rti1516::RTIinternalError);
1276 
1277  // 10.38
1278  virtual bool evokeMultipleCallbacks(double approximateMinimumTimeInSeconds,
1279  double approximateMaximumTimeInSeconds,
1280  bool unlockWhileWaiting=false)
1281  throw (rti1516::FederateNotExecutionMember,
1282  rti1516::RTIinternalError);
1283 
1284  // 10.39
1285  virtual void enableCallbacks ()
1286  throw (rti1516::FederateNotExecutionMember,
1287  rti1516::SaveInProgress,
1288  rti1516::RestoreInProgress,
1289  rti1516::RTIinternalError);
1290 
1291  // 10.40
1292  virtual void disableCallbacks ()
1293  throw (rti1516::FederateNotExecutionMember,
1294  rti1516::SaveInProgress,
1295  rti1516::RestoreInProgress,
1296  rti1516::RTIinternalError);
1297 
1298  virtual rti1516::FederateHandle decodeFederateHandle(
1299  rti1516::VariableLengthData const & encodedValue) const;
1300 
1301  virtual rti1516::ObjectClassHandle decodeObjectClassHandle(
1302  rti1516::VariableLengthData const & encodedValue) const;
1303 
1304  virtual rti1516::InteractionClassHandle decodeInteractionClassHandle(
1305  rti1516::VariableLengthData const & encodedValue) const;
1306 
1307  virtual rti1516::ObjectInstanceHandle decodeObjectInstanceHandle(
1308  rti1516::VariableLengthData const & encodedValue) const;
1309 
1310  virtual rti1516::AttributeHandle decodeAttributeHandle(
1311  rti1516::VariableLengthData const & encodedValue) const;
1312 
1313  virtual rti1516::ParameterHandle decodeParameterHandle(
1314  rti1516::VariableLengthData const & encodedValue) const;
1315 
1316  virtual rti1516::DimensionHandle decodeDimensionHandle(
1317  rti1516::VariableLengthData const & encodedValue) const;
1318 
1319  virtual rti1516::MessageRetractionHandle decodeMessageRetractionHandle(
1320  rti1516::VariableLengthData const & encodedValue) const;
1321 
1322  virtual rti1516::RegionHandle decodeRegionHandle(
1323  rti1516::VariableLengthData const & encodedValue) const;
1324 
1325 
1326 public:
1327 
1328  // Creates an instance of a DtRtiAmbassadorImplementor
1329  static DtRtiAmbassadorImplementor* create(rti1516::RTIambassador* topLevelAmbPtr,
1330  const std::vector< std::wstring >& initArgs);
1331 
1332 protected:
1333 
1334  // Wrapper to capture statistics for federate ambassador calls
1335  DtNetStatsFedAmbWrapper* myStatisticsFedAmb;
1336  DtString myStatisticsFedAmbName;
1337 
1338  // Statistics Log
1339  DtNetStatsMonitor* myNetStats;
1340 
1341  // API Call Timer
1342  MAKRti::DtClock myTimer;
1343 
1344  MAKRti::DtTime myStartTime;
1345 
1346 };
1347 
1348 inline void DtNetStatsRtiAmbImpl::recordApiStats(DtRtiAmbAPIType serviceCallName) const
1349 {
1350  if ( myNetStats )
1351  myNetStats->recordApiStats(serviceCallName, myTimer.elapsedRealTime() );
1352 }
1353 
1354 #endif // DtIFSPEC1516
1355 #endif // netStatsRtiAmb1516_h__

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)