11 #if DtHLA_1516_EVOLVED && !DtHLA_4
32 virtual ~DtVrlRtiAmbassador();
36 DtVrlRtiAmbassador(const DtVrlRtiAmbassador& orig);
39 DtVrlRtiAmbassador& operator=(const DtVrlRtiAmbassador& orig);
45 virtual RTI::RTIambassador* rtiAmb();
49 FederateAmbassador & federateAmbassador,
50 CallbackModel theCallbackModel,
51 std::wstring const & localSettingsDesignator=L"")
54 InvalidLocalSettingsDesignator,
55 UnsupportedCallbackModel,
57 CallNotAllowedFromWithinCallback,
58 RTIinternalError) = 0;
61 virtual
void disconnect ()
63 FederateIsExecutionMember,
64 CallNotAllowedFromWithinCallback,
65 RTIinternalError) = 0;
68 virtual
void createFederationExecution (
69 std::wstring const & federationExecutionName,
70 std::wstring const & fomModule,
71 std::wstring const & logicalTimeImplementationName = L"")
73 CouldNotCreateLogicalTimeFactory,
77 FederationExecutionAlreadyExists,
79 RTIinternalError) = 0;
81 virtual
void createFederationExecution (
82 std::wstring const & federationExecutionName,
83 std::vector<std::wstring> const & fomModules,
84 std::wstring const & logicalTimeImplementationName = L"")
86 CouldNotCreateLogicalTimeFactory,
90 FederationExecutionAlreadyExists,
92 RTIinternalError) = 0;
94 virtual
void createFederationExecutionWithMIM (
95 std::wstring const & federationExecutionName,
96 std::vector<std::wstring> const & fomModules,
97 std::wstring const & mimModule,
98 std::wstring const & logicalTimeImplementationName = L"")
100 CouldNotCreateLogicalTimeFactory,
104 DesignatorIsHLAstandardMIM,
107 FederationExecutionAlreadyExists,
109 RTIinternalError) = 0;
112 virtual
void destroyFederationExecution (
113 std::wstring const & federationExecutionName)
115 FederatesCurrentlyJoined,
116 FederationExecutionDoesNotExist,
118 RTIinternalError) = 0;
121 virtual
void listFederationExecutions ()
124 RTIinternalError) = 0;
127 virtual FederateHandle joinFederationExecution (
128 std::wstring const & federateType,
129 std::wstring const & federationExecutionName,
130 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
132 CouldNotCreateLogicalTimeFactory,
133 FederationExecutionDoesNotExist,
139 FederateAlreadyExecutionMember,
141 CallNotAllowedFromWithinCallback,
142 RTIinternalError) = 0;
144 virtual FederateHandle joinFederationExecution (
145 std::wstring const & federateName,
146 std::wstring const & federateType,
147 std::wstring const & federationExecutionName,
148 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
150 CouldNotCreateLogicalTimeFactory,
151 FederateNameAlreadyInUse,
152 FederationExecutionDoesNotExist,
158 FederateAlreadyExecutionMember,
160 CallNotAllowedFromWithinCallback,
161 RTIinternalError) = 0;
164 virtual
void resignFederationExecution (
165 ResignAction resignAction)
168 OwnershipAcquisitionPending,
169 FederateOwnsAttributes,
170 FederateNotExecutionMember,
172 CallNotAllowedFromWithinCallback,
173 RTIinternalError) = 0;
176 virtual
void registerFederationSynchronizationPoint (
177 std::wstring const & label,
178 VariableLengthData const & theUserSuppliedTag)
182 FederateNotExecutionMember,
184 RTIinternalError) = 0;
186 virtual
void registerFederationSynchronizationPoint (
187 std::wstring const & label,
188 VariableLengthData const & theUserSuppliedTag,
189 FederateHandleSet const & synchronizationSet)
191 InvalidFederateHandle,
194 FederateNotExecutionMember,
196 RTIinternalError) = 0;
199 virtual
void synchronizationPointAchieved (
200 std::wstring const & label,
201 bool successfully = true)
203 SynchronizationPointLabelNotAnnounced,
206 FederateNotExecutionMember,
208 RTIinternalError) = 0;
211 virtual
void requestFederationSave (
212 std::wstring const & label)
216 FederateNotExecutionMember,
218 RTIinternalError) = 0;
220 virtual
void requestFederationSave (
221 std::wstring const & label,
222 LogicalTime const & theTime)
224 LogicalTimeAlreadyPassed,
226 FederateUnableToUseTime,
229 FederateNotExecutionMember,
231 RTIinternalError) = 0;
234 virtual
void federateSaveBegun ()
238 FederateNotExecutionMember,
240 RTIinternalError) = 0;
243 virtual
void federateSaveComplete ()
245 FederateHasNotBegunSave,
247 FederateNotExecutionMember,
249 RTIinternalError) = 0;
251 virtual
void federateSaveNotComplete ()
253 FederateHasNotBegunSave,
255 FederateNotExecutionMember,
257 RTIinternalError) = 0;
260 virtual
void abortFederationSave ()
263 FederateNotExecutionMember,
265 RTIinternalError) = 0;
268 virtual
void queryFederationSaveStatus ()
271 FederateNotExecutionMember,
273 RTIinternalError) = 0;
276 virtual
void requestFederationRestore (
277 std::wstring const & label)
281 FederateNotExecutionMember,
283 RTIinternalError) = 0;
286 virtual
void federateRestoreComplete ()
290 FederateNotExecutionMember,
292 RTIinternalError) = 0;
294 virtual
void federateRestoreNotComplete ()
298 FederateNotExecutionMember,
300 RTIinternalError) = 0;
303 virtual
void abortFederationRestore ()
305 RestoreNotInProgress,
306 FederateNotExecutionMember,
308 RTIinternalError) = 0;
311 virtual
void queryFederationRestoreStatus ()
314 FederateNotExecutionMember,
316 RTIinternalError) = 0;
323 virtual
void publishObjectClassAttributes (
324 ObjectClassHandle theClass,
325 AttributeHandleSet const & attributeList)
328 ObjectClassNotDefined,
331 FederateNotExecutionMember,
333 RTIinternalError) = 0;
336 virtual
void unpublishObjectClass (
337 ObjectClassHandle theClass)
339 OwnershipAcquisitionPending,
340 ObjectClassNotDefined,
343 FederateNotExecutionMember,
345 RTIinternalError) = 0;
347 virtual
void unpublishObjectClassAttributes (
348 ObjectClassHandle theClass,
349 AttributeHandleSet const & attributeList)
351 OwnershipAcquisitionPending,
353 ObjectClassNotDefined,
356 FederateNotExecutionMember,
358 RTIinternalError) = 0;
361 virtual
void publishInteractionClass (
362 InteractionClassHandle theInteraction)
364 InteractionClassNotDefined,
367 FederateNotExecutionMember,
369 RTIinternalError) = 0;
372 virtual
void unpublishInteractionClass (
373 InteractionClassHandle theInteraction)
375 InteractionClassNotDefined,
378 FederateNotExecutionMember,
380 RTIinternalError) = 0;
383 virtual
void subscribeObjectClassAttributes (
384 ObjectClassHandle theClass,
385 AttributeHandleSet const & attributeList,
387 std::wstring const & updateRateDesignator = L"")
390 ObjectClassNotDefined,
391 InvalidUpdateRateDesignator,
394 FederateNotExecutionMember,
396 RTIinternalError) = 0;
399 virtual
void unsubscribeObjectClass (
400 ObjectClassHandle theClass)
402 ObjectClassNotDefined,
405 FederateNotExecutionMember,
407 RTIinternalError) = 0;
409 virtual
void unsubscribeObjectClassAttributes (
410 ObjectClassHandle theClass,
411 AttributeHandleSet const & attributeList)
414 ObjectClassNotDefined,
417 FederateNotExecutionMember,
419 RTIinternalError) = 0;
422 virtual
void subscribeInteractionClass (
423 InteractionClassHandle theClass,
426 FederateServiceInvocationsAreBeingReportedViaMOM,
427 InteractionClassNotDefined,
430 FederateNotExecutionMember,
432 RTIinternalError) = 0;
435 virtual
void unsubscribeInteractionClass (
436 InteractionClassHandle theClass)
438 InteractionClassNotDefined,
441 FederateNotExecutionMember,
443 RTIinternalError) = 0;
450 virtual
void reserveObjectInstanceName (
451 std::wstring const & theObjectInstanceName)
456 FederateNotExecutionMember,
458 RTIinternalError) = 0;
461 virtual
void releaseObjectInstanceName (
462 std::wstring const & theObjectInstanceName)
464 ObjectInstanceNameNotReserved,
467 FederateNotExecutionMember,
469 RTIinternalError) = 0;
472 virtual
void reserveMultipleObjectInstanceName (
473 std::set<std::wstring> const & theObjectInstanceNames)
479 FederateNotExecutionMember,
481 RTIinternalError) = 0;
484 virtual
void releaseMultipleObjectInstanceName (
485 std::set<std::wstring> const & theObjectInstanceNames)
487 ObjectInstanceNameNotReserved,
490 FederateNotExecutionMember,
492 RTIinternalError) = 0;
495 virtual ObjectInstanceHandle registerObjectInstance (
496 ObjectClassHandle theClass)
498 ObjectClassNotPublished,
499 ObjectClassNotDefined,
502 FederateNotExecutionMember,
504 RTIinternalError) = 0;
506 virtual ObjectInstanceHandle registerObjectInstance (
507 ObjectClassHandle theClass,
508 std::wstring const & theObjectInstanceName)
510 ObjectInstanceNameInUse,
511 ObjectInstanceNameNotReserved,
512 ObjectClassNotPublished,
513 ObjectClassNotDefined,
516 FederateNotExecutionMember,
518 RTIinternalError) = 0;
521 virtual
void updateAttributeValues (
522 ObjectInstanceHandle theObject,
523 AttributeHandleValueMap const & theAttributeValues,
524 VariableLengthData const & theUserSuppliedTag)
528 ObjectInstanceNotKnown,
531 FederateNotExecutionMember,
533 RTIinternalError) = 0;
535 virtual MessageRetractionHandle updateAttributeValues (
536 ObjectInstanceHandle theObject,
537 AttributeHandleValueMap const & theAttributeValues,
538 VariableLengthData const & theUserSuppliedTag,
539 LogicalTime const & theTime)
544 ObjectInstanceNotKnown,
547 FederateNotExecutionMember,
549 RTIinternalError) = 0;
552 virtual
void sendInteraction (
553 InteractionClassHandle theInteraction,
554 ParameterHandleValueMap const & theParameterValues,
555 VariableLengthData const & theUserSuppliedTag)
557 InteractionClassNotPublished,
558 InteractionParameterNotDefined,
559 InteractionClassNotDefined,
562 FederateNotExecutionMember,
564 RTIinternalError) = 0;
566 virtual MessageRetractionHandle sendInteraction (
567 InteractionClassHandle theInteraction,
568 ParameterHandleValueMap const & theParameterValues,
569 VariableLengthData const & theUserSuppliedTag,
570 LogicalTime const & theTime)
573 InteractionClassNotPublished,
574 InteractionParameterNotDefined,
575 InteractionClassNotDefined,
578 FederateNotExecutionMember,
580 RTIinternalError) = 0;
583 virtual
void deleteObjectInstance (
584 ObjectInstanceHandle theObject,
585 VariableLengthData const & theUserSuppliedTag)
587 DeletePrivilegeNotHeld,
588 ObjectInstanceNotKnown,
591 FederateNotExecutionMember,
593 RTIinternalError) = 0;
595 virtual MessageRetractionHandle deleteObjectInstance (
596 ObjectInstanceHandle theObject,
597 VariableLengthData const & theUserSuppliedTag,
598 LogicalTime const & theTime)
601 DeletePrivilegeNotHeld,
602 ObjectInstanceNotKnown,
605 FederateNotExecutionMember,
607 RTIinternalError) = 0;
610 virtual
void localDeleteObjectInstance (
611 ObjectInstanceHandle theObject)
613 OwnershipAcquisitionPending,
614 FederateOwnsAttributes,
615 ObjectInstanceNotKnown,
618 FederateNotExecutionMember,
620 RTIinternalError) = 0;
623 virtual
void requestAttributeValueUpdate (
624 ObjectInstanceHandle theObject,
625 AttributeHandleSet const & theAttributes,
626 VariableLengthData const & theUserSuppliedTag)
629 ObjectInstanceNotKnown,
632 FederateNotExecutionMember,
634 RTIinternalError) = 0;
636 virtual
void requestAttributeValueUpdate (
637 ObjectClassHandle theClass,
638 AttributeHandleSet const & theAttributes,
639 VariableLengthData const & theUserSuppliedTag)
642 ObjectClassNotDefined,
645 FederateNotExecutionMember,
647 RTIinternalError) = 0;
650 virtual
void requestAttributeTransportationTypeChange (
651 ObjectInstanceHandle theObject,
652 AttributeHandleSet const & theAttributes,
653 TransportationType theType)
655 AttributeAlreadyBeingChanged,
658 ObjectInstanceNotKnown,
659 InvalidTransportationType,
662 FederateNotExecutionMember,
664 RTIinternalError) = 0;
667 virtual
void queryAttributeTransportationType (
668 ObjectInstanceHandle theObject,
669 AttributeHandle theAttribute)
672 ObjectInstanceNotKnown,
675 FederateNotExecutionMember,
677 RTIinternalError) = 0;
680 virtual
void requestInteractionTransportationTypeChange (
681 InteractionClassHandle theClass,
682 TransportationType theType)
684 InteractionClassAlreadyBeingChanged,
685 InteractionClassNotPublished,
686 InteractionClassNotDefined,
687 InvalidTransportationType,
690 FederateNotExecutionMember,
692 RTIinternalError) = 0;
695 virtual
void queryInteractionTransportationType (
696 FederateHandle theFederate,
697 InteractionClassHandle theInteraction)
699 InteractionClassNotDefined,
702 FederateNotExecutionMember,
704 RTIinternalError) = 0;
712 virtual
void unconditionalAttributeOwnershipDivestiture (
713 ObjectInstanceHandle theObject,
714 AttributeHandleSet const & theAttributes)
718 ObjectInstanceNotKnown,
721 FederateNotExecutionMember,
723 RTIinternalError) = 0;
726 virtual
void negotiatedAttributeOwnershipDivestiture (
727 ObjectInstanceHandle theObject,
728 AttributeHandleSet const & theAttributes,
729 VariableLengthData const & theUserSuppliedTag)
731 AttributeAlreadyBeingDivested,
734 ObjectInstanceNotKnown,
737 FederateNotExecutionMember,
739 RTIinternalError) = 0;
742 virtual
void confirmDivestiture (
743 ObjectInstanceHandle theObject,
744 AttributeHandleSet const & confirmedAttributes,
745 VariableLengthData const & theUserSuppliedTag)
747 NoAcquisitionPending,
748 AttributeDivestitureWasNotRequested,
751 ObjectInstanceNotKnown,
754 FederateNotExecutionMember,
756 RTIinternalError) = 0;
759 virtual
void attributeOwnershipAcquisition (
760 ObjectInstanceHandle theObject,
761 AttributeHandleSet const & desiredAttributes,
762 VariableLengthData const & theUserSuppliedTag)
764 AttributeNotPublished,
765 ObjectClassNotPublished,
766 FederateOwnsAttributes,
768 ObjectInstanceNotKnown,
771 FederateNotExecutionMember,
773 RTIinternalError) = 0;
776 virtual
void attributeOwnershipAcquisitionIfAvailable (
777 ObjectInstanceHandle theObject,
778 AttributeHandleSet const & desiredAttributes)
780 AttributeAlreadyBeingAcquired,
781 AttributeNotPublished,
782 ObjectClassNotPublished,
783 FederateOwnsAttributes,
785 ObjectInstanceNotKnown,
788 FederateNotExecutionMember,
790 RTIinternalError) = 0;
793 virtual
void attributeOwnershipReleaseDenied (
794 ObjectInstanceHandle theObject,
795 AttributeHandleSet const & theAttributes)
799 ObjectInstanceNotKnown,
802 FederateNotExecutionMember,
804 RTIinternalError) = 0;
807 virtual
void attributeOwnershipDivestitureIfWanted (
808 ObjectInstanceHandle theObject,
809 AttributeHandleSet const & theAttributes,
810 AttributeHandleSet & theDivestedAttributes)
814 ObjectInstanceNotKnown,
817 FederateNotExecutionMember,
819 RTIinternalError) = 0;
822 virtual
void cancelNegotiatedAttributeOwnershipDivestiture (
823 ObjectInstanceHandle theObject,
824 AttributeHandleSet const & theAttributes)
826 AttributeDivestitureWasNotRequested,
829 ObjectInstanceNotKnown,
832 FederateNotExecutionMember,
834 RTIinternalError) = 0;
837 virtual
void cancelAttributeOwnershipAcquisition (
838 ObjectInstanceHandle theObject,
839 AttributeHandleSet const & theAttributes)
841 AttributeAcquisitionWasNotRequested,
842 AttributeAlreadyOwned,
844 ObjectInstanceNotKnown,
847 FederateNotExecutionMember,
849 RTIinternalError) = 0;
852 virtual
void queryAttributeOwnership (
853 ObjectInstanceHandle theObject,
854 AttributeHandle theAttribute)
857 ObjectInstanceNotKnown,
860 FederateNotExecutionMember,
862 RTIinternalError) = 0;
865 virtual
bool isAttributeOwnedByFederate (
866 ObjectInstanceHandle theObject,
867 AttributeHandle theAttribute)
870 ObjectInstanceNotKnown,
873 FederateNotExecutionMember,
875 RTIinternalError) = 0;
882 virtual
void enableTimeRegulation (
883 LogicalTimeInterval const & theLookahead)
886 InTimeAdvancingState,
887 RequestForTimeRegulationPending,
888 TimeRegulationAlreadyEnabled,
891 FederateNotExecutionMember,
893 RTIinternalError) = 0;
896 virtual
void disableTimeRegulation ()
898 TimeRegulationIsNotEnabled,
901 FederateNotExecutionMember,
903 RTIinternalError) = 0;
906 virtual
void enableTimeConstrained ()
908 InTimeAdvancingState,
909 RequestForTimeConstrainedPending,
910 TimeConstrainedAlreadyEnabled,
913 FederateNotExecutionMember,
915 RTIinternalError) = 0;
918 virtual
void disableTimeConstrained ()
920 TimeConstrainedIsNotEnabled,
923 FederateNotExecutionMember,
925 RTIinternalError) = 0;
928 virtual
void timeAdvanceRequest (
929 LogicalTime const & theTime)
931 LogicalTimeAlreadyPassed,
933 InTimeAdvancingState,
934 RequestForTimeRegulationPending,
935 RequestForTimeConstrainedPending,
938 FederateNotExecutionMember,
940 RTIinternalError) = 0;
943 virtual
void timeAdvanceRequestAvailable (
944 LogicalTime const & theTime)
946 LogicalTimeAlreadyPassed,
948 InTimeAdvancingState,
949 RequestForTimeRegulationPending,
950 RequestForTimeConstrainedPending,
953 FederateNotExecutionMember,
955 RTIinternalError) = 0;
958 virtual
void nextMessageRequest (
959 LogicalTime const & theTime)
961 LogicalTimeAlreadyPassed,
963 InTimeAdvancingState,
964 RequestForTimeRegulationPending,
965 RequestForTimeConstrainedPending,
968 FederateNotExecutionMember,
970 RTIinternalError) = 0;
973 virtual
void nextMessageRequestAvailable (
974 LogicalTime const & theTime)
976 LogicalTimeAlreadyPassed,
978 InTimeAdvancingState,
979 RequestForTimeRegulationPending,
980 RequestForTimeConstrainedPending,
983 FederateNotExecutionMember,
985 RTIinternalError) = 0;
988 virtual
void flushQueueRequest (
989 LogicalTime const & theTime)
991 LogicalTimeAlreadyPassed,
993 InTimeAdvancingState,
994 RequestForTimeRegulationPending,
995 RequestForTimeConstrainedPending,
998 FederateNotExecutionMember,
1000 RTIinternalError) = 0;
1003 virtual
void enableAsynchronousDelivery ()
1005 AsynchronousDeliveryAlreadyEnabled,
1008 FederateNotExecutionMember,
1010 RTIinternalError) = 0;
1013 virtual
void disableAsynchronousDelivery ()
1015 AsynchronousDeliveryAlreadyDisabled,
1018 FederateNotExecutionMember,
1020 RTIinternalError) = 0;
1023 virtual
bool queryGALT (LogicalTime & theTime)
1027 FederateNotExecutionMember,
1029 RTIinternalError) = 0;
1032 virtual
void queryLogicalTime (LogicalTime & theTime)
1036 FederateNotExecutionMember,
1038 RTIinternalError) = 0;
1041 virtual
bool queryLITS (LogicalTime & theTime)
1045 FederateNotExecutionMember,
1047 RTIinternalError) = 0;
1050 virtual
void modifyLookahead (
1051 LogicalTimeInterval const & theLookahead)
1054 InTimeAdvancingState,
1055 TimeRegulationIsNotEnabled,
1058 FederateNotExecutionMember,
1060 RTIinternalError) = 0;
1063 virtual
void queryLookahead (LogicalTimeInterval & interval)
1065 TimeRegulationIsNotEnabled,
1068 FederateNotExecutionMember,
1070 RTIinternalError) = 0;
1073 virtual
void retract (
1074 MessageRetractionHandle theHandle)
1076 MessageCanNoLongerBeRetracted,
1077 InvalidMessageRetractionHandle,
1078 TimeRegulationIsNotEnabled,
1081 FederateNotExecutionMember,
1083 RTIinternalError) = 0;
1086 virtual
void changeAttributeOrderType (
1087 ObjectInstanceHandle theObject,
1088 AttributeHandleSet const & theAttributes,
1092 AttributeNotDefined,
1093 ObjectInstanceNotKnown,
1096 FederateNotExecutionMember,
1098 RTIinternalError) = 0;
1101 virtual
void changeInteractionOrderType (
1102 InteractionClassHandle theClass,
1105 InteractionClassNotPublished,
1106 InteractionClassNotDefined,
1109 FederateNotExecutionMember,
1111 RTIinternalError) = 0;
1118 virtual RegionHandle createRegion (
1119 DimensionHandleSet const & theDimensions)
1121 InvalidDimensionHandle,
1124 FederateNotExecutionMember,
1126 RTIinternalError) = 0;
1129 virtual
void commitRegionModifications (
1130 RegionHandleSet const & theRegionHandleSet)
1132 RegionNotCreatedByThisFederate,
1136 FederateNotExecutionMember,
1138 RTIinternalError) = 0;
1141 virtual
void deleteRegion (
1142 RegionHandle const & theRegion)
1144 RegionInUseForUpdateOrSubscription,
1145 RegionNotCreatedByThisFederate,
1149 FederateNotExecutionMember,
1151 RTIinternalError) = 0;
1154 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1155 ObjectClassHandle theClass,
1156 AttributeHandleSetRegionHandleSetPairVector const &
1157 theAttributeHandleSetRegionHandleSetPairVector)
1159 InvalidRegionContext,
1160 RegionNotCreatedByThisFederate,
1162 AttributeNotPublished,
1163 ObjectClassNotPublished,
1164 AttributeNotDefined,
1165 ObjectClassNotDefined,
1168 FederateNotExecutionMember,
1170 RTIinternalError) = 0;
1172 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1173 ObjectClassHandle theClass,
1174 AttributeHandleSetRegionHandleSetPairVector const &
1175 theAttributeHandleSetRegionHandleSetPairVector,
1176 std::wstring const & theObjectInstanceName)
1178 ObjectInstanceNameInUse,
1179 ObjectInstanceNameNotReserved,
1180 InvalidRegionContext,
1181 RegionNotCreatedByThisFederate,
1183 AttributeNotPublished,
1184 ObjectClassNotPublished,
1185 AttributeNotDefined,
1186 ObjectClassNotDefined,
1189 FederateNotExecutionMember,
1191 RTIinternalError) = 0;
1194 virtual
void associateRegionsForUpdates (
1195 ObjectInstanceHandle theObject,
1196 AttributeHandleSetRegionHandleSetPairVector const &
1197 theAttributeHandleSetRegionHandleSetPairVector)
1199 InvalidRegionContext,
1200 RegionNotCreatedByThisFederate,
1202 AttributeNotDefined,
1203 ObjectInstanceNotKnown,
1206 FederateNotExecutionMember,
1208 RTIinternalError) = 0;
1211 virtual
void unassociateRegionsForUpdates (
1212 ObjectInstanceHandle theObject,
1213 AttributeHandleSetRegionHandleSetPairVector const &
1214 theAttributeHandleSetRegionHandleSetPairVector)
1216 RegionNotCreatedByThisFederate,
1218 AttributeNotDefined,
1219 ObjectInstanceNotKnown,
1222 FederateNotExecutionMember,
1224 RTIinternalError) = 0;
1227 virtual
void subscribeObjectClassAttributesWithRegions (
1228 ObjectClassHandle theClass,
1229 AttributeHandleSetRegionHandleSetPairVector const &
1230 theAttributeHandleSetRegionHandleSetPairVector,
1232 std::wstring const & updateRateDesignator = L"")
1234 InvalidRegionContext,
1235 RegionNotCreatedByThisFederate,
1237 AttributeNotDefined,
1238 ObjectClassNotDefined,
1239 InvalidUpdateRateDesignator,
1242 FederateNotExecutionMember,
1244 RTIinternalError) = 0;
1248 virtual
void unsubscribeObjectClassAttributesWithRegions (
1249 ObjectClassHandle theClass,
1250 AttributeHandleSetRegionHandleSetPairVector const &
1251 theAttributeHandleSetRegionHandleSetPairVector)
1253 RegionNotCreatedByThisFederate,
1255 AttributeNotDefined,
1256 ObjectClassNotDefined,
1259 FederateNotExecutionMember,
1261 RTIinternalError) = 0;
1264 virtual
void subscribeInteractionClassWithRegions (
1265 InteractionClassHandle theClass,
1266 RegionHandleSet const & theRegionHandleSet,
1269 FederateServiceInvocationsAreBeingReportedViaMOM,
1270 InvalidRegionContext,
1271 RegionNotCreatedByThisFederate,
1273 InteractionClassNotDefined,
1276 FederateNotExecutionMember,
1278 RTIinternalError) = 0;
1281 virtual
void unsubscribeInteractionClassWithRegions (
1282 InteractionClassHandle theClass,
1283 RegionHandleSet const & theRegionHandleSet)
1285 RegionNotCreatedByThisFederate,
1287 InteractionClassNotDefined,
1290 FederateNotExecutionMember,
1292 RTIinternalError) = 0;
1295 virtual
void sendInteractionWithRegions (
1296 InteractionClassHandle theInteraction,
1297 ParameterHandleValueMap const & theParameterValues,
1298 RegionHandleSet const & theRegionHandleSet,
1299 VariableLengthData const & theUserSuppliedTag)
1301 InvalidRegionContext,
1302 RegionNotCreatedByThisFederate,
1304 InteractionClassNotPublished,
1305 InteractionParameterNotDefined,
1306 InteractionClassNotDefined,
1309 FederateNotExecutionMember,
1311 RTIinternalError) = 0;
1313 virtual MessageRetractionHandle sendInteractionWithRegions (
1314 InteractionClassHandle theInteraction,
1315 ParameterHandleValueMap const & theParameterValues,
1316 RegionHandleSet const & theRegionHandleSet,
1317 VariableLengthData const & theUserSuppliedTag,
1318 LogicalTime const & theTime)
1321 InvalidRegionContext,
1322 RegionNotCreatedByThisFederate,
1324 InteractionClassNotPublished,
1325 InteractionParameterNotDefined,
1326 InteractionClassNotDefined,
1329 FederateNotExecutionMember,
1331 RTIinternalError) = 0;
1334 virtual
void requestAttributeValueUpdateWithRegions (
1335 ObjectClassHandle theClass,
1336 AttributeHandleSetRegionHandleSetPairVector const & theSet,
1337 VariableLengthData const & theUserSuppliedTag)
1339 InvalidRegionContext,
1340 RegionNotCreatedByThisFederate,
1342 AttributeNotDefined,
1343 ObjectClassNotDefined,
1346 FederateNotExecutionMember,
1348 RTIinternalError) = 0;
1355 virtual ResignAction getAutomaticResignDirective ()
1357 FederateNotExecutionMember,
1359 RTIinternalError) = 0;
1362 virtual
void setAutomaticResignDirective (
1363 ResignAction resignAction)
1365 InvalidResignAction,
1366 FederateNotExecutionMember,
1368 RTIinternalError) = 0;
1371 virtual FederateHandle getFederateHandle (
1372 std::wstring const & theName)
1375 FederateNotExecutionMember,
1377 RTIinternalError) = 0;
1380 virtual std::wstring getFederateName (
1381 FederateHandle theHandle)
1383 InvalidFederateHandle,
1384 FederateHandleNotKnown,
1385 FederateNotExecutionMember,
1387 RTIinternalError) = 0;
1390 virtual ObjectClassHandle getObjectClassHandle (
1391 std::wstring const & theName)
1394 FederateNotExecutionMember,
1396 RTIinternalError) = 0;
1399 virtual std::wstring getObjectClassName (
1400 ObjectClassHandle theHandle)
1402 InvalidObjectClassHandle,
1403 FederateNotExecutionMember,
1405 RTIinternalError) = 0;
1408 virtual ObjectClassHandle getKnownObjectClassHandle (
1409 ObjectInstanceHandle theObject)
1411 ObjectInstanceNotKnown,
1412 FederateNotExecutionMember,
1414 RTIinternalError) = 0;
1417 virtual ObjectInstanceHandle getObjectInstanceHandle (
1418 std::wstring const & theName)
1420 ObjectInstanceNotKnown,
1421 FederateNotExecutionMember,
1423 RTIinternalError) = 0;
1426 virtual std::wstring getObjectInstanceName (
1427 ObjectInstanceHandle theHandle)
1429 ObjectInstanceNotKnown,
1430 FederateNotExecutionMember,
1432 RTIinternalError) = 0;
1435 virtual AttributeHandle getAttributeHandle (
1436 ObjectClassHandle whichClass,
1437 std::wstring const & theAttributeName)
1440 InvalidObjectClassHandle,
1441 FederateNotExecutionMember,
1443 RTIinternalError) = 0;
1446 virtual std::wstring getAttributeName (
1447 ObjectClassHandle whichClass,
1448 AttributeHandle theHandle)
1450 AttributeNotDefined,
1451 InvalidAttributeHandle,
1452 InvalidObjectClassHandle,
1453 FederateNotExecutionMember,
1455 RTIinternalError) = 0;
1458 virtual
double getUpdateRateValue (
1459 std::wstring const & updateRateDesignator)
1461 InvalidUpdateRateDesignator,
1462 FederateNotExecutionMember,
1464 RTIinternalError) = 0;
1467 virtual
double getUpdateRateValueForAttribute (
1468 ObjectInstanceHandle theObject,
1469 AttributeHandle theAttribute)
1471 ObjectInstanceNotKnown,
1472 AttributeNotDefined,
1473 FederateNotExecutionMember,
1475 RTIinternalError) = 0;
1478 virtual InteractionClassHandle getInteractionClassHandle (
1479 std::wstring const & theName)
1482 FederateNotExecutionMember,
1484 RTIinternalError) = 0;
1487 virtual std::wstring getInteractionClassName (
1488 InteractionClassHandle theHandle)
1490 InvalidInteractionClassHandle,
1491 FederateNotExecutionMember,
1493 RTIinternalError) = 0;
1496 virtual ParameterHandle getParameterHandle (
1497 InteractionClassHandle whichClass,
1498 std::wstring const & theName)
1501 InvalidInteractionClassHandle,
1502 FederateNotExecutionMember,
1504 RTIinternalError) = 0;
1507 virtual std::wstring getParameterName (
1508 InteractionClassHandle whichClass,
1509 ParameterHandle theHandle)
1511 InteractionParameterNotDefined,
1512 InvalidParameterHandle,
1513 InvalidInteractionClassHandle,
1514 FederateNotExecutionMember,
1516 RTIinternalError) = 0;
1519 virtual OrderType getOrderType (
1520 std::wstring const & orderName)
1523 FederateNotExecutionMember,
1525 RTIinternalError) = 0;
1528 virtual std::wstring getOrderName (
1529 OrderType orderType)
1532 FederateNotExecutionMember,
1534 RTIinternalError) = 0;
1537 virtual TransportationType getTransportationType (
1538 std::wstring const & transportationName)
1540 InvalidTransportationName,
1541 FederateNotExecutionMember,
1543 RTIinternalError) = 0;
1546 virtual std::wstring getTransportationName (
1547 TransportationType transportationType)
1549 InvalidTransportationType,
1550 FederateNotExecutionMember,
1552 RTIinternalError) = 0;
1555 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute (
1556 ObjectClassHandle theClass,
1557 AttributeHandle theHandle)
1559 AttributeNotDefined,
1560 InvalidAttributeHandle,
1561 InvalidObjectClassHandle,
1562 FederateNotExecutionMember,
1564 RTIinternalError) = 0;
1567 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass (
1568 InteractionClassHandle theClass)
1570 InvalidInteractionClassHandle,
1571 FederateNotExecutionMember,
1573 RTIinternalError) = 0;
1576 virtual DimensionHandle getDimensionHandle (
1577 std::wstring const & theName)
1580 FederateNotExecutionMember,
1582 RTIinternalError) = 0;
1585 virtual std::wstring getDimensionName (
1586 DimensionHandle theHandle)
1588 InvalidDimensionHandle,
1589 FederateNotExecutionMember,
1591 RTIinternalError) = 0;
1594 virtual
unsigned long getDimensionUpperBound (
1595 DimensionHandle theHandle)
1597 InvalidDimensionHandle,
1598 FederateNotExecutionMember,
1600 RTIinternalError) = 0;
1603 virtual DimensionHandleSet getDimensionHandleSet (
1604 RegionHandle theRegionHandle)
1609 FederateNotExecutionMember,
1611 RTIinternalError) = 0;
1614 virtual RangeBounds getRangeBounds (
1615 RegionHandle theRegionHandle,
1616 DimensionHandle theDimensionHandle)
1618 RegionDoesNotContainSpecifiedDimension,
1622 FederateNotExecutionMember,
1624 RTIinternalError) = 0;
1627 virtual
void setRangeBounds (
1628 RegionHandle theRegionHandle,
1629 DimensionHandle theDimensionHandle,
1630 RangeBounds const & theRangeBounds)
1633 RegionDoesNotContainSpecifiedDimension,
1634 RegionNotCreatedByThisFederate,
1638 FederateNotExecutionMember,
1640 RTIinternalError) = 0;
1643 virtual
unsigned long normalizeFederateHandle (
1644 FederateHandle theFederateHandle)
1646 InvalidFederateHandle,
1647 FederateNotExecutionMember,
1649 RTIinternalError) = 0;
1652 virtual
unsigned long normalizeServiceGroup (
1653 ServiceGroup theServiceGroup)
1655 InvalidServiceGroup,
1656 FederateNotExecutionMember,
1658 RTIinternalError) = 0;
1661 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1663 ObjectClassRelevanceAdvisorySwitchIsOn,
1666 FederateNotExecutionMember,
1668 RTIinternalError) = 0;
1671 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1673 ObjectClassRelevanceAdvisorySwitchIsOff,
1676 FederateNotExecutionMember,
1678 RTIinternalError) = 0;
1681 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1683 AttributeRelevanceAdvisorySwitchIsOn,
1686 FederateNotExecutionMember,
1688 RTIinternalError) = 0;
1691 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1693 AttributeRelevanceAdvisorySwitchIsOff,
1696 FederateNotExecutionMember,
1698 RTIinternalError) = 0;
1701 virtual
void enableAttributeScopeAdvisorySwitch ()
1703 AttributeScopeAdvisorySwitchIsOn,
1706 FederateNotExecutionMember,
1708 RTIinternalError) = 0;
1711 virtual
void disableAttributeScopeAdvisorySwitch ()
1713 AttributeScopeAdvisorySwitchIsOff,
1716 FederateNotExecutionMember,
1718 RTIinternalError) = 0;
1721 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1723 InteractionRelevanceAdvisorySwitchIsOn,
1726 FederateNotExecutionMember,
1728 RTIinternalError) = 0;
1731 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1733 InteractionRelevanceAdvisorySwitchIsOff,
1736 FederateNotExecutionMember,
1738 RTIinternalError) = 0;
1741 virtual
bool evokeCallback (
1742 double approximateMinimumTimeInSeconds)
1744 CallNotAllowedFromWithinCallback,
1745 RTIinternalError) = 0;
1748 virtual
bool evokeMultipleCallbacks (
1749 double approximateMinimumTimeInSeconds,
1750 double approximateMaximumTimeInSeconds)
1752 CallNotAllowedFromWithinCallback,
1753 RTIinternalError) = 0;
1756 virtual
void enableCallbacks ()
1760 RTIinternalError) = 0;
1763 virtual
void disableCallbacks ()
1767 RTIinternalError) = 0;
1772 virtual std::auto_ptr<LogicalTimeFactory> getTimeFactory () const
1774 FederateNotExecutionMember,
1776 RTIinternalError) = 0;
1779 virtual FederateHandle decodeFederateHandle (
1780 VariableLengthData const & encodedValue) const
1783 FederateNotExecutionMember,
1785 RTIinternalError) = 0;
1787 virtual ObjectClassHandle decodeObjectClassHandle (
1788 VariableLengthData const & encodedValue) const
1791 FederateNotExecutionMember,
1793 RTIinternalError) = 0;
1795 virtual InteractionClassHandle decodeInteractionClassHandle (
1796 VariableLengthData const & encodedValue) const
1799 FederateNotExecutionMember,
1801 RTIinternalError) = 0;
1803 virtual ObjectInstanceHandle decodeObjectInstanceHandle (
1804 VariableLengthData const & encodedValue) const
1807 FederateNotExecutionMember,
1809 RTIinternalError) = 0;
1811 virtual AttributeHandle decodeAttributeHandle (
1812 VariableLengthData const & encodedValue) const
1815 FederateNotExecutionMember,
1817 RTIinternalError) = 0;
1819 virtual ParameterHandle decodeParameterHandle (
1820 VariableLengthData const & encodedValue) const
1823 FederateNotExecutionMember,
1825 RTIinternalError) = 0;
1827 virtual DimensionHandle decodeDimensionHandle (
1828 VariableLengthData const & encodedValue) const
1831 FederateNotExecutionMember,
1833 RTIinternalError) = 0;
1835 virtual MessageRetractionHandle decodeMessageRetractionHandle (
1836 VariableLengthData const & encodedValue) const
1839 FederateNotExecutionMember,
1841 RTIinternalError) = 0;
1843 virtual RegionHandle decodeRegionHandle (
1844 VariableLengthData const & encodedValue) const
1847 FederateNotExecutionMember,
1849 RTIinternalError) = 0;
1853 static RTI::RTIambassador * create();
1857 std::auto_ptr<RTIambassador> myRtiAmb;
1858 FederateAmbassador *myFedAmb;
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
int connect(int s, const struct sockaddr *name, int namelen)
This file contains typedefs for machine dependant types.