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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)