13 #ifndef DtHLA_1516_EVOLVED
38 DtVrlRtiAmbassador(const DtVrlRtiAmbassador& orig);
41 DtVrlRtiAmbassador& operator=(const DtVrlRtiAmbassador& orig);
47 virtual RTI::RTIambassador* rtiAmb();
50 virtual
void createFederationExecution
51 (std::wstring const & federationExecutionName,
52 std::wstring const & fullPathNameToTheFDDfile,
53 std::wstring const & logicalTimeImplementationName = L"")
54 throw (FederationExecutionAlreadyExists,
57 RTIinternalError) = 0;
60 virtual
void destroyFederationExecution
61 (std::wstring const & federationExecutionName)
62 throw (FederatesCurrentlyJoined,
63 FederationExecutionDoesNotExist,
64 RTIinternalError) = 0;
67 virtual FederateHandle joinFederationExecution
68 (std::wstring const & federateType,
69 std::wstring const & federationExecutionName,
71 throw (FederateAlreadyExecutionMember,
72 FederationExecutionDoesNotExist,
75 RTIinternalError) = 0;
78 virtual
void resignFederationExecution
79 (ResignAction resignAction)
80 throw (OwnershipAcquisitionPending,
81 FederateOwnsAttributes,
82 FederateNotExecutionMember,
83 RTIinternalError) = 0;
86 virtual
void registerFederationSynchronizationPoint
87 (std::wstring const & label,
88 RTI::VariableLengthData const & aTag)
89 throw (FederateNotExecutionMember,
92 RTIinternalError) = 0;
94 virtual
void registerFederationSynchronizationPoint
95 (std::wstring const & label,
96 RTI::VariableLengthData const & aTag,
97 FederateHandleSet const & syncSet)
98 throw (FederateNotExecutionMember,
101 RTIinternalError) = 0;
104 virtual
void synchronizationPointAchieved
105 (std::wstring const & label)
106 throw (SynchronizationPointLabelNotAnnounced,
107 FederateNotExecutionMember,
110 RTIinternalError) = 0;
113 virtual
void requestFederationSave
114 (std::wstring const & label)
115 throw (FederateNotExecutionMember,
118 RTIinternalError) = 0;
120 virtual
void requestFederationSave
121 (std::wstring const & label,
123 throw (LogicalTimeAlreadyPassed,
125 FederateUnableToUseTime,
126 FederateNotExecutionMember,
129 RTIinternalError) = 0;
132 virtual
void federateSaveBegun ()
133 throw (SaveNotInitiated,
134 FederateNotExecutionMember,
136 RTIinternalError) = 0;
139 virtual
void federateSaveComplete ()
140 throw (FederateHasNotBegunSave,
141 FederateNotExecutionMember,
143 RTIinternalError) = 0;
145 virtual
void federateSaveNotComplete()
146 throw (FederateHasNotBegunSave,
147 FederateNotExecutionMember,
149 RTIinternalError) = 0;
152 virtual
void queryFederationSaveStatus ()
153 throw (FederateNotExecutionMember,
155 RTIinternalError) = 0;
158 virtual
void requestFederationRestore
159 (std::wstring const & label)
160 throw (FederateNotExecutionMember,
163 RTIinternalError) = 0;
166 virtual
void federateRestoreComplete ()
167 throw (RestoreNotRequested,
168 FederateNotExecutionMember,
170 RTIinternalError) = 0;
172 virtual
void federateRestoreNotComplete ()
173 throw (RestoreNotRequested,
174 FederateNotExecutionMember,
176 RTIinternalError) = 0;
179 virtual
void queryFederationRestoreStatus ()
180 throw (FederateNotExecutionMember,
182 RTIinternalError) = 0;
189 virtual
void publishObjectClassAttributes
190 (ObjectClassHandle theClass,
191 AttributeHandleSet const & attributeList)
192 throw (ObjectClassNotDefined,
194 FederateNotExecutionMember,
197 RTIinternalError) = 0;
200 virtual
void unpublishObjectClass
201 (ObjectClassHandle theClass)
202 throw (ObjectClassNotDefined,
203 OwnershipAcquisitionPending,
204 FederateNotExecutionMember,
207 RTIinternalError) = 0;
209 virtual
void unpublishObjectClassAttributes
210 (ObjectClassHandle theClass,
211 AttributeHandleSet const & attributeList)
212 throw (ObjectClassNotDefined,
214 OwnershipAcquisitionPending,
215 FederateNotExecutionMember,
218 RTIinternalError) = 0;
221 virtual
void publishInteractionClass
222 (InteractionClassHandle theInteraction)
223 throw (InteractionClassNotDefined,
224 FederateNotExecutionMember,
227 RTIinternalError) = 0;
230 virtual
void unpublishInteractionClass
231 (InteractionClassHandle theInteraction)
232 throw (InteractionClassNotDefined,
233 FederateNotExecutionMember,
236 RTIinternalError) = 0;
239 virtual
void subscribeObjectClassAttributes
240 (ObjectClassHandle theClass,
241 AttributeHandleSet const & attributeList,
243 throw (ObjectClassNotDefined,
245 FederateNotExecutionMember,
248 RTIinternalError) = 0;
251 virtual
void unsubscribeObjectClass
252 (ObjectClassHandle theClass)
253 throw (ObjectClassNotDefined,
254 FederateNotExecutionMember,
257 RTIinternalError) = 0;
259 virtual
void unsubscribeObjectClassAttributes
260 (ObjectClassHandle theClass,
261 AttributeHandleSet const & attributeList)
262 throw (ObjectClassNotDefined,
264 FederateNotExecutionMember,
267 RTIinternalError) = 0;
270 virtual
void subscribeInteractionClass
271 (InteractionClassHandle theClass,
273 throw (InteractionClassNotDefined,
274 FederateServiceInvocationsAreBeingReportedViaMOM,
275 FederateNotExecutionMember,
278 RTIinternalError) = 0;
281 virtual
void unsubscribeInteractionClass
282 (InteractionClassHandle theClass)
283 throw (InteractionClassNotDefined,
284 FederateNotExecutionMember,
287 RTIinternalError) = 0;
294 virtual
void reserveObjectInstanceName
295 (std::wstring const & theObjectInstanceName)
297 FederateNotExecutionMember,
300 RTIinternalError) = 0;
303 virtual ObjectInstanceHandle registerObjectInstance
304 (ObjectClassHandle theClass)
305 throw (ObjectClassNotDefined,
306 ObjectClassNotPublished,
307 FederateNotExecutionMember,
310 RTIinternalError) = 0;
312 virtual ObjectInstanceHandle registerObjectInstance
313 (ObjectClassHandle theClass,
314 std::wstring const & theObjectInstanceName)
315 throw (ObjectClassNotDefined,
316 ObjectClassNotPublished,
317 ObjectInstanceNameNotReserved,
318 ObjectInstanceNameInUse,
319 FederateNotExecutionMember,
322 RTIinternalError) = 0;
325 virtual
void updateAttributeValues
326 (ObjectInstanceHandle theObject,
327 AttributeHandleValueMap const & theAttributeValues,
328 RTI::VariableLengthData const & aTag)
329 throw (ObjectInstanceNotKnown,
332 FederateNotExecutionMember,
335 RTIinternalError) = 0;
337 virtual MessageRetractionHandle updateAttributeValues
338 (ObjectInstanceHandle theObject,
339 AttributeHandleValueMap const & theAttributeValues,
340 RTI::VariableLengthData const & aTag,
342 throw (ObjectInstanceNotKnown,
346 FederateNotExecutionMember,
349 RTIinternalError) = 0;
352 virtual
void sendInteraction
353 (InteractionClassHandle theInteraction,
354 ParameterHandleValueMap const & theParameterValues,
355 RTI::VariableLengthData const & aTag)
356 throw (InteractionClassNotPublished,
357 InteractionClassNotDefined,
358 InteractionParameterNotDefined,
359 FederateNotExecutionMember,
362 RTIinternalError) = 0;
364 virtual MessageRetractionHandle sendInteraction
365 (InteractionClassHandle theInteraction,
366 ParameterHandleValueMap const & theParameterValues,
367 RTI::VariableLengthData const & aTag,
369 throw (InteractionClassNotPublished,
370 InteractionClassNotDefined,
371 InteractionParameterNotDefined,
373 FederateNotExecutionMember,
376 RTIinternalError) = 0;
379 virtual
void deleteObjectInstance
380 (ObjectInstanceHandle theObject,
381 RTI::VariableLengthData const & aTag)
382 throw (DeletePrivilegeNotHeld,
383 ObjectInstanceNotKnown,
384 FederateNotExecutionMember,
387 RTIinternalError) = 0;
389 virtual MessageRetractionHandle deleteObjectInstance
390 (ObjectInstanceHandle theObject,
391 RTI::VariableLengthData const & aTag,
393 throw (DeletePrivilegeNotHeld,
394 ObjectInstanceNotKnown,
396 FederateNotExecutionMember,
399 RTIinternalError) = 0;
402 virtual
void localDeleteObjectInstance
403 (ObjectInstanceHandle theObject)
404 throw (ObjectInstanceNotKnown,
405 FederateOwnsAttributes,
406 OwnershipAcquisitionPending,
407 FederateNotExecutionMember,
410 RTIinternalError) = 0;
413 virtual
void changeAttributeTransportationType
414 (ObjectInstanceHandle theObject,
415 AttributeHandleSet const & theAttributes,
416 TransportationType theType)
417 throw (ObjectInstanceNotKnown,
420 FederateNotExecutionMember,
423 RTIinternalError) = 0;
426 virtual
void changeInteractionTransportationType
427 (InteractionClassHandle theClass,
428 TransportationType theType)
429 throw (InteractionClassNotDefined,
430 InteractionClassNotPublished,
431 FederateNotExecutionMember,
434 RTIinternalError) = 0;
437 virtual
void requestAttributeValueUpdate
438 (ObjectInstanceHandle theObject,
439 AttributeHandleSet const & theAttributes,
440 RTI::VariableLengthData const & aTag)
441 throw (ObjectInstanceNotKnown,
443 FederateNotExecutionMember,
446 RTIinternalError) = 0;
448 virtual
void requestAttributeValueUpdate
449 (ObjectClassHandle theClass,
450 AttributeHandleSet const & theAttributes,
451 RTI::VariableLengthData const & aTag)
452 throw (ObjectClassNotDefined,
454 FederateNotExecutionMember,
457 RTIinternalError) = 0;
463 virtual
void unconditionalAttributeOwnershipDivestiture
464 (ObjectInstanceHandle theObject,
465 AttributeHandleSet const & theAttributes)
466 throw (ObjectInstanceNotKnown,
469 FederateNotExecutionMember,
472 RTIinternalError) = 0;
475 virtual
void negotiatedAttributeOwnershipDivestiture
476 (ObjectInstanceHandle theObject,
477 AttributeHandleSet const & theAttributes,
478 RTI::VariableLengthData const & aTag)
479 throw (ObjectInstanceNotKnown,
482 AttributeAlreadyBeingDivested,
483 FederateNotExecutionMember,
486 RTIinternalError) = 0;
489 virtual
void confirmDivestiture
490 (ObjectInstanceHandle theObject,
491 AttributeHandleSet const & confirmedAttributes,
492 RTI::VariableLengthData const & aTag)
493 throw (ObjectInstanceNotKnown,
496 AttributeDivestitureWasNotRequested,
497 NoAcquisitionPending,
498 FederateNotExecutionMember,
501 RTIinternalError) = 0;
504 virtual
void attributeOwnershipAcquisition
505 (ObjectInstanceHandle theObject,
506 AttributeHandleSet const & desiredAttributes,
507 RTI::VariableLengthData const & aTag)
508 throw (ObjectInstanceNotKnown,
509 ObjectClassNotPublished,
511 AttributeNotPublished,
512 FederateOwnsAttributes,
513 FederateNotExecutionMember,
516 RTIinternalError) = 0;
519 virtual
void attributeOwnershipAcquisitionIfAvailable
520 (ObjectInstanceHandle theObject,
521 AttributeHandleSet const & desiredAttributes)
522 throw (ObjectInstanceNotKnown,
523 ObjectClassNotPublished,
525 AttributeNotPublished,
526 FederateOwnsAttributes,
527 AttributeAlreadyBeingAcquired,
528 FederateNotExecutionMember,
531 RTIinternalError) = 0;
534 virtual
void attributeOwnershipDivestitureIfWanted(
535 ObjectInstanceHandle theObject,
536 AttributeHandleSet const & theAttributes,
537 AttributeHandleSet & theDivestedAttributes)
538 throw (ObjectInstanceNotKnown,
541 FederateNotExecutionMember,
544 RTIinternalError) = 0;
547 virtual
void cancelNegotiatedAttributeOwnershipDivestiture
548 (ObjectInstanceHandle theObject,
549 AttributeHandleSet const & theAttributes)
550 throw (ObjectInstanceNotKnown,
553 AttributeDivestitureWasNotRequested,
554 FederateNotExecutionMember,
557 RTIinternalError) = 0;
560 virtual
void cancelAttributeOwnershipAcquisition
561 (ObjectInstanceHandle theObject,
562 AttributeHandleSet const & theAttributes)
563 throw (ObjectInstanceNotKnown,
565 AttributeAlreadyOwned,
566 AttributeAcquisitionWasNotRequested,
567 FederateNotExecutionMember,
570 RTIinternalError) = 0;
573 virtual
void queryAttributeOwnership
574 (ObjectInstanceHandle theObject,
575 AttributeHandle theAttribute)
576 throw (ObjectInstanceNotKnown,
578 FederateNotExecutionMember,
581 RTIinternalError) = 0;
584 virtual
bool isAttributeOwnedByFederate
585 (ObjectInstanceHandle theObject,
586 AttributeHandle theAttribute)
587 throw (ObjectInstanceNotKnown,
589 FederateNotExecutionMember,
592 RTIinternalError) = 0;
599 virtual
void enableTimeRegulation
601 throw (TimeRegulationAlreadyEnabled,
603 InTimeAdvancingState,
604 RequestForTimeRegulationPending,
605 FederateNotExecutionMember,
608 RTIinternalError) = 0;
611 virtual
void disableTimeRegulation ()
612 throw (TimeRegulationIsNotEnabled,
613 FederateNotExecutionMember,
616 RTIinternalError) = 0;
619 virtual
void enableTimeConstrained ()
620 throw (TimeConstrainedAlreadyEnabled,
621 InTimeAdvancingState,
622 RequestForTimeConstrainedPending,
623 FederateNotExecutionMember,
626 RTIinternalError) = 0;
629 virtual
void disableTimeConstrained ()
630 throw (TimeConstrainedIsNotEnabled,
631 FederateNotExecutionMember,
634 RTIinternalError) = 0;
637 virtual
void timeAdvanceRequest
639 throw (InvalidLogicalTime,
640 LogicalTimeAlreadyPassed,
641 InTimeAdvancingState,
642 RequestForTimeRegulationPending,
643 RequestForTimeConstrainedPending,
644 FederateNotExecutionMember,
647 RTIinternalError) = 0;
650 virtual
void timeAdvanceRequestAvailable
652 throw (InvalidLogicalTime,
653 LogicalTimeAlreadyPassed,
654 InTimeAdvancingState,
655 RequestForTimeRegulationPending,
656 RequestForTimeConstrainedPending,
657 FederateNotExecutionMember,
660 RTIinternalError) = 0;
663 virtual
void nextMessageRequest
665 throw (InvalidLogicalTime,
666 LogicalTimeAlreadyPassed,
667 InTimeAdvancingState,
668 RequestForTimeRegulationPending,
669 RequestForTimeConstrainedPending,
670 FederateNotExecutionMember,
673 RTIinternalError) = 0;
676 virtual
void nextMessageRequestAvailable
678 throw (InvalidLogicalTime,
679 LogicalTimeAlreadyPassed,
680 InTimeAdvancingState,
681 RequestForTimeRegulationPending,
682 RequestForTimeConstrainedPending,
683 FederateNotExecutionMember,
686 RTIinternalError) = 0;
689 virtual
void flushQueueRequest
691 throw (InvalidLogicalTime,
692 LogicalTimeAlreadyPassed,
693 InTimeAdvancingState,
694 RequestForTimeRegulationPending,
695 RequestForTimeConstrainedPending,
696 FederateNotExecutionMember,
699 RTIinternalError) = 0;
702 virtual
void enableAsynchronousDelivery ()
703 throw (AsynchronousDeliveryAlreadyEnabled,
704 FederateNotExecutionMember,
707 RTIinternalError) = 0;
710 virtual
void disableAsynchronousDelivery ()
711 throw (AsynchronousDeliveryAlreadyDisabled,
712 FederateNotExecutionMember,
715 RTIinternalError) = 0;
719 throw (FederateNotExecutionMember,
722 RTIinternalError) = 0;
725 virtual
void queryLogicalTime (
LogicalTime & theTime)
726 throw (FederateNotExecutionMember,
729 RTIinternalError) = 0;
733 throw (FederateNotExecutionMember,
736 RTIinternalError) = 0;
739 virtual
void modifyLookahead
741 throw (TimeRegulationIsNotEnabled,
743 InTimeAdvancingState,
744 FederateNotExecutionMember,
747 RTIinternalError) = 0;
751 throw (TimeRegulationIsNotEnabled,
752 FederateNotExecutionMember,
755 RTIinternalError) = 0;
759 (MessageRetractionHandle theHandle)
760 throw (InvalidRetractionHandle,
761 TimeRegulationIsNotEnabled,
762 MessageCanNoLongerBeRetracted,
763 FederateNotExecutionMember,
766 RTIinternalError) = 0;
769 virtual
void changeAttributeOrderType
770 (ObjectInstanceHandle theObject,
771 AttributeHandleSet const & theAttributes,
773 throw (ObjectInstanceNotKnown,
776 FederateNotExecutionMember,
779 RTIinternalError) = 0;
782 virtual
void changeInteractionOrderType
783 (InteractionClassHandle theClass,
785 throw (InteractionClassNotDefined,
786 InteractionClassNotPublished,
787 FederateNotExecutionMember,
790 RTIinternalError) = 0;
797 virtual RegionHandle createRegion
798 (DimensionHandleSet const & theDimensions)
799 throw (InvalidDimensionHandle,
800 FederateNotExecutionMember,
803 RTIinternalError) = 0;
806 virtual
void commitRegionModifications
807 (RegionHandleSet const & theRegionHandleSet)
808 throw (InvalidRegion,
809 RegionNotCreatedByThisFederate,
810 FederateNotExecutionMember,
813 RTIinternalError) = 0;
816 virtual
void deleteRegion
817 (RegionHandle theRegion)
818 throw (InvalidRegion,
819 RegionNotCreatedByThisFederate,
820 RegionInUseForUpdateOrSubscription,
821 FederateNotExecutionMember,
824 RTIinternalError) = 0;
827 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
828 (ObjectClassHandle theClass,
829 AttributeHandleSetRegionHandleSetPairVector const &
830 theAttributeHandleSetRegionHandleSetPairVector)
831 throw (ObjectClassNotDefined,
832 ObjectClassNotPublished,
834 AttributeNotPublished,
836 RegionNotCreatedByThisFederate,
837 InvalidRegionContext,
838 FederateNotExecutionMember,
841 RTIinternalError) = 0;
843 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
844 (ObjectClassHandle theClass,
845 AttributeHandleSetRegionHandleSetPairVector const &
846 theAttributeHandleSetRegionHandleSetPairVector,
847 std::wstring const & theObjectInstanceName)
848 throw (ObjectClassNotDefined,
849 ObjectClassNotPublished,
851 AttributeNotPublished,
853 RegionNotCreatedByThisFederate,
854 InvalidRegionContext,
855 ObjectInstanceNameNotReserved,
856 ObjectInstanceNameInUse,
857 FederateNotExecutionMember,
860 RTIinternalError) = 0;
863 virtual
void associateRegionsForUpdates
864 (ObjectInstanceHandle theObject,
865 AttributeHandleSetRegionHandleSetPairVector const &
866 theAttributeHandleSetRegionHandleSetPairVector)
867 throw (ObjectInstanceNotKnown,
870 RegionNotCreatedByThisFederate,
871 InvalidRegionContext,
872 FederateNotExecutionMember,
875 RTIinternalError) = 0;
878 virtual
void unassociateRegionsForUpdates
879 (ObjectInstanceHandle theObject,
880 AttributeHandleSetRegionHandleSetPairVector const &
881 theAttributeHandleSetRegionHandleSetPairVector)
882 throw (ObjectInstanceNotKnown,
885 RegionNotCreatedByThisFederate,
886 FederateNotExecutionMember,
889 RTIinternalError) = 0;
892 virtual
void subscribeObjectClassAttributesWithRegions
893 (ObjectClassHandle theClass,
894 AttributeHandleSetRegionHandleSetPairVector const &
895 theAttributeHandleSetRegionHandleSetPairVector,
897 throw (ObjectClassNotDefined,
900 RegionNotCreatedByThisFederate,
901 InvalidRegionContext,
902 FederateNotExecutionMember,
905 RTIinternalError) = 0;
908 virtual
void unsubscribeObjectClassAttributesWithRegions
909 (ObjectClassHandle theClass,
910 AttributeHandleSetRegionHandleSetPairVector const &
911 theAttributeHandleSetRegionHandleSetPairVector)
912 throw (ObjectClassNotDefined,
915 RegionNotCreatedByThisFederate,
916 FederateNotExecutionMember,
919 RTIinternalError) = 0;
922 virtual
void subscribeInteractionClassWithRegions
923 (InteractionClassHandle theClass,
924 RegionHandleSet const & theRegionHandleSet,
926 throw (InteractionClassNotDefined,
928 RegionNotCreatedByThisFederate,
929 InvalidRegionContext,
930 FederateServiceInvocationsAreBeingReportedViaMOM,
931 FederateNotExecutionMember,
934 RTIinternalError) = 0;
937 virtual
void unsubscribeInteractionClassWithRegions
938 (InteractionClassHandle theClass,
939 RegionHandleSet const & theRegionHandleSet)
940 throw (InteractionClassNotDefined,
942 RegionNotCreatedByThisFederate,
943 FederateNotExecutionMember,
946 RTIinternalError) = 0;
949 virtual
void sendInteractionWithRegions
950 (InteractionClassHandle theInteraction,
951 ParameterHandleValueMap const & theParameterValues,
952 RegionHandleSet const & theRegionHandleSet,
953 RTI::VariableLengthData const & aTag)
954 throw (InteractionClassNotDefined,
955 InteractionClassNotPublished,
956 InteractionParameterNotDefined,
958 RegionNotCreatedByThisFederate,
959 InvalidRegionContext,
960 FederateNotExecutionMember,
963 RTIinternalError) = 0;
965 virtual MessageRetractionHandle sendInteractionWithRegions
966 (InteractionClassHandle theInteraction,
967 ParameterHandleValueMap const & theParameterValues,
968 RegionHandleSet const & theRegionHandleSet,
969 RTI::VariableLengthData const & aTag,
971 throw (InteractionClassNotDefined,
972 InteractionClassNotPublished,
973 InteractionParameterNotDefined,
975 RegionNotCreatedByThisFederate,
976 InvalidRegionContext,
978 FederateNotExecutionMember,
981 RTIinternalError) = 0;
984 virtual
void requestAttributeValueUpdateWithRegions
985 (ObjectClassHandle theClass,
986 AttributeHandleSetRegionHandleSetPairVector const & theSet,
987 RTI::VariableLengthData const & aTag)
988 throw (ObjectClassNotDefined,
991 RegionNotCreatedByThisFederate,
992 InvalidRegionContext,
993 FederateNotExecutionMember,
996 RTIinternalError) = 0;
1003 virtual ObjectClassHandle getObjectClassHandle
1004 (std::wstring const & theName)
1005 throw (NameNotFound,
1006 FederateNotExecutionMember,
1007 RTIinternalError) = 0;
1010 virtual std::wstring getObjectClassName
1011 (ObjectClassHandle theClass)
1012 throw (InvalidObjectClassHandle,
1013 FederateNotExecutionMember,
1014 RTIinternalError) = 0;
1017 virtual AttributeHandle getAttributeHandle
1018 (ObjectClassHandle theClass,
1019 std::wstring const & theAttributeName)
1020 throw (InvalidObjectClassHandle,
1022 FederateNotExecutionMember,
1023 RTIinternalError) = 0;
1026 virtual std::wstring getAttributeName
1027 (ObjectClassHandle theClass,
1028 AttributeHandle theHandle)
1029 throw (InvalidObjectClassHandle,
1030 InvalidAttributeHandle,
1031 AttributeNotDefined,
1032 FederateNotExecutionMember,
1033 RTIinternalError) = 0;
1036 virtual InteractionClassHandle getInteractionClassHandle
1037 (std::wstring const & theName)
1038 throw (NameNotFound,
1039 FederateNotExecutionMember,
1040 RTIinternalError) = 0;
1043 virtual std::wstring getInteractionClassName
1044 (InteractionClassHandle theHandle)
1045 throw (InvalidInteractionClassHandle,
1046 FederateNotExecutionMember,
1047 RTIinternalError) = 0;
1050 virtual ParameterHandle getParameterHandle
1051 (InteractionClassHandle whichClass,
1052 std::wstring const & theName)
1053 throw (InvalidInteractionClassHandle,
1055 FederateNotExecutionMember,
1056 RTIinternalError) = 0;
1059 virtual std::wstring getParameterName
1060 (InteractionClassHandle whichClass,
1061 ParameterHandle theHandle)
1062 throw (InvalidInteractionClassHandle,
1063 InvalidParameterHandle,
1064 InteractionParameterNotDefined,
1065 FederateNotExecutionMember,
1066 RTIinternalError) = 0;
1069 virtual ObjectInstanceHandle getObjectInstanceHandle
1070 (std::wstring const & theName)
1071 throw (ObjectInstanceNotKnown,
1072 FederateNotExecutionMember,
1073 RTIinternalError) = 0;
1076 virtual std::wstring getObjectInstanceName
1077 (ObjectInstanceHandle theHandle)
1078 throw (ObjectInstanceNotKnown,
1079 FederateNotExecutionMember,
1080 RTIinternalError) = 0;
1083 virtual DimensionHandle getDimensionHandle
1084 (std::wstring const & theName)
1085 throw (NameNotFound,
1086 FederateNotExecutionMember,
1087 RTIinternalError) = 0;
1090 virtual std::wstring getDimensionName
1091 (DimensionHandle theHandle)
1092 throw (InvalidDimensionHandle,
1093 FederateNotExecutionMember,
1094 RTIinternalError) = 0;
1097 virtual
unsigned long getDimensionUpperBound
1098 (DimensionHandle theHandle)
1099 throw (InvalidDimensionHandle,
1100 FederateNotExecutionMember,
1101 RTIinternalError) = 0;
1104 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute
1105 (ObjectClassHandle theClass,
1106 AttributeHandle theHandle)
1107 throw (InvalidObjectClassHandle,
1108 InvalidAttributeHandle,
1109 AttributeNotDefined,
1110 FederateNotExecutionMember,
1111 RTIinternalError) = 0;
1114 virtual ObjectClassHandle getKnownObjectClassHandle
1115 (ObjectInstanceHandle theObject)
1116 throw (ObjectInstanceNotKnown,
1117 FederateNotExecutionMember,
1118 RTIinternalError) = 0;
1121 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass
1122 (InteractionClassHandle theClass)
1123 throw (InvalidInteractionClassHandle,
1124 FederateNotExecutionMember,
1125 RTIinternalError) = 0;
1128 virtual TransportationType getTransportationType
1129 (std::wstring const & transportationName)
1130 throw (InvalidTransportationName,
1131 FederateNotExecutionMember,
1132 RTIinternalError) = 0;
1135 virtual std::wstring getTransportationName
1136 (TransportationType transportationType)
1137 throw (InvalidTransportationType,
1138 FederateNotExecutionMember,
1139 RTIinternalError) = 0;
1142 virtual OrderType getOrderType
1143 (std::wstring const & orderName)
1144 throw (InvalidOrderName,
1145 FederateNotExecutionMember,
1146 RTIinternalError) = 0;
1149 virtual std::wstring getOrderName
1150 (OrderType orderType)
1151 throw (InvalidOrderType,
1152 FederateNotExecutionMember,
1153 RTIinternalError) = 0;
1156 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1157 throw (ObjectClassRelevanceAdvisorySwitchIsOn,
1158 FederateNotExecutionMember,
1161 RTIinternalError) = 0;
1164 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1165 throw (ObjectClassRelevanceAdvisorySwitchIsOff,
1166 FederateNotExecutionMember,
1169 RTIinternalError) = 0;
1172 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1173 throw (AttributeRelevanceAdvisorySwitchIsOn,
1174 FederateNotExecutionMember,
1177 RTIinternalError) = 0;
1180 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1181 throw (AttributeRelevanceAdvisorySwitchIsOff,
1182 FederateNotExecutionMember,
1185 RTIinternalError) = 0;
1188 virtual
void enableAttributeScopeAdvisorySwitch ()
1189 throw (AttributeScopeAdvisorySwitchIsOn,
1190 FederateNotExecutionMember,
1193 RTIinternalError) = 0;
1196 virtual
void disableAttributeScopeAdvisorySwitch ()
1197 throw (AttributeScopeAdvisorySwitchIsOff,
1198 FederateNotExecutionMember,
1201 RTIinternalError) = 0;
1204 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1205 throw (InteractionRelevanceAdvisorySwitchIsOn,
1206 FederateNotExecutionMember,
1209 RTIinternalError) = 0;
1212 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1213 throw (InteractionRelevanceAdvisorySwitchIsOff,
1214 FederateNotExecutionMember,
1217 RTIinternalError) = 0;
1221 DimensionHandleSet getDimensionHandleSet
1222 (RegionHandle theRegionHandle)
1223 throw (InvalidRegion,
1224 FederateNotExecutionMember,
1227 RTIinternalError) = 0;
1231 RangeBounds getRangeBounds
1232 (RegionHandle theRegionHandle,
1233 DimensionHandle theDimensionHandle)
1234 throw (InvalidRegion,
1235 RegionDoesNotContainSpecifiedDimension,
1236 FederateNotExecutionMember,
1239 RTIinternalError) = 0;
1242 virtual
void setRangeBounds
1243 (RegionHandle theRegionHandle,
1244 DimensionHandle theDimensionHandle,
1245 RangeBounds const & theRangeBounds)
1246 throw (InvalidRegion,
1247 RegionNotCreatedByThisFederate,
1248 RegionDoesNotContainSpecifiedDimension,
1250 FederateNotExecutionMember,
1253 RTIinternalError) = 0;
1256 virtual
unsigned long normalizeFederateHandle
1257 (FederateHandle theFederateHandle)
1258 throw (FederateNotExecutionMember,
1259 RTIinternalError) = 0;
1262 virtual
unsigned long normalizeServiceGroup
1263 (ServiceGroupIndicator theServiceGroup)
1264 throw (FederateNotExecutionMember,
1265 InvalidServiceGroup,
1266 RTIinternalError) = 0;
1269 virtual
bool evokeCallback(
double approximateMinimumTimeInSeconds)
1270 throw (FederateNotExecutionMember,
1271 RTIinternalError) = 0;
1274 virtual
bool evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
1275 double approximateMaximumTimeInSeconds)
1276 throw (FederateNotExecutionMember,
1277 RTIinternalError) = 0;
1280 virtual
void enableCallbacks ()
1281 throw (FederateNotExecutionMember,
1284 RTIinternalError) = 0;
1287 virtual
void disableCallbacks ()
1288 throw (FederateNotExecutionMember,
1291 RTIinternalError) = 0;
1293 virtual FederateHandle decodeFederateHandle(
1294 VariableLengthData const & encodedValue) const = 0;
1296 virtual ObjectClassHandle decodeObjectClassHandle(
1297 VariableLengthData const & encodedValue) const = 0;
1299 virtual InteractionClassHandle decodeInteractionClassHandle(
1300 VariableLengthData const & encodedValue) const = 0;
1302 virtual ObjectInstanceHandle decodeObjectInstanceHandle(
1303 VariableLengthData const & encodedValue) const = 0;
1305 virtual AttributeHandle decodeAttributeHandle(
1306 VariableLengthData const & encodedValue) const = 0;
1308 virtual ParameterHandle decodeParameterHandle(
1309 VariableLengthData const & encodedValue) const = 0;
1311 virtual DimensionHandle decodeDimensionHandle(
1312 VariableLengthData const & encodedValue) const = 0;
1314 virtual MessageRetractionHandle decodeMessageRetractionHandle(
1315 VariableLengthData const & encodedValue) const = 0;
1317 virtual RegionHandle decodeRegionHandle(
1318 VariableLengthData const & encodedValue) const = 0;
1323 static RTI::RTIambassador * create();
1327 std::auto_ptr<RTIambassador> myRtiAmb;