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