VR-Link API Documentation for HLA 1.3
dirRtiAmb1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3  ** All rights reserved.
4  *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtHLA
12 #if DtHLA_1516_EVOLVED
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "vrlRtiAmb1516e.h"
16 #include "rtiNamespace.h"
17 
18 
19 using namespace RTI;
20 
21 
30 {
31 
32 public:
33 
35  throw(BadInitializationParameter,
36  RTIinternalError);
37 
38  virtual ~DtDirectRtiAmbassador();
39 
40 private:
42  DtDirectRtiAmbassador(const DtDirectRtiAmbassador &other);
43 
45  DtDirectRtiAmbassador& operator=(const DtDirectRtiAmbassador &other);
46 
47 public:
48 
49 
51  virtual RTI::RTIambassador* rtiAmb();
52 
53  // 4.2
54  virtual void connect (
55  FederateAmbassador & federateAmbassador,
56  CallbackModel theCallbackModel,
57  std::wstring const & localSettingsDesignator=L"")
58  throw (
59  ConnectionFailed,
60  InvalidLocalSettingsDesignator,
61  UnsupportedCallbackModel,
62  AlreadyConnected,
63  CallNotAllowedFromWithinCallback,
64  RTIinternalError);
65 
66  // 4.3
67  virtual void disconnect ()
68  throw (
69  FederateIsExecutionMember,
70  CallNotAllowedFromWithinCallback,
71  RTIinternalError);
72 
73  // 4.5
74  virtual void createFederationExecution (
75  std::wstring const & federationExecutionName,
76  std::wstring const & fomModule,
77  std::wstring const & logicalTimeImplementationName = L"")
78  throw (
79  CouldNotCreateLogicalTimeFactory,
80  InconsistentFDD,
81  ErrorReadingFDD,
82  CouldNotOpenFDD,
83  FederationExecutionAlreadyExists,
84  NotConnected,
85  RTIinternalError);
86 
87  virtual void createFederationExecution (
88  std::wstring const & federationExecutionName,
89  std::vector<std::wstring> const & fomModules,
90  std::wstring const & logicalTimeImplementationName = L"")
91  throw (
92  CouldNotCreateLogicalTimeFactory,
93  InconsistentFDD,
94  ErrorReadingFDD,
95  CouldNotOpenFDD,
96  FederationExecutionAlreadyExists,
97  NotConnected,
98  RTIinternalError);
99 
100  virtual void createFederationExecutionWithMIM (
101  std::wstring const & federationExecutionName,
102  std::vector<std::wstring> const & fomModules,
103  std::wstring const & momModule,
104  std::wstring const & logicalTimeImplementationName = L"")
105  throw (
106  CouldNotCreateLogicalTimeFactory,
107  InconsistentFDD,
108  ErrorReadingFDD,
109  CouldNotOpenFDD,
110  DesignatorIsHLAstandardMIM,
111  ErrorReadingMIM,
112  CouldNotOpenMIM,
113  FederationExecutionAlreadyExists,
114  NotConnected,
115  RTIinternalError);
116 
117  // 4.6
118  virtual void destroyFederationExecution (
119  std::wstring const & federationExecutionName)
120  throw (
121  FederatesCurrentlyJoined,
122  FederationExecutionDoesNotExist,
123  NotConnected,
124  RTIinternalError);
125 
126  // 4.7
127  virtual void listFederationExecutions () const
128  throw (
129  NotConnected,
130  RTIinternalError);
131 
132  // 4.9
133  virtual FederateHandle joinFederationExecution (
134  std::wstring const & federateType,
135  std::wstring const & federationExecutionName,
136  std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
137  throw (
138  CouldNotCreateLogicalTimeFactory,
139  FederationExecutionDoesNotExist,
140  InconsistentFDD,
141  ErrorReadingFDD,
142  CouldNotOpenFDD,
143  SaveInProgress,
144  RestoreInProgress,
145  FederateAlreadyExecutionMember,
146  NotConnected,
147  CallNotAllowedFromWithinCallback,
148  RTIinternalError);
149 
150  virtual FederateHandle joinFederationExecution (
151  std::wstring const & federateName,
152  std::wstring const & federateType,
153  std::wstring const & federationExecutionName,
154  std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
155  throw (
156  CouldNotCreateLogicalTimeFactory,
157  FederateNameAlreadyInUse,
158  FederationExecutionDoesNotExist,
159  InconsistentFDD,
160  ErrorReadingFDD,
161  CouldNotOpenFDD,
162  SaveInProgress,
163  RestoreInProgress,
164  FederateAlreadyExecutionMember,
165  NotConnected,
166  CallNotAllowedFromWithinCallback,
167  RTIinternalError);
168 
169  // 4.10
170  virtual void resignFederationExecution (
171  ResignAction resignAction)
172  throw (
173  InvalidResignAction,
174  OwnershipAcquisitionPending,
175  FederateOwnsAttributes,
176  FederateNotExecutionMember,
177  NotConnected,
178  CallNotAllowedFromWithinCallback,
179  RTIinternalError);
180 
181  // 4.11
182  virtual void registerFederationSynchronizationPoint (
183  std::wstring const & label,
184  VariableLengthData const & theUserSuppliedTag)
185  throw (
186  SaveInProgress,
187  RestoreInProgress,
188  FederateNotExecutionMember,
189  NotConnected,
190  RTIinternalError);
191 
192  virtual void registerFederationSynchronizationPoint (
193  std::wstring const & label,
194  VariableLengthData const & theUserSuppliedTag,
195  FederateHandleSet const & synchronizationSet)
196  throw (
197  InvalidFederateHandle,
198  SaveInProgress,
199  RestoreInProgress,
200  FederateNotExecutionMember,
201  NotConnected,
202  RTIinternalError);
203 
204  // 4.14
205  virtual void synchronizationPointAchieved (
206  std::wstring const & label,
207  bool successfully = true)
208  throw (
209  SynchronizationPointLabelNotAnnounced,
210  SaveInProgress,
211  RestoreInProgress,
212  FederateNotExecutionMember,
213  NotConnected,
214  RTIinternalError);
215 
216  // 4.16
217  virtual void requestFederationSave (
218  std::wstring const & label)
219  throw (
220  SaveInProgress,
221  RestoreInProgress,
222  FederateNotExecutionMember,
223  NotConnected,
224  RTIinternalError);
225 
226  virtual void requestFederationSave (
227  std::wstring const & label,
228  LogicalTime const & theTime)
229  throw (
230  LogicalTimeAlreadyPassed,
231  InvalidLogicalTime,
232  FederateUnableToUseTime,
233  SaveInProgress,
234  RestoreInProgress,
235  FederateNotExecutionMember,
236  NotConnected,
237  RTIinternalError);
238 
239  // 4.18
240  virtual void federateSaveBegun ()
241  throw (
242  SaveNotInitiated,
243  RestoreInProgress,
244  FederateNotExecutionMember,
245  NotConnected,
246  RTIinternalError);
247 
248  // 4.19
249  virtual void federateSaveComplete ()
250  throw (
251  FederateHasNotBegunSave,
252  RestoreInProgress,
253  FederateNotExecutionMember,
254  NotConnected,
255  RTIinternalError);
256 
257  virtual void federateSaveNotComplete ()
258  throw (
259  FederateHasNotBegunSave,
260  RestoreInProgress,
261  FederateNotExecutionMember,
262  NotConnected,
263  RTIinternalError);
264 
265  // 4.21
266  virtual void abortFederationSave ()
267  throw (
268  SaveNotInProgress,
269  FederateNotExecutionMember,
270  NotConnected,
271  RTIinternalError);
272 
273  // 4.22
274  virtual void queryFederationSaveStatus ()
275  throw (
276  RestoreInProgress,
277  FederateNotExecutionMember,
278  NotConnected,
279  RTIinternalError);
280 
281  // 4.24
282  virtual void requestFederationRestore (
283  std::wstring const & label)
284  throw (
285  SaveInProgress,
286  RestoreInProgress,
287  FederateNotExecutionMember,
288  NotConnected,
289  RTIinternalError);
290 
291  // 4.28
292  virtual void federateRestoreComplete ()
293  throw (
294  RestoreNotRequested,
295  SaveInProgress,
296  FederateNotExecutionMember,
297  NotConnected,
298  RTIinternalError);
299 
300  virtual void federateRestoreNotComplete ()
301  throw (
302  RestoreNotRequested,
303  SaveInProgress,
304  FederateNotExecutionMember,
305  NotConnected,
306  RTIinternalError);
307 
308  // 4.30
309  virtual void abortFederationRestore ()
310  throw (
311  RestoreNotInProgress,
312  FederateNotExecutionMember,
313  NotConnected,
314  RTIinternalError);
315 
316  // 4.31
317  virtual void queryFederationRestoreStatus ()
318  throw (
319  SaveInProgress,
320  FederateNotExecutionMember,
321  NotConnected,
322  RTIinternalError);
323 
325  // Declaration Management Services //
327 
328  // 5.2
329  virtual void publishObjectClassAttributes (
330  ObjectClassHandle theClass,
331  AttributeHandleSet const & attributeList)
332  throw (
333  AttributeNotDefined,
334  ObjectClassNotDefined,
335  SaveInProgress,
336  RestoreInProgress,
337  FederateNotExecutionMember,
338  NotConnected,
339  RTIinternalError);
340 
341  // 5.3
342  virtual void unpublishObjectClass (
343  ObjectClassHandle theClass)
344  throw (
345  OwnershipAcquisitionPending,
346  ObjectClassNotDefined,
347  SaveInProgress,
348  RestoreInProgress,
349  FederateNotExecutionMember,
350  NotConnected,
351  RTIinternalError);
352 
353  virtual void unpublishObjectClassAttributes (
354  ObjectClassHandle theClass,
355  AttributeHandleSet const & attributeList)
356  throw (
357  OwnershipAcquisitionPending,
358  AttributeNotDefined,
359  ObjectClassNotDefined,
360  SaveInProgress,
361  RestoreInProgress,
362  FederateNotExecutionMember,
363  NotConnected,
364  RTIinternalError);
365 
366  // 5.4
367  virtual void publishInteractionClass (
368  InteractionClassHandle theInteraction)
369  throw (
370  InteractionClassNotDefined,
371  SaveInProgress,
372  RestoreInProgress,
373  FederateNotExecutionMember,
374  NotConnected,
375  RTIinternalError);
376 
377  // 5.5
378  virtual void unpublishInteractionClass (
379  InteractionClassHandle theInteraction)
380  throw (
381  InteractionClassNotDefined,
382  SaveInProgress,
383  RestoreInProgress,
384  FederateNotExecutionMember,
385  NotConnected,
386  RTIinternalError);
387 
388  // 5.6
389  virtual void subscribeObjectClassAttributes (
390  ObjectClassHandle theClass,
391  AttributeHandleSet const & attributeList,
392  bool active = true,
393  std::wstring const & updateRateDesignator = L"")
394  throw (
395  AttributeNotDefined,
396  ObjectClassNotDefined,
397  InvalidUpdateRateDesignator,
398  SaveInProgress,
399  RestoreInProgress,
400  FederateNotExecutionMember,
401  NotConnected,
402  RTIinternalError);
403 
404  // 5.7
405  virtual void unsubscribeObjectClass (
406  ObjectClassHandle theClass)
407  throw (
408  ObjectClassNotDefined,
409  SaveInProgress,
410  RestoreInProgress,
411  FederateNotExecutionMember,
412  NotConnected,
413  RTIinternalError);
414 
415  virtual void unsubscribeObjectClassAttributes (
416  ObjectClassHandle theClass,
417  AttributeHandleSet const & attributeList)
418  throw (
419  AttributeNotDefined,
420  ObjectClassNotDefined,
421  SaveInProgress,
422  RestoreInProgress,
423  FederateNotExecutionMember,
424  NotConnected,
425  RTIinternalError);
426 
427  // 5.8
428  virtual void subscribeInteractionClass (
429  InteractionClassHandle theClass,
430  bool active = true)
431  throw (
432  FederateServiceInvocationsAreBeingReportedViaMOM,
433  InteractionClassNotDefined,
434  SaveInProgress,
435  RestoreInProgress,
436  FederateNotExecutionMember,
437  NotConnected,
438  RTIinternalError);
439 
440  // 5.9
441  virtual void unsubscribeInteractionClass (
442  InteractionClassHandle theClass)
443  throw (
444  InteractionClassNotDefined,
445  SaveInProgress,
446  RestoreInProgress,
447  FederateNotExecutionMember,
448  NotConnected,
449  RTIinternalError);
450 
452  // Object Management Services //
454 
455  // 6.2
456  virtual void reserveObjectInstanceName (
457  std::wstring const & theObjectInstanceName)
458  throw (
459  IllegalName,
460  SaveInProgress,
461  RestoreInProgress,
462  FederateNotExecutionMember,
463  NotConnected,
464  RTIinternalError);
465 
466  // 6.4
467  virtual void releaseObjectInstanceName (
468  std::wstring const & theObjectInstanceName)
469  throw (
470  ObjectInstanceNameNotReserved,
471  SaveInProgress,
472  RestoreInProgress,
473  FederateNotExecutionMember,
474  NotConnected,
475  RTIinternalError);
476 
477  // 6.5
478  virtual void reserveMultipleObjectInstanceName (
479  std::set<std::wstring> const & theObjectInstanceNames)
480  throw (
481  IllegalName,
482  NameSetWasEmpty,
483  SaveInProgress,
484  RestoreInProgress,
485  FederateNotExecutionMember,
486  NotConnected,
487  RTIinternalError);
488 
489  // 6.7
490  virtual void releaseMultipleObjectInstanceName (
491  std::set<std::wstring> const & theObjectInstanceNames)
492  throw (
493  ObjectInstanceNameNotReserved,
494  SaveInProgress,
495  RestoreInProgress,
496  FederateNotExecutionMember,
497  NotConnected,
498  RTIinternalError);
499 
500  // 6.8
501  virtual ObjectInstanceHandle registerObjectInstance (
502  ObjectClassHandle theClass)
503  throw (
504  ObjectClassNotPublished,
505  ObjectClassNotDefined,
506  SaveInProgress,
507  RestoreInProgress,
508  FederateNotExecutionMember,
509  NotConnected,
510  RTIinternalError);
511 
512  virtual ObjectInstanceHandle registerObjectInstance (
513  ObjectClassHandle theClass,
514  std::wstring const & theObjectInstanceName)
515  throw (
516  ObjectInstanceNameInUse,
517  ObjectInstanceNameNotReserved,
518  ObjectClassNotPublished,
519  ObjectClassNotDefined,
520  SaveInProgress,
521  RestoreInProgress,
522  FederateNotExecutionMember,
523  NotConnected,
524  RTIinternalError);
525 
526  // 6.10
527  virtual void updateAttributeValues (
528  ObjectInstanceHandle theObject,
529  AttributeHandleValueMap const & theAttributeValues,
530  VariableLengthData const & theUserSuppliedTag)
531  throw (
532  AttributeNotOwned,
533  AttributeNotDefined,
534  ObjectInstanceNotKnown,
535  SaveInProgress,
536  RestoreInProgress,
537  FederateNotExecutionMember,
538  NotConnected,
539  RTIinternalError);
540 
541  virtual MessageRetractionHandle updateAttributeValues (
542  ObjectInstanceHandle theObject,
543  AttributeHandleValueMap const & theAttributeValues,
544  VariableLengthData const & theUserSuppliedTag,
545  LogicalTime const & theTime)
546  throw (
547  InvalidLogicalTime,
548  AttributeNotOwned,
549  AttributeNotDefined,
550  ObjectInstanceNotKnown,
551  SaveInProgress,
552  RestoreInProgress,
553  FederateNotExecutionMember,
554  NotConnected,
555  RTIinternalError);
556 
557  // 6.12
558  virtual void sendInteraction (
559  InteractionClassHandle theInteraction,
560  ParameterHandleValueMap const & theParameterValues,
561  VariableLengthData const & theUserSuppliedTag)
562  throw (
563  InteractionClassNotPublished,
564  InteractionParameterNotDefined,
565  InteractionClassNotDefined,
566  SaveInProgress,
567  RestoreInProgress,
568  FederateNotExecutionMember,
569  NotConnected,
570  RTIinternalError);
571 
572  virtual MessageRetractionHandle sendInteraction (
573  InteractionClassHandle theInteraction,
574  ParameterHandleValueMap const & theParameterValues,
575  VariableLengthData const & theUserSuppliedTag,
576  LogicalTime const & theTime)
577  throw (
578  InvalidLogicalTime,
579  InteractionClassNotPublished,
580  InteractionParameterNotDefined,
581  InteractionClassNotDefined,
582  SaveInProgress,
583  RestoreInProgress,
584  FederateNotExecutionMember,
585  NotConnected,
586  RTIinternalError);
587 
588  // 6.14
589  virtual void deleteObjectInstance (
590  ObjectInstanceHandle theObject,
591  VariableLengthData const & theUserSuppliedTag)
592  throw (
593  DeletePrivilegeNotHeld,
594  ObjectInstanceNotKnown,
595  SaveInProgress,
596  RestoreInProgress,
597  FederateNotExecutionMember,
598  NotConnected,
599  RTIinternalError);
600 
601  virtual MessageRetractionHandle deleteObjectInstance (
602  ObjectInstanceHandle theObject,
603  VariableLengthData const & theUserSuppliedTag,
604  LogicalTime const & theTime)
605  throw (
606  InvalidLogicalTime,
607  DeletePrivilegeNotHeld,
608  ObjectInstanceNotKnown,
609  SaveInProgress,
610  RestoreInProgress,
611  FederateNotExecutionMember,
612  NotConnected,
613  RTIinternalError);
614 
615  // 6.16
616  virtual void localDeleteObjectInstance (
617  ObjectInstanceHandle theObject)
618  throw (
619  OwnershipAcquisitionPending,
620  FederateOwnsAttributes,
621  ObjectInstanceNotKnown,
622  SaveInProgress,
623  RestoreInProgress,
624  FederateNotExecutionMember,
625  NotConnected,
626  RTIinternalError);
627 
628  // 6.19
629  virtual void requestAttributeValueUpdate (
630  ObjectInstanceHandle theObject,
631  AttributeHandleSet const & theAttributes,
632  VariableLengthData const & theUserSuppliedTag)
633  throw (
634  AttributeNotDefined,
635  ObjectInstanceNotKnown,
636  SaveInProgress,
637  RestoreInProgress,
638  FederateNotExecutionMember,
639  NotConnected,
640  RTIinternalError);
641 
642  virtual void requestAttributeValueUpdate (
643  ObjectClassHandle theClass,
644  AttributeHandleSet const & theAttributes,
645  VariableLengthData const & theUserSuppliedTag)
646  throw (
647  AttributeNotDefined,
648  ObjectClassNotDefined,
649  SaveInProgress,
650  RestoreInProgress,
651  FederateNotExecutionMember,
652  NotConnected,
653  RTIinternalError);
654 
655  // 6.23
656  virtual void requestAttributeTransportationTypeChange (
657  ObjectInstanceHandle theObject,
658  AttributeHandleSet const & theAttributes,
659  TransportationType theType)
660  throw (
661  AttributeAlreadyBeingChanged,
662  AttributeNotOwned,
663  AttributeNotDefined,
664  ObjectInstanceNotKnown,
665  InvalidTransportationType,
666  SaveInProgress,
667  RestoreInProgress,
668  FederateNotExecutionMember,
669  NotConnected,
670  RTIinternalError);
671 
672  // 6.25
673  virtual void queryAttributeTransportationType (
674  ObjectInstanceHandle theObject,
675  AttributeHandle theAttribute)
676  throw (
677  AttributeNotDefined,
678  ObjectInstanceNotKnown,
679  SaveInProgress,
680  RestoreInProgress,
681  FederateNotExecutionMember,
682  NotConnected,
683  RTIinternalError);
684 
685  // 6.27
686  virtual void requestInteractionTransportationTypeChange (
687  InteractionClassHandle theClass,
688  TransportationType theType)
689  throw (
690  InteractionClassAlreadyBeingChanged,
691  InteractionClassNotPublished,
692  InteractionClassNotDefined,
693  InvalidTransportationType,
694  SaveInProgress,
695  RestoreInProgress,
696  FederateNotExecutionMember,
697  NotConnected,
698  RTIinternalError);
699 
700  // 6.29
701  virtual void queryInteractionTransportationType (
702  FederateHandle theFederate,
703  InteractionClassHandle theInteraction)
704  throw (
705  InteractionClassNotDefined,
706  SaveInProgress,
707  RestoreInProgress,
708  FederateNotExecutionMember,
709  NotConnected,
710  RTIinternalError);
711 
712 
714  // Ownership Management Services //
716 
717  // 7.2
718  virtual void unconditionalAttributeOwnershipDivestiture (
719  ObjectInstanceHandle theObject,
720  AttributeHandleSet const & theAttributes)
721  throw (
722  AttributeNotOwned,
723  AttributeNotDefined,
724  ObjectInstanceNotKnown,
725  SaveInProgress,
726  RestoreInProgress,
727  FederateNotExecutionMember,
728  NotConnected,
729  RTIinternalError);
730 
731  // 7.3
732  virtual void negotiatedAttributeOwnershipDivestiture (
733  ObjectInstanceHandle theObject,
734  AttributeHandleSet const & theAttributes,
735  VariableLengthData const & theUserSuppliedTag)
736  throw (
737  AttributeAlreadyBeingDivested,
738  AttributeNotOwned,
739  AttributeNotDefined,
740  ObjectInstanceNotKnown,
741  SaveInProgress,
742  RestoreInProgress,
743  FederateNotExecutionMember,
744  NotConnected,
745  RTIinternalError);
746 
747  // 7.6
748  virtual void confirmDivestiture (
749  ObjectInstanceHandle theObject,
750  AttributeHandleSet const & confirmedAttributes,
751  VariableLengthData const & theUserSuppliedTag)
752  throw (
753  NoAcquisitionPending,
754  AttributeDivestitureWasNotRequested,
755  AttributeNotOwned,
756  AttributeNotDefined,
757  ObjectInstanceNotKnown,
758  SaveInProgress,
759  RestoreInProgress,
760  FederateNotExecutionMember,
761  NotConnected,
762  RTIinternalError);
763 
764  // 7.8
765  virtual void attributeOwnershipAcquisition (
766  ObjectInstanceHandle theObject,
767  AttributeHandleSet const & desiredAttributes,
768  VariableLengthData const & theUserSuppliedTag)
769  throw (
770  AttributeNotPublished,
771  ObjectClassNotPublished,
772  FederateOwnsAttributes,
773  AttributeNotDefined,
774  ObjectInstanceNotKnown,
775  SaveInProgress,
776  RestoreInProgress,
777  FederateNotExecutionMember,
778  NotConnected,
779  RTIinternalError);
780 
781  // 7.9
782  virtual void attributeOwnershipAcquisitionIfAvailable (
783  ObjectInstanceHandle theObject,
784  AttributeHandleSet const & desiredAttributes)
785  throw (
786  AttributeAlreadyBeingAcquired,
787  AttributeNotPublished,
788  ObjectClassNotPublished,
789  FederateOwnsAttributes,
790  AttributeNotDefined,
791  ObjectInstanceNotKnown,
792  SaveInProgress,
793  RestoreInProgress,
794  FederateNotExecutionMember,
795  NotConnected,
796  RTIinternalError);
797 
798  // 7.12
799  virtual void attributeOwnershipReleaseDenied (
800  ObjectInstanceHandle theObject,
801  AttributeHandleSet const & theAttributes)
802  throw (
803  AttributeNotOwned,
804  AttributeNotDefined,
805  ObjectInstanceNotKnown,
806  SaveInProgress,
807  RestoreInProgress,
808  FederateNotExecutionMember,
809  NotConnected,
810  RTIinternalError);
811 
812  // 7.13
813  virtual void attributeOwnershipDivestitureIfWanted (
814  ObjectInstanceHandle theObject,
815  AttributeHandleSet const & theAttributes,
816  AttributeHandleSet & theDivestedAttributes) // filled by RTI
817  throw (
818  AttributeNotOwned,
819  AttributeNotDefined,
820  ObjectInstanceNotKnown,
821  SaveInProgress,
822  RestoreInProgress,
823  FederateNotExecutionMember,
824  NotConnected,
825  RTIinternalError);
826 
827  // 7.14
828  virtual void cancelNegotiatedAttributeOwnershipDivestiture (
829  ObjectInstanceHandle theObject,
830  AttributeHandleSet const & theAttributes)
831  throw (
832  AttributeDivestitureWasNotRequested,
833  AttributeNotOwned,
834  AttributeNotDefined,
835  ObjectInstanceNotKnown,
836  SaveInProgress,
837  RestoreInProgress,
838  FederateNotExecutionMember,
839  NotConnected,
840  RTIinternalError);
841 
842  // 7.15
843  virtual void cancelAttributeOwnershipAcquisition (
844  ObjectInstanceHandle theObject,
845  AttributeHandleSet const & theAttributes)
846  throw (
847  AttributeAcquisitionWasNotRequested,
848  AttributeAlreadyOwned,
849  AttributeNotDefined,
850  ObjectInstanceNotKnown,
851  SaveInProgress,
852  RestoreInProgress,
853  FederateNotExecutionMember,
854  NotConnected,
855  RTIinternalError);
856 
857  // 7.17
858  virtual void queryAttributeOwnership (
859  ObjectInstanceHandle theObject,
860  AttributeHandle theAttribute)
861  throw (
862  AttributeNotDefined,
863  ObjectInstanceNotKnown,
864  SaveInProgress,
865  RestoreInProgress,
866  FederateNotExecutionMember,
867  NotConnected,
868  RTIinternalError);
869 
870  // 7.19
871  virtual bool isAttributeOwnedByFederate (
872  ObjectInstanceHandle theObject,
873  AttributeHandle theAttribute)
874  throw (
875  AttributeNotDefined,
876  ObjectInstanceNotKnown,
877  SaveInProgress,
878  RestoreInProgress,
879  FederateNotExecutionMember,
880  NotConnected,
881  RTIinternalError);
882 
884  // Time Management Services //
886 
887  // 8.2
888  virtual void enableTimeRegulation (
889  LogicalTimeInterval const & theLookahead)
890  throw (
891  InvalidLookahead,
892  InTimeAdvancingState,
893  RequestForTimeRegulationPending,
894  TimeRegulationAlreadyEnabled,
895  SaveInProgress,
896  RestoreInProgress,
897  FederateNotExecutionMember,
898  NotConnected,
899  RTIinternalError);
900 
901  // 8.4
902  virtual void disableTimeRegulation ()
903  throw (
904  TimeRegulationIsNotEnabled,
905  SaveInProgress,
906  RestoreInProgress,
907  FederateNotExecutionMember,
908  NotConnected,
909  RTIinternalError);
910 
911  // 8.5
912  virtual void enableTimeConstrained ()
913  throw (
914  InTimeAdvancingState,
915  RequestForTimeConstrainedPending,
916  TimeConstrainedAlreadyEnabled,
917  SaveInProgress,
918  RestoreInProgress,
919  FederateNotExecutionMember,
920  NotConnected,
921  RTIinternalError);
922 
923  // 8.7
924  virtual void disableTimeConstrained ()
925  throw (
926  TimeConstrainedIsNotEnabled,
927  SaveInProgress,
928  RestoreInProgress,
929  FederateNotExecutionMember,
930  NotConnected,
931  RTIinternalError);
932 
933  // 8.8
934  virtual void timeAdvanceRequest (
935  LogicalTime const & theTime)
936  throw (
937  LogicalTimeAlreadyPassed,
938  InvalidLogicalTime,
939  InTimeAdvancingState,
940  RequestForTimeRegulationPending,
941  RequestForTimeConstrainedPending,
942  SaveInProgress,
943  RestoreInProgress,
944  FederateNotExecutionMember,
945  NotConnected,
946  RTIinternalError);
947 
948  // 8.9
949  virtual void timeAdvanceRequestAvailable (
950  LogicalTime const & theTime)
951  throw (
952  LogicalTimeAlreadyPassed,
953  InvalidLogicalTime,
954  InTimeAdvancingState,
955  RequestForTimeRegulationPending,
956  RequestForTimeConstrainedPending,
957  SaveInProgress,
958  RestoreInProgress,
959  FederateNotExecutionMember,
960  NotConnected,
961  RTIinternalError);
962 
963  // 8.10
964  virtual void nextMessageRequest (
965  LogicalTime const & theTime)
966  throw (
967  LogicalTimeAlreadyPassed,
968  InvalidLogicalTime,
969  InTimeAdvancingState,
970  RequestForTimeRegulationPending,
971  RequestForTimeConstrainedPending,
972  SaveInProgress,
973  RestoreInProgress,
974  FederateNotExecutionMember,
975  NotConnected,
976  RTIinternalError);
977 
978  // 8.11
979  virtual void nextMessageRequestAvailable (
980  LogicalTime const & theTime)
981  throw (
982  LogicalTimeAlreadyPassed,
983  InvalidLogicalTime,
984  InTimeAdvancingState,
985  RequestForTimeRegulationPending,
986  RequestForTimeConstrainedPending,
987  SaveInProgress,
988  RestoreInProgress,
989  FederateNotExecutionMember,
990  NotConnected,
991  RTIinternalError);
992 
993  // 8.12
994  virtual void flushQueueRequest (
995  LogicalTime const & theTime)
996  throw (
997  LogicalTimeAlreadyPassed,
998  InvalidLogicalTime,
999  InTimeAdvancingState,
1000  RequestForTimeRegulationPending,
1001  RequestForTimeConstrainedPending,
1002  SaveInProgress,
1003  RestoreInProgress,
1004  FederateNotExecutionMember,
1005  NotConnected,
1006  RTIinternalError);
1007 
1008  // 8.14
1009  virtual void enableAsynchronousDelivery ()
1010  throw (
1011  AsynchronousDeliveryAlreadyEnabled,
1012  SaveInProgress,
1013  RestoreInProgress,
1014  FederateNotExecutionMember,
1015  NotConnected,
1016  RTIinternalError);
1017 
1018  // 8.15
1019  virtual void disableAsynchronousDelivery ()
1020  throw (
1021  AsynchronousDeliveryAlreadyDisabled,
1022  SaveInProgress,
1023  RestoreInProgress,
1024  FederateNotExecutionMember,
1025  NotConnected,
1026  RTIinternalError);
1027 
1028  // 8.16
1029  virtual bool queryGALT (LogicalTime & theTime)
1030  throw (
1031  SaveInProgress,
1032  RestoreInProgress,
1033  FederateNotExecutionMember,
1034  NotConnected,
1035  RTIinternalError);
1036 
1037  // 8.17
1038  virtual void queryLogicalTime (LogicalTime & theTime)
1039  throw (
1040  SaveInProgress,
1041  RestoreInProgress,
1042  FederateNotExecutionMember,
1043  NotConnected,
1044  RTIinternalError);
1045 
1046  // 8.18
1047  virtual bool queryLITS (LogicalTime & theTime)
1048  throw (
1049  SaveInProgress,
1050  RestoreInProgress,
1051  FederateNotExecutionMember,
1052  NotConnected,
1053  RTIinternalError);
1054 
1055  // 8.19
1056  virtual void modifyLookahead (
1057  LogicalTimeInterval const & theLookahead)
1058  throw (
1059  InvalidLookahead,
1060  InTimeAdvancingState,
1061  TimeRegulationIsNotEnabled,
1062  SaveInProgress,
1063  RestoreInProgress,
1064  FederateNotExecutionMember,
1065  NotConnected,
1066  RTIinternalError);
1067 
1068  // 8.20
1069  virtual void queryLookahead (LogicalTimeInterval & interval)
1070  throw (
1071  TimeRegulationIsNotEnabled,
1072  SaveInProgress,
1073  RestoreInProgress,
1074  FederateNotExecutionMember,
1075  NotConnected,
1076  RTIinternalError);
1077 
1078  // 8.21
1079  virtual void retract (
1080  MessageRetractionHandle theHandle)
1081  throw (
1082  MessageCanNoLongerBeRetracted,
1083  InvalidMessageRetractionHandle,
1084  TimeRegulationIsNotEnabled,
1085  SaveInProgress,
1086  RestoreInProgress,
1087  FederateNotExecutionMember,
1088  NotConnected,
1089  RTIinternalError);
1090 
1091  // 8.23
1092  virtual void changeAttributeOrderType (
1093  ObjectInstanceHandle theObject,
1094  AttributeHandleSet const & theAttributes,
1095  OrderType theType)
1096  throw (
1097  AttributeNotOwned,
1098  AttributeNotDefined,
1099  ObjectInstanceNotKnown,
1100  SaveInProgress,
1101  RestoreInProgress,
1102  FederateNotExecutionMember,
1103  NotConnected,
1104  RTIinternalError);
1105 
1106  // 8.24
1107  virtual void changeInteractionOrderType (
1108  InteractionClassHandle theClass,
1109  OrderType theType)
1110  throw (
1111  InteractionClassNotPublished,
1112  InteractionClassNotDefined,
1113  SaveInProgress,
1114  RestoreInProgress,
1115  FederateNotExecutionMember,
1116  NotConnected,
1117  RTIinternalError);
1118 
1120  // Data Distribution Management //
1122 
1123  // 9.2
1124  virtual RegionHandle createRegion (
1125  DimensionHandleSet const & theDimensions)
1126  throw (
1127  InvalidDimensionHandle,
1128  SaveInProgress,
1129  RestoreInProgress,
1130  FederateNotExecutionMember,
1131  NotConnected,
1132  RTIinternalError);
1133 
1134  // 9.3
1135  virtual void commitRegionModifications (
1136  RegionHandleSet const & theRegionHandleSet)
1137  throw (
1138  RegionNotCreatedByThisFederate,
1139  InvalidRegion,
1140  SaveInProgress,
1141  RestoreInProgress,
1142  FederateNotExecutionMember,
1143  NotConnected,
1144  RTIinternalError);
1145 
1146  // 9.4
1147  virtual void deleteRegion (
1148  RegionHandle const & theRegion)
1149  throw (
1150  RegionInUseForUpdateOrSubscription,
1151  RegionNotCreatedByThisFederate,
1152  InvalidRegion,
1153  SaveInProgress,
1154  RestoreInProgress,
1155  FederateNotExecutionMember,
1156  NotConnected,
1157  RTIinternalError);
1158 
1159  // 9.5
1160  virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1161  ObjectClassHandle theClass,
1162  AttributeHandleSetRegionHandleSetPairVector const &
1163  theAttributeHandleSetRegionHandleSetPairVector)
1164  throw (
1165  InvalidRegionContext,
1166  RegionNotCreatedByThisFederate,
1167  InvalidRegion,
1168  AttributeNotPublished,
1169  ObjectClassNotPublished,
1170  AttributeNotDefined,
1171  ObjectClassNotDefined,
1172  SaveInProgress,
1173  RestoreInProgress,
1174  FederateNotExecutionMember,
1175  NotConnected,
1176  RTIinternalError);
1177 
1178  virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1179  ObjectClassHandle theClass,
1180  AttributeHandleSetRegionHandleSetPairVector const &
1181  theAttributeHandleSetRegionHandleSetPairVector,
1182  std::wstring const & theObjectInstanceName)
1183  throw (
1184  ObjectInstanceNameInUse,
1185  ObjectInstanceNameNotReserved,
1186  InvalidRegionContext,
1187  RegionNotCreatedByThisFederate,
1188  InvalidRegion,
1189  AttributeNotPublished,
1190  ObjectClassNotPublished,
1191  AttributeNotDefined,
1192  ObjectClassNotDefined,
1193  SaveInProgress,
1194  RestoreInProgress,
1195  FederateNotExecutionMember,
1196  NotConnected,
1197  RTIinternalError);
1198 
1199  // 9.6
1200  virtual void associateRegionsForUpdates (
1201  ObjectInstanceHandle theObject,
1202  AttributeHandleSetRegionHandleSetPairVector const &
1203  theAttributeHandleSetRegionHandleSetPairVector)
1204  throw (
1205  InvalidRegionContext,
1206  RegionNotCreatedByThisFederate,
1207  InvalidRegion,
1208  AttributeNotDefined,
1209  ObjectInstanceNotKnown,
1210  SaveInProgress,
1211  RestoreInProgress,
1212  FederateNotExecutionMember,
1213  NotConnected,
1214  RTIinternalError);
1215 
1216  // 9.7
1217  virtual void unassociateRegionsForUpdates (
1218  ObjectInstanceHandle theObject,
1219  AttributeHandleSetRegionHandleSetPairVector const &
1220  theAttributeHandleSetRegionHandleSetPairVector)
1221  throw (
1222  RegionNotCreatedByThisFederate,
1223  InvalidRegion,
1224  AttributeNotDefined,
1225  ObjectInstanceNotKnown,
1226  SaveInProgress,
1227  RestoreInProgress,
1228  FederateNotExecutionMember,
1229  NotConnected,
1230  RTIinternalError);
1231 
1232  // 9.8
1233  virtual void subscribeObjectClassAttributesWithRegions (
1234  ObjectClassHandle theClass,
1235  AttributeHandleSetRegionHandleSetPairVector const &
1236  theAttributeHandleSetRegionHandleSetPairVector,
1237  bool active = true,
1238  std::wstring const & updateRateDesignator = L"")
1239  throw (
1240  InvalidRegionContext,
1241  RegionNotCreatedByThisFederate,
1242  InvalidRegion,
1243  AttributeNotDefined,
1244  ObjectClassNotDefined,
1245  InvalidUpdateRateDesignator,
1246  SaveInProgress,
1247  RestoreInProgress,
1248  FederateNotExecutionMember,
1249  NotConnected,
1250  RTIinternalError);
1251 
1252 
1253  // 9.9
1254  virtual void unsubscribeObjectClassAttributesWithRegions (
1255  ObjectClassHandle theClass,
1256  AttributeHandleSetRegionHandleSetPairVector const &
1257  theAttributeHandleSetRegionHandleSetPairVector)
1258  throw (
1259  RegionNotCreatedByThisFederate,
1260  InvalidRegion,
1261  AttributeNotDefined,
1262  ObjectClassNotDefined,
1263  SaveInProgress,
1264  RestoreInProgress,
1265  FederateNotExecutionMember,
1266  NotConnected,
1267  RTIinternalError);
1268 
1269  // 9.10
1270  virtual void subscribeInteractionClassWithRegions (
1271  InteractionClassHandle theClass,
1272  RegionHandleSet const & theRegionHandleSet,
1273  bool active = true)
1274  throw (
1275  FederateServiceInvocationsAreBeingReportedViaMOM,
1276  InvalidRegionContext,
1277  RegionNotCreatedByThisFederate,
1278  InvalidRegion,
1279  InteractionClassNotDefined,
1280  SaveInProgress,
1281  RestoreInProgress,
1282  FederateNotExecutionMember,
1283  NotConnected,
1284  RTIinternalError);
1285 
1286  // 9.11
1287  virtual void unsubscribeInteractionClassWithRegions (
1288  InteractionClassHandle theClass,
1289  RegionHandleSet const & theRegionHandleSet)
1290  throw (
1291  RegionNotCreatedByThisFederate,
1292  InvalidRegion,
1293  InteractionClassNotDefined,
1294  SaveInProgress,
1295  RestoreInProgress,
1296  FederateNotExecutionMember,
1297  NotConnected,
1298  RTIinternalError);
1299 
1300  // 9.12
1301  virtual void sendInteractionWithRegions (
1302  InteractionClassHandle theInteraction,
1303  ParameterHandleValueMap const & theParameterValues,
1304  RegionHandleSet const & theRegionHandleSet,
1305  VariableLengthData const & theUserSuppliedTag)
1306  throw (
1307  InvalidRegionContext,
1308  RegionNotCreatedByThisFederate,
1309  InvalidRegion,
1310  InteractionClassNotPublished,
1311  InteractionParameterNotDefined,
1312  InteractionClassNotDefined,
1313  SaveInProgress,
1314  RestoreInProgress,
1315  FederateNotExecutionMember,
1316  NotConnected,
1317  RTIinternalError);
1318 
1319  virtual MessageRetractionHandle sendInteractionWithRegions (
1320  InteractionClassHandle theInteraction,
1321  ParameterHandleValueMap const & theParameterValues,
1322  RegionHandleSet const & theRegionHandleSet,
1323  VariableLengthData const & theUserSuppliedTag,
1324  LogicalTime const & theTime)
1325  throw (
1326  InvalidLogicalTime,
1327  InvalidRegionContext,
1328  RegionNotCreatedByThisFederate,
1329  InvalidRegion,
1330  InteractionClassNotPublished,
1331  InteractionParameterNotDefined,
1332  InteractionClassNotDefined,
1333  SaveInProgress,
1334  RestoreInProgress,
1335  FederateNotExecutionMember,
1336  NotConnected,
1337  RTIinternalError);
1338 
1339  // 9.13
1340  virtual void requestAttributeValueUpdateWithRegions (
1341  ObjectClassHandle theClass,
1342  AttributeHandleSetRegionHandleSetPairVector const & theSet,
1343  VariableLengthData const & theUserSuppliedTag)
1344  throw (
1345  InvalidRegionContext,
1346  RegionNotCreatedByThisFederate,
1347  InvalidRegion,
1348  AttributeNotDefined,
1349  ObjectClassNotDefined,
1350  SaveInProgress,
1351  RestoreInProgress,
1352  FederateNotExecutionMember,
1353  NotConnected,
1354  RTIinternalError);
1355 
1357  // RTI Support Services //
1359 
1360  // 10.2
1361  virtual ResignAction getAutomaticResignDirective ()
1362  throw (
1363  FederateNotExecutionMember,
1364  NotConnected,
1365  RTIinternalError);
1366 
1367  // 10.3
1368  virtual void setAutomaticResignDirective (
1369  ResignAction resignAction)
1370  throw (
1371  InvalidResignAction,
1372  FederateNotExecutionMember,
1373  NotConnected,
1374  RTIinternalError);
1375 
1376  // 10.4
1377  virtual FederateHandle getFederateHandle (
1378  std::wstring const & theName)
1379  throw (
1380  NameNotFound,
1381  FederateNotExecutionMember,
1382  NotConnected,
1383  RTIinternalError);
1384 
1385  // 10.5
1386  virtual std::wstring getFederateName (
1387  FederateHandle theHandle)
1388  throw (
1389  InvalidFederateHandle,
1390  FederateHandleNotKnown,
1391  FederateNotExecutionMember,
1392  NotConnected,
1393  RTIinternalError);
1394 
1395  // 10.6
1396  virtual ObjectClassHandle getObjectClassHandle (
1397  std::wstring const & theName)
1398  throw (
1399  NameNotFound,
1400  FederateNotExecutionMember,
1401  NotConnected,
1402  RTIinternalError);
1403 
1404  // 10.7
1405  virtual std::wstring getObjectClassName (
1406  ObjectClassHandle theHandle)
1407  throw (
1408  InvalidObjectClassHandle,
1409  FederateNotExecutionMember,
1410  NotConnected,
1411  RTIinternalError);
1412 
1413  // 10.8
1414  virtual ObjectClassHandle getKnownObjectClassHandle (
1415  ObjectInstanceHandle theObject)
1416  throw (
1417  ObjectInstanceNotKnown,
1418  FederateNotExecutionMember,
1419  NotConnected,
1420  RTIinternalError);
1421 
1422  // 10.9
1423  virtual ObjectInstanceHandle getObjectInstanceHandle (
1424  std::wstring const & theName)
1425  throw (
1426  ObjectInstanceNotKnown,
1427  FederateNotExecutionMember,
1428  NotConnected,
1429  RTIinternalError);
1430 
1431  // 10.10
1432  virtual std::wstring getObjectInstanceName (
1433  ObjectInstanceHandle theHandle)
1434  throw (
1435  ObjectInstanceNotKnown,
1436  FederateNotExecutionMember,
1437  NotConnected,
1438  RTIinternalError);
1439 
1440  // 10.11
1441  virtual AttributeHandle getAttributeHandle (
1442  ObjectClassHandle whichClass,
1443  std::wstring const & theAttributeName)
1444  throw (
1445  NameNotFound,
1446  InvalidObjectClassHandle,
1447  FederateNotExecutionMember,
1448  NotConnected,
1449  RTIinternalError);
1450 
1451  // 10.12
1452  virtual std::wstring getAttributeName (
1453  ObjectClassHandle whichClass,
1454  AttributeHandle theHandle)
1455  throw (
1456  AttributeNotDefined,
1457  InvalidAttributeHandle,
1458  InvalidObjectClassHandle,
1459  FederateNotExecutionMember,
1460  NotConnected,
1461  RTIinternalError);
1462 
1463  // 10.13
1464  virtual double getUpdateRateValue (
1465  std::wstring const & updateRateDesignator)
1466  throw (
1467  InvalidUpdateRateDesignator,
1468  FederateNotExecutionMember,
1469  NotConnected,
1470  RTIinternalError);
1471 
1472  // 10.14
1473  virtual double getUpdateRateValueForAttribute (
1474  ObjectInstanceHandle theObject,
1475  AttributeHandle theAttribute)
1476  throw (
1477  ObjectInstanceNotKnown,
1478  AttributeNotDefined,
1479  FederateNotExecutionMember,
1480  NotConnected,
1481  RTIinternalError);
1482 
1483  // 10.15
1484  virtual InteractionClassHandle getInteractionClassHandle (
1485  std::wstring const & theName)
1486  throw (
1487  NameNotFound,
1488  FederateNotExecutionMember,
1489  NotConnected,
1490  RTIinternalError);
1491 
1492  // 10.16
1493  virtual std::wstring getInteractionClassName (
1494  InteractionClassHandle theHandle)
1495  throw (
1496  InvalidInteractionClassHandle,
1497  FederateNotExecutionMember,
1498  NotConnected,
1499  RTIinternalError);
1500 
1501  // 10.17
1502  virtual ParameterHandle getParameterHandle (
1503  InteractionClassHandle whichClass,
1504  std::wstring const & theName)
1505  throw (
1506  NameNotFound,
1507  InvalidInteractionClassHandle,
1508  FederateNotExecutionMember,
1509  NotConnected,
1510  RTIinternalError);
1511 
1512  // 10.18
1513  virtual std::wstring getParameterName (
1514  InteractionClassHandle whichClass,
1515  ParameterHandle theHandle)
1516  throw (
1517  InteractionParameterNotDefined,
1518  InvalidParameterHandle,
1519  InvalidInteractionClassHandle,
1520  FederateNotExecutionMember,
1521  NotConnected,
1522  RTIinternalError);
1523 
1524  // 10.19
1525  virtual OrderType getOrderType (
1526  std::wstring const & orderName)
1527  throw (
1528  InvalidOrderName,
1529  FederateNotExecutionMember,
1530  NotConnected,
1531  RTIinternalError);
1532 
1533  // 10.20
1534  virtual std::wstring getOrderName (
1535  OrderType orderType)
1536  throw (
1537  InvalidOrderType,
1538  FederateNotExecutionMember,
1539  NotConnected,
1540  RTIinternalError);
1541 
1542  // 10.21
1543  virtual TransportationType getTransportationType (
1544  std::wstring const & transportationName)
1545  throw (
1546  InvalidTransportationName,
1547  FederateNotExecutionMember,
1548  NotConnected,
1549  RTIinternalError);
1550 
1551  // 10.22
1552  virtual std::wstring getTransportationName (
1553  TransportationType transportationType)
1554  throw (
1555  InvalidTransportationType,
1556  FederateNotExecutionMember,
1557  NotConnected,
1558  RTIinternalError);
1559 
1560  // 10.23
1561  virtual DimensionHandleSet getAvailableDimensionsForClassAttribute (
1562  ObjectClassHandle theClass,
1563  AttributeHandle theHandle)
1564  throw (
1565  AttributeNotDefined,
1566  InvalidAttributeHandle,
1567  InvalidObjectClassHandle,
1568  FederateNotExecutionMember,
1569  NotConnected,
1570  RTIinternalError);
1571 
1572  // 10.24
1573  virtual DimensionHandleSet getAvailableDimensionsForInteractionClass (
1574  InteractionClassHandle theClass)
1575  throw (
1576  InvalidInteractionClassHandle,
1577  FederateNotExecutionMember,
1578  NotConnected,
1579  RTIinternalError);
1580 
1581  // 10.25
1582  virtual DimensionHandle getDimensionHandle (
1583  std::wstring const & theName)
1584  throw (
1585  NameNotFound,
1586  FederateNotExecutionMember,
1587  NotConnected,
1588  RTIinternalError);
1589 
1590  // 10.26
1591  virtual std::wstring getDimensionName (
1592  DimensionHandle theHandle)
1593  throw (
1594  InvalidDimensionHandle,
1595  FederateNotExecutionMember,
1596  NotConnected,
1597  RTIinternalError);
1598 
1599  // 10.27
1600  virtual unsigned long getDimensionUpperBound (
1601  DimensionHandle theHandle)
1602  throw (
1603  InvalidDimensionHandle,
1604  FederateNotExecutionMember,
1605  NotConnected,
1606  RTIinternalError);
1607 
1608  // 10.28
1609  virtual DimensionHandleSet getDimensionHandleSet (
1610  RegionHandle theRegionHandle)
1611  throw (
1612  InvalidRegion,
1613  SaveInProgress,
1614  RestoreInProgress,
1615  FederateNotExecutionMember,
1616  NotConnected,
1617  RTIinternalError);
1618 
1619  // 10.29
1620  virtual RangeBounds getRangeBounds (
1621  RegionHandle theRegionHandle,
1622  DimensionHandle theDimensionHandle)
1623  throw (
1624  RegionDoesNotContainSpecifiedDimension,
1625  InvalidRegion,
1626  SaveInProgress,
1627  RestoreInProgress,
1628  FederateNotExecutionMember,
1629  NotConnected,
1630  RTIinternalError);
1631 
1632  // 10.30
1633  virtual void setRangeBounds (
1634  RegionHandle theRegionHandle,
1635  DimensionHandle theDimensionHandle,
1636  RangeBounds const & theRangeBounds)
1637  throw (
1638  InvalidRangeBound,
1639  RegionDoesNotContainSpecifiedDimension,
1640  RegionNotCreatedByThisFederate,
1641  InvalidRegion,
1642  SaveInProgress,
1643  RestoreInProgress,
1644  FederateNotExecutionMember,
1645  NotConnected,
1646  RTIinternalError);
1647 
1648  // 10.31
1649  virtual unsigned long normalizeFederateHandle (
1650  FederateHandle theFederateHandle)
1651  throw (
1652  InvalidFederateHandle,
1653  FederateNotExecutionMember,
1654  NotConnected,
1655  RTIinternalError);
1656 
1657  // 10.32
1658  virtual unsigned long normalizeServiceGroup (
1659  ServiceGroup theServiceGroup)
1660  throw (
1661  InvalidServiceGroup,
1662  FederateNotExecutionMember,
1663  NotConnected,
1664  RTIinternalError);
1665 
1666  // 10.33
1667  virtual void enableObjectClassRelevanceAdvisorySwitch ()
1668  throw (
1669  ObjectClassRelevanceAdvisorySwitchIsOn,
1670  SaveInProgress,
1671  RestoreInProgress,
1672  FederateNotExecutionMember,
1673  NotConnected,
1674  RTIinternalError);
1675 
1676  // 10.34
1677  virtual void disableObjectClassRelevanceAdvisorySwitch ()
1678  throw (
1679  ObjectClassRelevanceAdvisorySwitchIsOff,
1680  SaveInProgress,
1681  RestoreInProgress,
1682  FederateNotExecutionMember,
1683  NotConnected,
1684  RTIinternalError);
1685 
1686  // 10.35
1687  virtual void enableAttributeRelevanceAdvisorySwitch ()
1688  throw (
1689  AttributeRelevanceAdvisorySwitchIsOn,
1690  SaveInProgress,
1691  RestoreInProgress,
1692  FederateNotExecutionMember,
1693  NotConnected,
1694  RTIinternalError);
1695 
1696  // 10.36
1697  virtual void disableAttributeRelevanceAdvisorySwitch ()
1698  throw (
1699  AttributeRelevanceAdvisorySwitchIsOff,
1700  SaveInProgress,
1701  RestoreInProgress,
1702  FederateNotExecutionMember,
1703  NotConnected,
1704  RTIinternalError);
1705 
1706  // 10.37
1707  virtual void enableAttributeScopeAdvisorySwitch ()
1708  throw (
1709  AttributeScopeAdvisorySwitchIsOn,
1710  SaveInProgress,
1711  RestoreInProgress,
1712  FederateNotExecutionMember,
1713  NotConnected,
1714  RTIinternalError);
1715 
1716  // 10.38
1717  virtual void disableAttributeScopeAdvisorySwitch ()
1718  throw (
1719  AttributeScopeAdvisorySwitchIsOff,
1720  SaveInProgress,
1721  RestoreInProgress,
1722  FederateNotExecutionMember,
1723  NotConnected,
1724  RTIinternalError);
1725 
1726  // 10.39
1727  virtual void enableInteractionRelevanceAdvisorySwitch ()
1728  throw (
1729  InteractionRelevanceAdvisorySwitchIsOn,
1730  SaveInProgress,
1731  RestoreInProgress,
1732  FederateNotExecutionMember,
1733  NotConnected,
1734  RTIinternalError);
1735 
1736  // 10.40
1737  virtual void disableInteractionRelevanceAdvisorySwitch ()
1738  throw (
1739  InteractionRelevanceAdvisorySwitchIsOff,
1740  SaveInProgress,
1741  RestoreInProgress,
1742  FederateNotExecutionMember,
1743  NotConnected,
1744  RTIinternalError);
1745 
1746  // 10.41
1747  virtual bool evokeCallback (
1748  double approximateMinimumTimeInSeconds)
1749  throw (
1750  CallNotAllowedFromWithinCallback,
1751  RTIinternalError);
1752 
1753  // 10.42
1754  virtual bool evokeMultipleCallbacks (
1755  double approximateMinimumTimeInSeconds,
1756  double approximateMaximumTimeInSeconds)
1757  throw (
1758  CallNotAllowedFromWithinCallback,
1759  RTIinternalError);
1760 
1761  // 10.43
1762  virtual void enableCallbacks ()
1763  throw (
1764  SaveInProgress,
1765  RestoreInProgress,
1766  RTIinternalError);
1767 
1768  // 10.44
1769  virtual void disableCallbacks ()
1770  throw (
1771  SaveInProgress,
1772  RestoreInProgress,
1773  RTIinternalError);
1774 
1775  // API-specific services
1776 
1777  // Return instance of time factory being used by the federation
1778  virtual std::auto_ptr<LogicalTimeFactory> getTimeFactory () const
1779  throw (
1780  FederateNotExecutionMember,
1781  NotConnected,
1782  RTIinternalError);
1783 
1784  // Decode handles
1785  virtual FederateHandle decodeFederateHandle (
1786  VariableLengthData const & encodedValue) const
1787  throw (
1788  CouldNotDecode,
1789  FederateNotExecutionMember,
1790  NotConnected,
1791  RTIinternalError);
1792 
1793  virtual ObjectClassHandle decodeObjectClassHandle (
1794  VariableLengthData const & encodedValue) const
1795  throw (
1796  CouldNotDecode,
1797  FederateNotExecutionMember,
1798  NotConnected,
1799  RTIinternalError);
1800 
1801  virtual InteractionClassHandle decodeInteractionClassHandle (
1802  VariableLengthData const & encodedValue) const
1803  throw (
1804  CouldNotDecode,
1805  FederateNotExecutionMember,
1806  NotConnected,
1807  RTIinternalError);
1808 
1809  virtual ObjectInstanceHandle decodeObjectInstanceHandle (
1810  VariableLengthData const & encodedValue) const
1811  throw (
1812  CouldNotDecode,
1813  FederateNotExecutionMember,
1814  NotConnected,
1815  RTIinternalError);
1816 
1817  virtual AttributeHandle decodeAttributeHandle (
1818  VariableLengthData const & encodedValue) const
1819  throw (
1820  CouldNotDecode,
1821  FederateNotExecutionMember,
1822  NotConnected,
1823  RTIinternalError);
1824 
1825  virtual ParameterHandle decodeParameterHandle (
1826  VariableLengthData const & encodedValue) const
1827  throw (
1828  CouldNotDecode,
1829  FederateNotExecutionMember,
1830  NotConnected,
1831  RTIinternalError);
1832 
1833  virtual DimensionHandle decodeDimensionHandle (
1834  VariableLengthData const & encodedValue) const
1835  throw (
1836  CouldNotDecode,
1837  FederateNotExecutionMember,
1838  NotConnected,
1839  RTIinternalError);
1840 
1841  virtual MessageRetractionHandle decodeMessageRetractionHandle (
1842  VariableLengthData const & encodedValue) const
1843  throw (
1844  CouldNotDecode,
1845  FederateNotExecutionMember,
1846  NotConnected,
1847  RTIinternalError);
1848 
1849  virtual RegionHandle decodeRegionHandle (
1850  VariableLengthData const & encodedValue) const
1851  throw (
1852  CouldNotDecode,
1853  FederateNotExecutionMember,
1854  NotConnected,
1855  RTIinternalError);
1856 
1857 public:
1858 
1860  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args);
1861 
1862 protected:
1863 
1864  std::auto_ptr<RTIambassador> myRtiAmb;
1865  FederateAmbassador *myFedAmb;
1866 };
1867 
1868 #endif
1869 #endif
1870 
1871 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)