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

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)