11 #if DtHLA_1516 && !DtHLA_1516_EVOLVED
32 virtual ~DtVrlRtiAmbassador();
36 DtVrlRtiAmbassador(const DtVrlRtiAmbassador& orig);
39 DtVrlRtiAmbassador& operator=(const DtVrlRtiAmbassador& orig);
45 virtual RTI::RTIambassador* rtiAmb();
48 virtual
void createFederationExecution
49 (std::wstring const & federationExecutionName,
50 std::wstring const & fullPathNameToTheFDDfile,
51 std::wstring const & logicalTimeImplementationName = L"")
52 throw (FederationExecutionAlreadyExists,
55 RTIinternalError) = 0;
58 virtual
void destroyFederationExecution
59 (std::wstring const & federationExecutionName)
60 throw (FederatesCurrentlyJoined,
61 FederationExecutionDoesNotExist,
62 RTIinternalError) = 0;
65 virtual FederateHandle joinFederationExecution
66 (std::wstring const & federateType,
67 std::wstring const & federationExecutionName,
68 FederateAmbassador & federateAmbassador)
69 throw (FederateAlreadyExecutionMember,
70 FederationExecutionDoesNotExist,
73 RTIinternalError) = 0;
76 virtual
void resignFederationExecution
77 (ResignAction resignAction)
78 throw (OwnershipAcquisitionPending,
79 FederateOwnsAttributes,
80 FederateNotExecutionMember,
81 RTIinternalError) = 0;
84 virtual
void registerFederationSynchronizationPoint
85 (std::wstring const & label,
86 RTI::VariableLengthData const & aTag)
87 throw (FederateNotExecutionMember,
90 RTIinternalError) = 0;
92 virtual
void registerFederationSynchronizationPoint
93 (std::wstring const & label,
94 RTI::VariableLengthData const & aTag,
95 FederateHandleSet const & syncSet)
96 throw (FederateNotExecutionMember,
99 RTIinternalError) = 0;
102 virtual
void synchronizationPointAchieved
103 (std::wstring const & label)
104 throw (SynchronizationPointLabelNotAnnounced,
105 FederateNotExecutionMember,
108 RTIinternalError) = 0;
111 virtual
void requestFederationSave
112 (std::wstring const & label)
113 throw (FederateNotExecutionMember,
116 RTIinternalError) = 0;
118 virtual
void requestFederationSave
119 (std::wstring const & label,
120 LogicalTime const & theTime)
121 throw (LogicalTimeAlreadyPassed,
123 FederateUnableToUseTime,
124 FederateNotExecutionMember,
127 RTIinternalError) = 0;
130 virtual
void federateSaveBegun ()
131 throw (SaveNotInitiated,
132 FederateNotExecutionMember,
134 RTIinternalError) = 0;
137 virtual
void federateSaveComplete ()
138 throw (FederateHasNotBegunSave,
139 FederateNotExecutionMember,
141 RTIinternalError) = 0;
143 virtual
void federateSaveNotComplete()
144 throw (FederateHasNotBegunSave,
145 FederateNotExecutionMember,
147 RTIinternalError) = 0;
150 virtual
void queryFederationSaveStatus ()
151 throw (FederateNotExecutionMember,
153 RTIinternalError) = 0;
156 virtual
void requestFederationRestore
157 (std::wstring const & label)
158 throw (FederateNotExecutionMember,
161 RTIinternalError) = 0;
164 virtual
void federateRestoreComplete ()
165 throw (RestoreNotRequested,
166 FederateNotExecutionMember,
168 RTIinternalError) = 0;
170 virtual
void federateRestoreNotComplete ()
171 throw (RestoreNotRequested,
172 FederateNotExecutionMember,
174 RTIinternalError) = 0;
177 virtual
void queryFederationRestoreStatus ()
178 throw (FederateNotExecutionMember,
180 RTIinternalError) = 0;
187 virtual
void publishObjectClassAttributes
188 (ObjectClassHandle theClass,
189 AttributeHandleSet const & attributeList)
190 throw (ObjectClassNotDefined,
192 FederateNotExecutionMember,
195 RTIinternalError) = 0;
198 virtual
void unpublishObjectClass
199 (ObjectClassHandle theClass)
200 throw (ObjectClassNotDefined,
201 OwnershipAcquisitionPending,
202 FederateNotExecutionMember,
205 RTIinternalError) = 0;
207 virtual
void unpublishObjectClassAttributes
208 (ObjectClassHandle theClass,
209 AttributeHandleSet const & attributeList)
210 throw (ObjectClassNotDefined,
212 OwnershipAcquisitionPending,
213 FederateNotExecutionMember,
216 RTIinternalError) = 0;
219 virtual
void publishInteractionClass
220 (InteractionClassHandle theInteraction)
221 throw (InteractionClassNotDefined,
222 FederateNotExecutionMember,
225 RTIinternalError) = 0;
228 virtual
void unpublishInteractionClass
229 (InteractionClassHandle theInteraction)
230 throw (InteractionClassNotDefined,
231 FederateNotExecutionMember,
234 RTIinternalError) = 0;
237 virtual
void subscribeObjectClassAttributes
238 (ObjectClassHandle theClass,
239 AttributeHandleSet const & attributeList,
241 throw (ObjectClassNotDefined,
243 FederateNotExecutionMember,
246 RTIinternalError) = 0;
249 virtual
void unsubscribeObjectClass
250 (ObjectClassHandle theClass)
251 throw (ObjectClassNotDefined,
252 FederateNotExecutionMember,
255 RTIinternalError) = 0;
257 virtual
void unsubscribeObjectClassAttributes
258 (ObjectClassHandle theClass,
259 AttributeHandleSet const & attributeList)
260 throw (ObjectClassNotDefined,
262 FederateNotExecutionMember,
265 RTIinternalError) = 0;
268 virtual
void subscribeInteractionClass
269 (InteractionClassHandle theClass,
271 throw (InteractionClassNotDefined,
272 FederateServiceInvocationsAreBeingReportedViaMOM,
273 FederateNotExecutionMember,
276 RTIinternalError) = 0;
279 virtual
void unsubscribeInteractionClass
280 (InteractionClassHandle theClass)
281 throw (InteractionClassNotDefined,
282 FederateNotExecutionMember,
285 RTIinternalError) = 0;
292 virtual
void reserveObjectInstanceName
293 (std::wstring const & theObjectInstanceName)
295 FederateNotExecutionMember,
298 RTIinternalError) = 0;
301 virtual ObjectInstanceHandle registerObjectInstance
302 (ObjectClassHandle theClass)
303 throw (ObjectClassNotDefined,
304 ObjectClassNotPublished,
305 FederateNotExecutionMember,
308 RTIinternalError) = 0;
310 virtual ObjectInstanceHandle registerObjectInstance
311 (ObjectClassHandle theClass,
312 std::wstring const & theObjectInstanceName)
313 throw (ObjectClassNotDefined,
314 ObjectClassNotPublished,
315 ObjectInstanceNameNotReserved,
316 ObjectInstanceNameInUse,
317 FederateNotExecutionMember,
320 RTIinternalError) = 0;
323 virtual
void updateAttributeValues
324 (ObjectInstanceHandle theObject,
325 AttributeHandleValueMap const & theAttributeValues,
326 RTI::VariableLengthData const & aTag)
327 throw (ObjectInstanceNotKnown,
330 FederateNotExecutionMember,
333 RTIinternalError) = 0;
335 virtual MessageRetractionHandle updateAttributeValues
336 (ObjectInstanceHandle theObject,
337 AttributeHandleValueMap const & theAttributeValues,
338 RTI::VariableLengthData const & aTag,
339 LogicalTime const & theTime)
340 throw (ObjectInstanceNotKnown,
344 FederateNotExecutionMember,
347 RTIinternalError) = 0;
350 virtual
void sendInteraction
351 (InteractionClassHandle theInteraction,
352 ParameterHandleValueMap const & theParameterValues,
353 RTI::VariableLengthData const & aTag)
354 throw (InteractionClassNotPublished,
355 InteractionClassNotDefined,
356 InteractionParameterNotDefined,
357 FederateNotExecutionMember,
360 RTIinternalError) = 0;
362 virtual MessageRetractionHandle sendInteraction
363 (InteractionClassHandle theInteraction,
364 ParameterHandleValueMap const & theParameterValues,
365 RTI::VariableLengthData const & aTag,
366 LogicalTime const & theTime)
367 throw (InteractionClassNotPublished,
368 InteractionClassNotDefined,
369 InteractionParameterNotDefined,
371 FederateNotExecutionMember,
374 RTIinternalError) = 0;
377 virtual
void deleteObjectInstance
378 (ObjectInstanceHandle theObject,
379 RTI::VariableLengthData const & aTag)
380 throw (DeletePrivilegeNotHeld,
381 ObjectInstanceNotKnown,
382 FederateNotExecutionMember,
385 RTIinternalError) = 0;
387 virtual MessageRetractionHandle deleteObjectInstance
388 (ObjectInstanceHandle theObject,
389 RTI::VariableLengthData const & aTag,
390 LogicalTime const & theTime)
391 throw (DeletePrivilegeNotHeld,
392 ObjectInstanceNotKnown,
394 FederateNotExecutionMember,
397 RTIinternalError) = 0;
400 virtual
void localDeleteObjectInstance
401 (ObjectInstanceHandle theObject)
402 throw (ObjectInstanceNotKnown,
403 FederateOwnsAttributes,
404 OwnershipAcquisitionPending,
405 FederateNotExecutionMember,
408 RTIinternalError) = 0;
411 virtual
void changeAttributeTransportationType
412 (ObjectInstanceHandle theObject,
413 AttributeHandleSet const & theAttributes,
414 TransportationType theType)
415 throw (ObjectInstanceNotKnown,
418 FederateNotExecutionMember,
421 RTIinternalError) = 0;
424 virtual
void changeInteractionTransportationType
425 (InteractionClassHandle theClass,
426 TransportationType theType)
427 throw (InteractionClassNotDefined,
428 InteractionClassNotPublished,
429 FederateNotExecutionMember,
432 RTIinternalError) = 0;
435 virtual
void requestAttributeValueUpdate
436 (ObjectInstanceHandle theObject,
437 AttributeHandleSet const & theAttributes,
438 RTI::VariableLengthData const & aTag)
439 throw (ObjectInstanceNotKnown,
441 FederateNotExecutionMember,
444 RTIinternalError) = 0;
446 virtual
void requestAttributeValueUpdate
447 (ObjectClassHandle theClass,
448 AttributeHandleSet const & theAttributes,
449 RTI::VariableLengthData const & aTag)
450 throw (ObjectClassNotDefined,
452 FederateNotExecutionMember,
455 RTIinternalError) = 0;
461 virtual
void unconditionalAttributeOwnershipDivestiture
462 (ObjectInstanceHandle theObject,
463 AttributeHandleSet const & theAttributes)
464 throw (ObjectInstanceNotKnown,
467 FederateNotExecutionMember,
470 RTIinternalError) = 0;
473 virtual
void negotiatedAttributeOwnershipDivestiture
474 (ObjectInstanceHandle theObject,
475 AttributeHandleSet const & theAttributes,
476 RTI::VariableLengthData const & aTag)
477 throw (ObjectInstanceNotKnown,
480 AttributeAlreadyBeingDivested,
481 FederateNotExecutionMember,
484 RTIinternalError) = 0;
487 virtual
void confirmDivestiture
488 (ObjectInstanceHandle theObject,
489 AttributeHandleSet const & confirmedAttributes,
490 RTI::VariableLengthData const & aTag)
491 throw (ObjectInstanceNotKnown,
494 AttributeDivestitureWasNotRequested,
495 NoAcquisitionPending,
496 FederateNotExecutionMember,
499 RTIinternalError) = 0;
502 virtual
void attributeOwnershipAcquisition
503 (ObjectInstanceHandle theObject,
504 AttributeHandleSet const & desiredAttributes,
505 RTI::VariableLengthData const & aTag)
506 throw (ObjectInstanceNotKnown,
507 ObjectClassNotPublished,
509 AttributeNotPublished,
510 FederateOwnsAttributes,
511 FederateNotExecutionMember,
514 RTIinternalError) = 0;
517 virtual
void attributeOwnershipAcquisitionIfAvailable
518 (ObjectInstanceHandle theObject,
519 AttributeHandleSet const & desiredAttributes)
520 throw (ObjectInstanceNotKnown,
521 ObjectClassNotPublished,
523 AttributeNotPublished,
524 FederateOwnsAttributes,
525 AttributeAlreadyBeingAcquired,
526 FederateNotExecutionMember,
529 RTIinternalError) = 0;
532 virtual
void attributeOwnershipDivestitureIfWanted(
533 ObjectInstanceHandle theObject,
534 AttributeHandleSet const & theAttributes,
535 AttributeHandleSet & theDivestedAttributes)
536 throw (ObjectInstanceNotKnown,
539 FederateNotExecutionMember,
542 RTIinternalError) = 0;
545 virtual
void cancelNegotiatedAttributeOwnershipDivestiture
546 (ObjectInstanceHandle theObject,
547 AttributeHandleSet const & theAttributes)
548 throw (ObjectInstanceNotKnown,
551 AttributeDivestitureWasNotRequested,
552 FederateNotExecutionMember,
555 RTIinternalError) = 0;
558 virtual
void cancelAttributeOwnershipAcquisition
559 (ObjectInstanceHandle theObject,
560 AttributeHandleSet const & theAttributes)
561 throw (ObjectInstanceNotKnown,
563 AttributeAlreadyOwned,
564 AttributeAcquisitionWasNotRequested,
565 FederateNotExecutionMember,
568 RTIinternalError) = 0;
571 virtual
void queryAttributeOwnership
572 (ObjectInstanceHandle theObject,
573 AttributeHandle theAttribute)
574 throw (ObjectInstanceNotKnown,
576 FederateNotExecutionMember,
579 RTIinternalError) = 0;
582 virtual
bool isAttributeOwnedByFederate
583 (ObjectInstanceHandle theObject,
584 AttributeHandle theAttribute)
585 throw (ObjectInstanceNotKnown,
587 FederateNotExecutionMember,
590 RTIinternalError) = 0;
597 virtual
void enableTimeRegulation
598 (LogicalTimeInterval const & theLookahead)
599 throw (TimeRegulationAlreadyEnabled,
601 InTimeAdvancingState,
602 RequestForTimeRegulationPending,
603 FederateNotExecutionMember,
606 RTIinternalError) = 0;
609 virtual
void disableTimeRegulation ()
610 throw (TimeRegulationIsNotEnabled,
611 FederateNotExecutionMember,
614 RTIinternalError) = 0;
617 virtual
void enableTimeConstrained ()
618 throw (TimeConstrainedAlreadyEnabled,
619 InTimeAdvancingState,
620 RequestForTimeConstrainedPending,
621 FederateNotExecutionMember,
624 RTIinternalError) = 0;
627 virtual
void disableTimeConstrained ()
628 throw (TimeConstrainedIsNotEnabled,
629 FederateNotExecutionMember,
632 RTIinternalError) = 0;
635 virtual
void timeAdvanceRequest
636 (LogicalTime const & theTime)
637 throw (InvalidLogicalTime,
638 LogicalTimeAlreadyPassed,
639 InTimeAdvancingState,
640 RequestForTimeRegulationPending,
641 RequestForTimeConstrainedPending,
642 FederateNotExecutionMember,
645 RTIinternalError) = 0;
648 virtual
void timeAdvanceRequestAvailable
649 (LogicalTime const & theTime)
650 throw (InvalidLogicalTime,
651 LogicalTimeAlreadyPassed,
652 InTimeAdvancingState,
653 RequestForTimeRegulationPending,
654 RequestForTimeConstrainedPending,
655 FederateNotExecutionMember,
658 RTIinternalError) = 0;
661 virtual
void nextMessageRequest
662 (LogicalTime const & theTime)
663 throw (InvalidLogicalTime,
664 LogicalTimeAlreadyPassed,
665 InTimeAdvancingState,
666 RequestForTimeRegulationPending,
667 RequestForTimeConstrainedPending,
668 FederateNotExecutionMember,
671 RTIinternalError) = 0;
674 virtual
void nextMessageRequestAvailable
675 (LogicalTime const & theTime)
676 throw (InvalidLogicalTime,
677 LogicalTimeAlreadyPassed,
678 InTimeAdvancingState,
679 RequestForTimeRegulationPending,
680 RequestForTimeConstrainedPending,
681 FederateNotExecutionMember,
684 RTIinternalError) = 0;
687 virtual
void flushQueueRequest
688 (LogicalTime const & theTime)
689 throw (InvalidLogicalTime,
690 LogicalTimeAlreadyPassed,
691 InTimeAdvancingState,
692 RequestForTimeRegulationPending,
693 RequestForTimeConstrainedPending,
694 FederateNotExecutionMember,
697 RTIinternalError) = 0;
700 virtual
void enableAsynchronousDelivery ()
701 throw (AsynchronousDeliveryAlreadyEnabled,
702 FederateNotExecutionMember,
705 RTIinternalError) = 0;
708 virtual
void disableAsynchronousDelivery ()
709 throw (AsynchronousDeliveryAlreadyDisabled,
710 FederateNotExecutionMember,
713 RTIinternalError) = 0;
716 virtual
bool queryGALT (LogicalTime & theTime)
717 throw (FederateNotExecutionMember,
720 RTIinternalError) = 0;
723 virtual
void queryLogicalTime (LogicalTime & theTime)
724 throw (FederateNotExecutionMember,
727 RTIinternalError) = 0;
730 virtual
bool queryLITS (LogicalTime & theTime)
731 throw (FederateNotExecutionMember,
734 RTIinternalError) = 0;
737 virtual
void modifyLookahead
738 (LogicalTimeInterval const & theLookahead)
739 throw (TimeRegulationIsNotEnabled,
741 InTimeAdvancingState,
742 FederateNotExecutionMember,
745 RTIinternalError) = 0;
748 virtual
void queryLookahead (LogicalTimeInterval & interval)
749 throw (TimeRegulationIsNotEnabled,
750 FederateNotExecutionMember,
753 RTIinternalError) = 0;
757 (MessageRetractionHandle theHandle)
758 throw (InvalidRetractionHandle,
759 TimeRegulationIsNotEnabled,
760 MessageCanNoLongerBeRetracted,
761 FederateNotExecutionMember,
764 RTIinternalError) = 0;
767 virtual
void changeAttributeOrderType
768 (ObjectInstanceHandle theObject,
769 AttributeHandleSet const & theAttributes,
771 throw (ObjectInstanceNotKnown,
774 FederateNotExecutionMember,
777 RTIinternalError) = 0;
780 virtual
void changeInteractionOrderType
781 (InteractionClassHandle theClass,
783 throw (InteractionClassNotDefined,
784 InteractionClassNotPublished,
785 FederateNotExecutionMember,
788 RTIinternalError) = 0;
795 virtual RegionHandle createRegion
796 (DimensionHandleSet const & theDimensions)
797 throw (InvalidDimensionHandle,
798 FederateNotExecutionMember,
801 RTIinternalError) = 0;
804 virtual
void commitRegionModifications
805 (RegionHandleSet const & theRegionHandleSet)
806 throw (InvalidRegion,
807 RegionNotCreatedByThisFederate,
808 FederateNotExecutionMember,
811 RTIinternalError) = 0;
814 virtual
void deleteRegion
815 (RegionHandle theRegion)
816 throw (InvalidRegion,
817 RegionNotCreatedByThisFederate,
818 RegionInUseForUpdateOrSubscription,
819 FederateNotExecutionMember,
822 RTIinternalError) = 0;
825 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
826 (ObjectClassHandle theClass,
827 AttributeHandleSetRegionHandleSetPairVector const &
828 theAttributeHandleSetRegionHandleSetPairVector)
829 throw (ObjectClassNotDefined,
830 ObjectClassNotPublished,
832 AttributeNotPublished,
834 RegionNotCreatedByThisFederate,
835 InvalidRegionContext,
836 FederateNotExecutionMember,
839 RTIinternalError) = 0;
841 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
842 (ObjectClassHandle theClass,
843 AttributeHandleSetRegionHandleSetPairVector const &
844 theAttributeHandleSetRegionHandleSetPairVector,
845 std::wstring const & theObjectInstanceName)
846 throw (ObjectClassNotDefined,
847 ObjectClassNotPublished,
849 AttributeNotPublished,
851 RegionNotCreatedByThisFederate,
852 InvalidRegionContext,
853 ObjectInstanceNameNotReserved,
854 ObjectInstanceNameInUse,
855 FederateNotExecutionMember,
858 RTIinternalError) = 0;
861 virtual
void associateRegionsForUpdates
862 (ObjectInstanceHandle theObject,
863 AttributeHandleSetRegionHandleSetPairVector const &
864 theAttributeHandleSetRegionHandleSetPairVector)
865 throw (ObjectInstanceNotKnown,
868 RegionNotCreatedByThisFederate,
869 InvalidRegionContext,
870 FederateNotExecutionMember,
873 RTIinternalError) = 0;
876 virtual
void unassociateRegionsForUpdates
877 (ObjectInstanceHandle theObject,
878 AttributeHandleSetRegionHandleSetPairVector const &
879 theAttributeHandleSetRegionHandleSetPairVector)
880 throw (ObjectInstanceNotKnown,
883 RegionNotCreatedByThisFederate,
884 FederateNotExecutionMember,
887 RTIinternalError) = 0;
890 virtual
void subscribeObjectClassAttributesWithRegions
891 (ObjectClassHandle theClass,
892 AttributeHandleSetRegionHandleSetPairVector const &
893 theAttributeHandleSetRegionHandleSetPairVector,
895 throw (ObjectClassNotDefined,
898 RegionNotCreatedByThisFederate,
899 InvalidRegionContext,
900 FederateNotExecutionMember,
903 RTIinternalError) = 0;
906 virtual
void unsubscribeObjectClassAttributesWithRegions
907 (ObjectClassHandle theClass,
908 AttributeHandleSetRegionHandleSetPairVector const &
909 theAttributeHandleSetRegionHandleSetPairVector)
910 throw (ObjectClassNotDefined,
913 RegionNotCreatedByThisFederate,
914 FederateNotExecutionMember,
917 RTIinternalError) = 0;
920 virtual
void subscribeInteractionClassWithRegions
921 (InteractionClassHandle theClass,
922 RegionHandleSet const & theRegionHandleSet,
924 throw (InteractionClassNotDefined,
926 RegionNotCreatedByThisFederate,
927 InvalidRegionContext,
928 FederateServiceInvocationsAreBeingReportedViaMOM,
929 FederateNotExecutionMember,
932 RTIinternalError) = 0;
935 virtual
void unsubscribeInteractionClassWithRegions
936 (InteractionClassHandle theClass,
937 RegionHandleSet const & theRegionHandleSet)
938 throw (InteractionClassNotDefined,
940 RegionNotCreatedByThisFederate,
941 FederateNotExecutionMember,
944 RTIinternalError) = 0;
947 virtual
void sendInteractionWithRegions
948 (InteractionClassHandle theInteraction,
949 ParameterHandleValueMap const & theParameterValues,
950 RegionHandleSet const & theRegionHandleSet,
951 RTI::VariableLengthData const & aTag)
952 throw (InteractionClassNotDefined,
953 InteractionClassNotPublished,
954 InteractionParameterNotDefined,
956 RegionNotCreatedByThisFederate,
957 InvalidRegionContext,
958 FederateNotExecutionMember,
961 RTIinternalError) = 0;
963 virtual MessageRetractionHandle sendInteractionWithRegions
964 (InteractionClassHandle theInteraction,
965 ParameterHandleValueMap const & theParameterValues,
966 RegionHandleSet const & theRegionHandleSet,
967 RTI::VariableLengthData const & aTag,
968 LogicalTime const & theTime)
969 throw (InteractionClassNotDefined,
970 InteractionClassNotPublished,
971 InteractionParameterNotDefined,
973 RegionNotCreatedByThisFederate,
974 InvalidRegionContext,
976 FederateNotExecutionMember,
979 RTIinternalError) = 0;
982 virtual
void requestAttributeValueUpdateWithRegions
983 (ObjectClassHandle theClass,
984 AttributeHandleSetRegionHandleSetPairVector const & theSet,
985 RTI::VariableLengthData const & aTag)
986 throw (ObjectClassNotDefined,
989 RegionNotCreatedByThisFederate,
990 InvalidRegionContext,
991 FederateNotExecutionMember,
994 RTIinternalError) = 0;
1001 virtual ObjectClassHandle getObjectClassHandle
1002 (std::wstring const & theName)
1003 throw (NameNotFound,
1004 FederateNotExecutionMember,
1005 RTIinternalError) = 0;
1008 virtual std::wstring getObjectClassName
1009 (ObjectClassHandle theClass)
1010 throw (InvalidObjectClassHandle,
1011 FederateNotExecutionMember,
1012 RTIinternalError) = 0;
1015 virtual AttributeHandle getAttributeHandle
1016 (ObjectClassHandle theClass,
1017 std::wstring const & theAttributeName)
1018 throw (InvalidObjectClassHandle,
1020 FederateNotExecutionMember,
1021 RTIinternalError) = 0;
1024 virtual std::wstring getAttributeName
1025 (ObjectClassHandle theClass,
1026 AttributeHandle theHandle)
1027 throw (InvalidObjectClassHandle,
1028 InvalidAttributeHandle,
1029 AttributeNotDefined,
1030 FederateNotExecutionMember,
1031 RTIinternalError) = 0;
1034 virtual InteractionClassHandle getInteractionClassHandle
1035 (std::wstring const & theName)
1036 throw (NameNotFound,
1037 FederateNotExecutionMember,
1038 RTIinternalError) = 0;
1041 virtual std::wstring getInteractionClassName
1042 (InteractionClassHandle theHandle)
1043 throw (InvalidInteractionClassHandle,
1044 FederateNotExecutionMember,
1045 RTIinternalError) = 0;
1048 virtual ParameterHandle getParameterHandle
1049 (InteractionClassHandle whichClass,
1050 std::wstring const & theName)
1051 throw (InvalidInteractionClassHandle,
1053 FederateNotExecutionMember,
1054 RTIinternalError) = 0;
1057 virtual std::wstring getParameterName
1058 (InteractionClassHandle whichClass,
1059 ParameterHandle theHandle)
1060 throw (InvalidInteractionClassHandle,
1061 InvalidParameterHandle,
1062 InteractionParameterNotDefined,
1063 FederateNotExecutionMember,
1064 RTIinternalError) = 0;
1067 virtual ObjectInstanceHandle getObjectInstanceHandle
1068 (std::wstring const & theName)
1069 throw (ObjectInstanceNotKnown,
1070 FederateNotExecutionMember,
1071 RTIinternalError) = 0;
1074 virtual std::wstring getObjectInstanceName
1075 (ObjectInstanceHandle theHandle)
1076 throw (ObjectInstanceNotKnown,
1077 FederateNotExecutionMember,
1078 RTIinternalError) = 0;
1081 virtual DimensionHandle getDimensionHandle
1082 (std::wstring const & theName)
1083 throw (NameNotFound,
1084 FederateNotExecutionMember,
1085 RTIinternalError) = 0;
1088 virtual std::wstring getDimensionName
1089 (DimensionHandle theHandle)
1090 throw (InvalidDimensionHandle,
1091 FederateNotExecutionMember,
1092 RTIinternalError) = 0;
1095 virtual
unsigned long getDimensionUpperBound
1096 (DimensionHandle theHandle)
1097 throw (InvalidDimensionHandle,
1098 FederateNotExecutionMember,
1099 RTIinternalError) = 0;
1102 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute
1103 (ObjectClassHandle theClass,
1104 AttributeHandle theHandle)
1105 throw (InvalidObjectClassHandle,
1106 InvalidAttributeHandle,
1107 AttributeNotDefined,
1108 FederateNotExecutionMember,
1109 RTIinternalError) = 0;
1112 virtual ObjectClassHandle getKnownObjectClassHandle
1113 (ObjectInstanceHandle theObject)
1114 throw (ObjectInstanceNotKnown,
1115 FederateNotExecutionMember,
1116 RTIinternalError) = 0;
1119 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass
1120 (InteractionClassHandle theClass)
1121 throw (InvalidInteractionClassHandle,
1122 FederateNotExecutionMember,
1123 RTIinternalError) = 0;
1126 virtual TransportationType getTransportationType
1127 (std::wstring const & transportationName)
1128 throw (InvalidTransportationName,
1129 FederateNotExecutionMember,
1130 RTIinternalError) = 0;
1133 virtual std::wstring getTransportationName
1134 (TransportationType transportationType)
1135 throw (InvalidTransportationType,
1136 FederateNotExecutionMember,
1137 RTIinternalError) = 0;
1140 virtual OrderType getOrderType
1141 (std::wstring const & orderName)
1142 throw (InvalidOrderName,
1143 FederateNotExecutionMember,
1144 RTIinternalError) = 0;
1147 virtual std::wstring getOrderName
1148 (OrderType orderType)
1149 throw (InvalidOrderType,
1150 FederateNotExecutionMember,
1151 RTIinternalError) = 0;
1154 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1155 throw (ObjectClassRelevanceAdvisorySwitchIsOn,
1156 FederateNotExecutionMember,
1159 RTIinternalError) = 0;
1162 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1163 throw (ObjectClassRelevanceAdvisorySwitchIsOff,
1164 FederateNotExecutionMember,
1167 RTIinternalError) = 0;
1170 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1171 throw (AttributeRelevanceAdvisorySwitchIsOn,
1172 FederateNotExecutionMember,
1175 RTIinternalError) = 0;
1178 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1179 throw (AttributeRelevanceAdvisorySwitchIsOff,
1180 FederateNotExecutionMember,
1183 RTIinternalError) = 0;
1186 virtual
void enableAttributeScopeAdvisorySwitch ()
1187 throw (AttributeScopeAdvisorySwitchIsOn,
1188 FederateNotExecutionMember,
1191 RTIinternalError) = 0;
1194 virtual
void disableAttributeScopeAdvisorySwitch ()
1195 throw (AttributeScopeAdvisorySwitchIsOff,
1196 FederateNotExecutionMember,
1199 RTIinternalError) = 0;
1202 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1203 throw (InteractionRelevanceAdvisorySwitchIsOn,
1204 FederateNotExecutionMember,
1207 RTIinternalError) = 0;
1210 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1211 throw (InteractionRelevanceAdvisorySwitchIsOff,
1212 FederateNotExecutionMember,
1215 RTIinternalError) = 0;
1219 DimensionHandleSet getDimensionHandleSet
1220 (RegionHandle theRegionHandle)
1221 throw (InvalidRegion,
1222 FederateNotExecutionMember,
1225 RTIinternalError) = 0;
1229 RangeBounds getRangeBounds
1230 (RegionHandle theRegionHandle,
1231 DimensionHandle theDimensionHandle)
1232 throw (InvalidRegion,
1233 RegionDoesNotContainSpecifiedDimension,
1234 FederateNotExecutionMember,
1237 RTIinternalError) = 0;
1240 virtual
void setRangeBounds
1241 (RegionHandle theRegionHandle,
1242 DimensionHandle theDimensionHandle,
1243 RangeBounds const & theRangeBounds)
1244 throw (InvalidRegion,
1245 RegionNotCreatedByThisFederate,
1246 RegionDoesNotContainSpecifiedDimension,
1248 FederateNotExecutionMember,
1251 RTIinternalError) = 0;
1254 virtual
unsigned long normalizeFederateHandle
1255 (FederateHandle theFederateHandle)
1256 throw (FederateNotExecutionMember,
1257 RTIinternalError) = 0;
1260 virtual
unsigned long normalizeServiceGroup
1261 (ServiceGroupIndicator theServiceGroup)
1262 throw (FederateNotExecutionMember,
1263 InvalidServiceGroup,
1264 RTIinternalError) = 0;
1267 virtual
bool evokeCallback(
double approximateMinimumTimeInSeconds)
1268 throw (FederateNotExecutionMember,
1269 RTIinternalError) = 0;
1272 virtual
bool evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
1273 double approximateMaximumTimeInSeconds)
1274 throw (FederateNotExecutionMember,
1275 RTIinternalError) = 0;
1278 virtual
void enableCallbacks ()
1279 throw (FederateNotExecutionMember,
1282 RTIinternalError) = 0;
1285 virtual
void disableCallbacks ()
1286 throw (FederateNotExecutionMember,
1289 RTIinternalError) = 0;
1291 virtual FederateHandle decodeFederateHandle(
1292 VariableLengthData const & encodedValue) const = 0;
1294 virtual ObjectClassHandle decodeObjectClassHandle(
1295 VariableLengthData const & encodedValue) const = 0;
1297 virtual InteractionClassHandle decodeInteractionClassHandle(
1298 VariableLengthData const & encodedValue) const = 0;
1300 virtual ObjectInstanceHandle decodeObjectInstanceHandle(
1301 VariableLengthData const & encodedValue) const = 0;
1303 virtual AttributeHandle decodeAttributeHandle(
1304 VariableLengthData const & encodedValue) const = 0;
1306 virtual ParameterHandle decodeParameterHandle(
1307 VariableLengthData const & encodedValue) const = 0;
1309 virtual DimensionHandle decodeDimensionHandle(
1310 VariableLengthData const & encodedValue) const = 0;
1312 virtual MessageRetractionHandle decodeMessageRetractionHandle(
1313 VariableLengthData const & encodedValue) const = 0;
1315 virtual RegionHandle decodeRegionHandle(
1316 VariableLengthData const & encodedValue) const = 0;
1321 static RTI::RTIambassador * create();
1325 std::auto_ptr<RTIambassador> myRtiAmb;
1326 FederateAmbassador *myFedAmb;
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file contains typedefs for machine dependant types.