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

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)