12 #if DtHLA_1516_EVOLVED && !DtHLA_4
16 #include <vl/vrlRtiAmbassador1516e.h>
17 #include <vlutil/vlMachineTypes.h>
19 namespace MAKTrafficClientServerExConn
21 class DtServerExerciseConnection;
28 DtServerRtiAmbassador()
32 virtual ~DtServerRtiAmbassador();
36 DtServerRtiAmbassador(const DtServerRtiAmbassador &other);
39 DtServerRtiAmbassador& operator=(const DtServerRtiAmbassador &other);
44 virtual
void setServerExerciseConnection(DtServerExerciseConnection* exConn);
47 virtual DtServerExerciseConnection* serverExerciseConnection();
50 virtual RTIambassador* rtiAmb();
52 virtual const RTIambassador* rtiAmb() const;
59 virtual
void connect (
60 FederateAmbassador & federateAmbassador,
61 CallbackModel theCallbackModel,
62 std::wstring const & localSettingsDesignator=L"")
65 InvalidLocalSettingsDesignator,
66 UnsupportedCallbackModel,
68 CallNotAllowedFromWithinCallback,
72 virtual
void disconnect ()
74 FederateIsExecutionMember,
75 CallNotAllowedFromWithinCallback,
79 virtual
void createFederationExecution (
80 std::wstring const & federationExecutionName,
81 std::wstring const & fomModule,
82 std::wstring const & logicalTimeImplementationName = L"")
84 CouldNotCreateLogicalTimeFactory,
88 FederationExecutionAlreadyExists,
92 virtual
void createFederationExecution (
93 std::wstring const & federationExecutionName,
94 std::vector<std::wstring> const & fomModules,
95 std::wstring const & logicalTimeImplementationName = L"")
97 CouldNotCreateLogicalTimeFactory,
101 FederationExecutionAlreadyExists,
105 virtual
void createFederationExecutionWithMIM (
106 std::wstring const & federationExecutionName,
107 std::vector<std::wstring> const & fomModules,
108 std::wstring const & momModule,
109 std::wstring const & logicalTimeImplementationName = L"")
111 CouldNotCreateLogicalTimeFactory,
115 DesignatorIsHLAstandardMIM,
118 FederationExecutionAlreadyExists,
123 virtual
void destroyFederationExecution (
124 std::wstring const & federationExecutionName)
126 FederatesCurrentlyJoined,
127 FederationExecutionDoesNotExist,
132 virtual
void listFederationExecutions ()
138 virtual FederateHandle joinFederationExecution (
139 std::wstring const & federateType,
140 std::wstring const & federationExecutionName,
141 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
143 CouldNotCreateLogicalTimeFactory,
144 FederationExecutionDoesNotExist,
150 FederateAlreadyExecutionMember,
152 CallNotAllowedFromWithinCallback,
155 virtual FederateHandle joinFederationExecution (
156 std::wstring const & federateName,
157 std::wstring const & federateType,
158 std::wstring const & federationExecutionName,
159 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
161 CouldNotCreateLogicalTimeFactory,
162 FederateNameAlreadyInUse,
163 FederationExecutionDoesNotExist,
169 FederateAlreadyExecutionMember,
171 CallNotAllowedFromWithinCallback,
175 virtual
void resignFederationExecution (
176 ResignAction resignAction)
179 OwnershipAcquisitionPending,
180 FederateOwnsAttributes,
181 FederateNotExecutionMember,
183 CallNotAllowedFromWithinCallback,
187 virtual
void registerFederationSynchronizationPoint (
188 std::wstring const & label,
189 VariableLengthData const & theUserSuppliedTag)
193 FederateNotExecutionMember,
197 virtual
void registerFederationSynchronizationPoint (
198 std::wstring const & label,
199 VariableLengthData const & theUserSuppliedTag,
200 FederateHandleSet const & synchronizationSet)
202 InvalidFederateHandle,
205 FederateNotExecutionMember,
210 virtual
void synchronizationPointAchieved (
211 std::wstring const & label,
212 bool successfully = true)
214 SynchronizationPointLabelNotAnnounced,
217 FederateNotExecutionMember,
222 virtual
void requestFederationSave (
223 std::wstring const & label)
227 FederateNotExecutionMember,
231 virtual
void requestFederationSave (
232 std::wstring const & label,
233 LogicalTime const & theTime)
235 LogicalTimeAlreadyPassed,
237 FederateUnableToUseTime,
240 FederateNotExecutionMember,
245 virtual
void federateSaveBegun ()
249 FederateNotExecutionMember,
254 virtual
void federateSaveComplete ()
256 FederateHasNotBegunSave,
258 FederateNotExecutionMember,
262 virtual
void federateSaveNotComplete ()
264 FederateHasNotBegunSave,
266 FederateNotExecutionMember,
271 virtual
void abortFederationSave ()
274 FederateNotExecutionMember,
279 virtual
void queryFederationSaveStatus ()
282 FederateNotExecutionMember,
287 virtual
void requestFederationRestore (
288 std::wstring const & label)
292 FederateNotExecutionMember,
297 virtual
void federateRestoreComplete ()
301 FederateNotExecutionMember,
305 virtual
void federateRestoreNotComplete ()
309 FederateNotExecutionMember,
314 virtual
void abortFederationRestore ()
316 RestoreNotInProgress,
317 FederateNotExecutionMember,
322 virtual
void queryFederationRestoreStatus ()
325 FederateNotExecutionMember,
334 virtual
void publishObjectClassAttributes (
335 ObjectClassHandle theClass,
336 AttributeHandleSet const & attributeList)
339 ObjectClassNotDefined,
342 FederateNotExecutionMember,
347 virtual
void unpublishObjectClass (
348 ObjectClassHandle theClass)
350 OwnershipAcquisitionPending,
351 ObjectClassNotDefined,
354 FederateNotExecutionMember,
358 virtual
void unpublishObjectClassAttributes (
359 ObjectClassHandle theClass,
360 AttributeHandleSet const & attributeList)
362 OwnershipAcquisitionPending,
364 ObjectClassNotDefined,
367 FederateNotExecutionMember,
372 virtual
void publishInteractionClass (
373 InteractionClassHandle theInteraction)
375 InteractionClassNotDefined,
378 FederateNotExecutionMember,
383 virtual
void unpublishInteractionClass (
384 InteractionClassHandle theInteraction)
386 InteractionClassNotDefined,
389 FederateNotExecutionMember,
394 virtual
void subscribeObjectClassAttributes (
395 ObjectClassHandle theClass,
396 AttributeHandleSet const & attributeList,
398 std::wstring const & updateRateDesignator = L"")
401 ObjectClassNotDefined,
402 InvalidUpdateRateDesignator,
405 FederateNotExecutionMember,
410 virtual
void unsubscribeObjectClass (
411 ObjectClassHandle theClass)
413 ObjectClassNotDefined,
416 FederateNotExecutionMember,
420 virtual
void unsubscribeObjectClassAttributes (
421 ObjectClassHandle theClass,
422 AttributeHandleSet const & attributeList)
425 ObjectClassNotDefined,
428 FederateNotExecutionMember,
433 virtual
void subscribeInteractionClass (
434 InteractionClassHandle theClass,
437 FederateServiceInvocationsAreBeingReportedViaMOM,
438 InteractionClassNotDefined,
441 FederateNotExecutionMember,
446 virtual
void unsubscribeInteractionClass (
447 InteractionClassHandle theClass)
449 InteractionClassNotDefined,
452 FederateNotExecutionMember,
461 virtual
void reserveObjectInstanceName (
462 std::wstring const & theObjectInstanceName)
467 FederateNotExecutionMember,
472 virtual
void releaseObjectInstanceName (
473 std::wstring const & theObjectInstanceName)
475 ObjectInstanceNameNotReserved,
478 FederateNotExecutionMember,
483 virtual
void reserveMultipleObjectInstanceName (
484 std::set<std::wstring> const & theObjectInstanceNames)
490 FederateNotExecutionMember,
495 virtual
void releaseMultipleObjectInstanceName (
496 std::set<std::wstring> const & theObjectInstanceNames)
498 ObjectInstanceNameNotReserved,
501 FederateNotExecutionMember,
506 virtual ObjectInstanceHandle registerObjectInstance (
507 ObjectClassHandle theClass)
509 ObjectClassNotPublished,
510 ObjectClassNotDefined,
513 FederateNotExecutionMember,
517 virtual ObjectInstanceHandle registerObjectInstanceSR(
518 unsigned int clientID,
519 ObjectClassHandle theClass);
521 virtual ObjectInstanceHandle registerObjectInstance (
522 ObjectClassHandle theClass,
523 std::wstring const & theObjectInstanceName)
525 ObjectInstanceNameInUse,
526 ObjectInstanceNameNotReserved,
527 ObjectClassNotPublished,
528 ObjectClassNotDefined,
531 FederateNotExecutionMember,
535 virtual ObjectInstanceHandle registerObjectInstanceSR(
536 unsigned int clientID,
537 ObjectClassHandle theClass,
538 std::wstring const & theObjectInstanceName);
541 virtual
void updateAttributeValues (
542 ObjectInstanceHandle theObject,
543 AttributeHandleValueMap const & theAttributeValues,
544 VariableLengthData const & theUserSuppliedTag)
548 ObjectInstanceNotKnown,
551 FederateNotExecutionMember,
555 virtual
void updateAttributeValuesSR(
556 unsigned int clientID,
557 ObjectInstanceHandle theObject,
558 AttributeHandleValueMap const & theAttributeValues,
559 VariableLengthData const & theUserSuppliedTag);
561 virtual MessageRetractionHandle updateAttributeValues (
562 ObjectInstanceHandle theObject,
563 AttributeHandleValueMap const & theAttributeValues,
564 VariableLengthData const & theUserSuppliedTag,
565 LogicalTime const & theTime)
570 ObjectInstanceNotKnown,
573 FederateNotExecutionMember,
577 virtual MessageRetractionHandle updateAttributeValuesSR(
578 unsigned int clientID,
579 ObjectInstanceHandle theObject,
580 AttributeHandleValueMap const & theAttributeValues,
581 VariableLengthData const & theUserSuppliedTag,
582 LogicalTime const & theTime);
585 virtual
void sendInteraction (
586 InteractionClassHandle theInteraction,
587 ParameterHandleValueMap const & theParameterValues,
588 VariableLengthData const & theUserSuppliedTag)
590 InteractionClassNotPublished,
591 InteractionParameterNotDefined,
592 InteractionClassNotDefined,
595 FederateNotExecutionMember,
599 virtual
void sendInteractionSR(
600 unsigned int clientID,
601 InteractionClassHandle theInteraction,
602 ParameterHandleValueMap const & theParameterValues,
603 VariableLengthData const & theUserSuppliedTag);
605 virtual MessageRetractionHandle sendInteraction (
606 InteractionClassHandle theInteraction,
607 ParameterHandleValueMap const & theParameterValues,
608 VariableLengthData const & theUserSuppliedTag,
609 LogicalTime const & theTime)
612 InteractionClassNotPublished,
613 InteractionParameterNotDefined,
614 InteractionClassNotDefined,
617 FederateNotExecutionMember,
621 virtual MessageRetractionHandle sendInteractionSR(
622 unsigned int clientID,
623 InteractionClassHandle theInteraction,
624 ParameterHandleValueMap const & theParameterValues,
625 VariableLengthData const & theUserSuppliedTag,
626 LogicalTime const & theTime);
629 virtual
void deleteObjectInstance (
630 ObjectInstanceHandle theObject,
631 VariableLengthData const & theUserSuppliedTag)
633 DeletePrivilegeNotHeld,
634 ObjectInstanceNotKnown,
637 FederateNotExecutionMember,
641 virtual
void deleteObjectInstanceSR(
642 unsigned int clientID,
643 ObjectInstanceHandle theObject,
644 VariableLengthData const & theUserSuppliedTag);
646 virtual MessageRetractionHandle deleteObjectInstance (
647 ObjectInstanceHandle theObject,
648 VariableLengthData const & theUserSuppliedTag,
649 LogicalTime const & theTime)
652 DeletePrivilegeNotHeld,
653 ObjectInstanceNotKnown,
656 FederateNotExecutionMember,
660 virtual MessageRetractionHandle deleteObjectInstanceSR(
661 unsigned int clientID,
662 ObjectInstanceHandle theObject,
663 VariableLengthData const & theUserSuppliedTag,
664 LogicalTime const & theTime);
667 virtual
void localDeleteObjectInstance (
668 ObjectInstanceHandle theObject)
670 OwnershipAcquisitionPending,
671 FederateOwnsAttributes,
672 ObjectInstanceNotKnown,
675 FederateNotExecutionMember,
679 virtual
void localDeleteObjectInstanceSR(
680 unsigned int clientID,
681 ObjectInstanceHandle theObject);
684 virtual
void requestAttributeValueUpdate (
685 ObjectInstanceHandle theObject,
686 AttributeHandleSet const & theAttributes,
687 VariableLengthData const & theUserSuppliedTag)
690 ObjectInstanceNotKnown,
693 FederateNotExecutionMember,
697 virtual
void requestAttributeValueUpdate (
698 ObjectClassHandle theClass,
699 AttributeHandleSet const & theAttributes,
700 VariableLengthData const & theUserSuppliedTag)
703 ObjectClassNotDefined,
706 FederateNotExecutionMember,
711 virtual
void requestAttributeTransportationTypeChange (
712 ObjectInstanceHandle theObject,
713 AttributeHandleSet const & theAttributes,
714 TransportationType theType)
716 AttributeAlreadyBeingChanged,
719 ObjectInstanceNotKnown,
720 InvalidTransportationType,
723 FederateNotExecutionMember,
728 virtual
void queryAttributeTransportationType (
729 ObjectInstanceHandle theObject,
730 AttributeHandle theAttribute)
733 ObjectInstanceNotKnown,
736 FederateNotExecutionMember,
741 virtual
void requestInteractionTransportationTypeChange (
742 InteractionClassHandle theClass,
743 TransportationType theType)
745 InteractionClassAlreadyBeingChanged,
746 InteractionClassNotPublished,
747 InteractionClassNotDefined,
748 InvalidTransportationType,
751 FederateNotExecutionMember,
756 virtual
void queryInteractionTransportationType (
757 FederateHandle theFederate,
758 InteractionClassHandle theInteraction)
760 InteractionClassNotDefined,
763 FederateNotExecutionMember,
773 virtual
void unconditionalAttributeOwnershipDivestiture (
774 ObjectInstanceHandle theObject,
775 AttributeHandleSet const & theAttributes)
779 ObjectInstanceNotKnown,
782 FederateNotExecutionMember,
787 virtual
void negotiatedAttributeOwnershipDivestiture (
788 ObjectInstanceHandle theObject,
789 AttributeHandleSet const & theAttributes,
790 VariableLengthData const & theUserSuppliedTag)
792 AttributeAlreadyBeingDivested,
795 ObjectInstanceNotKnown,
798 FederateNotExecutionMember,
803 virtual
void confirmDivestiture (
804 ObjectInstanceHandle theObject,
805 AttributeHandleSet const & confirmedAttributes,
806 VariableLengthData const & theUserSuppliedTag)
808 NoAcquisitionPending,
809 AttributeDivestitureWasNotRequested,
812 ObjectInstanceNotKnown,
815 FederateNotExecutionMember,
820 virtual
void attributeOwnershipAcquisition (
821 ObjectInstanceHandle theObject,
822 AttributeHandleSet const & desiredAttributes,
823 VariableLengthData const & theUserSuppliedTag)
825 AttributeNotPublished,
826 ObjectClassNotPublished,
827 FederateOwnsAttributes,
829 ObjectInstanceNotKnown,
832 FederateNotExecutionMember,
837 virtual
void attributeOwnershipAcquisitionIfAvailable (
838 ObjectInstanceHandle theObject,
839 AttributeHandleSet const & desiredAttributes)
841 AttributeAlreadyBeingAcquired,
842 AttributeNotPublished,
843 ObjectClassNotPublished,
844 FederateOwnsAttributes,
846 ObjectInstanceNotKnown,
849 FederateNotExecutionMember,
854 virtual
void attributeOwnershipReleaseDenied (
855 ObjectInstanceHandle theObject,
856 AttributeHandleSet const & theAttributes)
860 ObjectInstanceNotKnown,
863 FederateNotExecutionMember,
868 virtual
void attributeOwnershipDivestitureIfWanted (
869 ObjectInstanceHandle theObject,
870 AttributeHandleSet const & theAttributes,
871 AttributeHandleSet & theDivestedAttributes)
875 ObjectInstanceNotKnown,
878 FederateNotExecutionMember,
883 virtual
void cancelNegotiatedAttributeOwnershipDivestiture (
884 ObjectInstanceHandle theObject,
885 AttributeHandleSet const & theAttributes)
887 AttributeDivestitureWasNotRequested,
890 ObjectInstanceNotKnown,
893 FederateNotExecutionMember,
898 virtual
void cancelAttributeOwnershipAcquisition (
899 ObjectInstanceHandle theObject,
900 AttributeHandleSet const & theAttributes)
902 AttributeAcquisitionWasNotRequested,
903 AttributeAlreadyOwned,
905 ObjectInstanceNotKnown,
908 FederateNotExecutionMember,
913 virtual
void queryAttributeOwnership (
914 ObjectInstanceHandle theObject,
915 AttributeHandle theAttribute)
918 ObjectInstanceNotKnown,
921 FederateNotExecutionMember,
926 virtual
bool isAttributeOwnedByFederate (
927 ObjectInstanceHandle theObject,
928 AttributeHandle theAttribute)
931 ObjectInstanceNotKnown,
934 FederateNotExecutionMember,
943 virtual
void enableTimeRegulation (
944 LogicalTimeInterval const & theLookahead)
947 InTimeAdvancingState,
948 RequestForTimeRegulationPending,
949 TimeRegulationAlreadyEnabled,
952 FederateNotExecutionMember,
957 virtual
void disableTimeRegulation ()
959 TimeRegulationIsNotEnabled,
962 FederateNotExecutionMember,
967 virtual
void enableTimeConstrained ()
969 InTimeAdvancingState,
970 RequestForTimeConstrainedPending,
971 TimeConstrainedAlreadyEnabled,
974 FederateNotExecutionMember,
979 virtual
void disableTimeConstrained ()
981 TimeConstrainedIsNotEnabled,
984 FederateNotExecutionMember,
989 virtual
void timeAdvanceRequest (
990 LogicalTime const & theTime)
992 LogicalTimeAlreadyPassed,
994 InTimeAdvancingState,
995 RequestForTimeRegulationPending,
996 RequestForTimeConstrainedPending,
999 FederateNotExecutionMember,
1004 virtual
void timeAdvanceRequestAvailable (
1005 LogicalTime const & theTime)
1007 LogicalTimeAlreadyPassed,
1009 InTimeAdvancingState,
1010 RequestForTimeRegulationPending,
1011 RequestForTimeConstrainedPending,
1014 FederateNotExecutionMember,
1019 virtual
void nextMessageRequest (
1020 LogicalTime const & theTime)
1022 LogicalTimeAlreadyPassed,
1024 InTimeAdvancingState,
1025 RequestForTimeRegulationPending,
1026 RequestForTimeConstrainedPending,
1029 FederateNotExecutionMember,
1034 virtual
void nextMessageRequestAvailable (
1035 LogicalTime const & theTime)
1037 LogicalTimeAlreadyPassed,
1039 InTimeAdvancingState,
1040 RequestForTimeRegulationPending,
1041 RequestForTimeConstrainedPending,
1044 FederateNotExecutionMember,
1049 virtual
void flushQueueRequest (
1050 LogicalTime const & theTime)
1052 LogicalTimeAlreadyPassed,
1054 InTimeAdvancingState,
1055 RequestForTimeRegulationPending,
1056 RequestForTimeConstrainedPending,
1059 FederateNotExecutionMember,
1064 virtual
void enableAsynchronousDelivery ()
1066 AsynchronousDeliveryAlreadyEnabled,
1069 FederateNotExecutionMember,
1074 virtual
void disableAsynchronousDelivery ()
1076 AsynchronousDeliveryAlreadyDisabled,
1079 FederateNotExecutionMember,
1084 virtual
bool queryGALT (LogicalTime & theTime)
1088 FederateNotExecutionMember,
1093 virtual
void queryLogicalTime (LogicalTime & theTime)
1097 FederateNotExecutionMember,
1102 virtual
bool queryLITS (LogicalTime & theTime)
1106 FederateNotExecutionMember,
1111 virtual
void modifyLookahead (
1112 LogicalTimeInterval const & theLookahead)
1115 InTimeAdvancingState,
1116 TimeRegulationIsNotEnabled,
1119 FederateNotExecutionMember,
1124 virtual
void queryLookahead (LogicalTimeInterval & interval)
1126 TimeRegulationIsNotEnabled,
1129 FederateNotExecutionMember,
1134 virtual
void retract (
1135 MessageRetractionHandle theHandle)
1137 MessageCanNoLongerBeRetracted,
1138 InvalidMessageRetractionHandle,
1139 TimeRegulationIsNotEnabled,
1142 FederateNotExecutionMember,
1147 virtual
void changeAttributeOrderType (
1148 ObjectInstanceHandle theObject,
1149 AttributeHandleSet const & theAttributes,
1153 AttributeNotDefined,
1154 ObjectInstanceNotKnown,
1157 FederateNotExecutionMember,
1162 virtual
void changeInteractionOrderType (
1163 InteractionClassHandle theClass,
1166 InteractionClassNotPublished,
1167 InteractionClassNotDefined,
1170 FederateNotExecutionMember,
1179 virtual RegionHandle createRegion (
1180 DimensionHandleSet const & theDimensions)
1182 InvalidDimensionHandle,
1185 FederateNotExecutionMember,
1190 virtual
void commitRegionModifications (
1191 RegionHandleSet const & theRegionHandleSet)
1193 RegionNotCreatedByThisFederate,
1197 FederateNotExecutionMember,
1202 virtual
void deleteRegion (
1203 RegionHandle const & theRegion)
1205 RegionInUseForUpdateOrSubscription,
1206 RegionNotCreatedByThisFederate,
1210 FederateNotExecutionMember,
1215 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1216 ObjectClassHandle theClass,
1217 AttributeHandleSetRegionHandleSetPairVector const &
1218 theAttributeHandleSetRegionHandleSetPairVector)
1220 InvalidRegionContext,
1221 RegionNotCreatedByThisFederate,
1223 AttributeNotPublished,
1224 ObjectClassNotPublished,
1225 AttributeNotDefined,
1226 ObjectClassNotDefined,
1229 FederateNotExecutionMember,
1233 virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
1234 unsigned int clientID,
1235 ObjectClassHandle theClass,
1236 AttributeHandleSetRegionHandleSetPairVector const &
1237 theAttributeHandleSetRegionHandleSetPairVector);
1239 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1240 ObjectClassHandle theClass,
1241 AttributeHandleSetRegionHandleSetPairVector const &
1242 theAttributeHandleSetRegionHandleSetPairVector,
1243 std::wstring const & theObjectInstanceName)
1245 ObjectInstanceNameInUse,
1246 ObjectInstanceNameNotReserved,
1247 InvalidRegionContext,
1248 RegionNotCreatedByThisFederate,
1250 AttributeNotPublished,
1251 ObjectClassNotPublished,
1252 AttributeNotDefined,
1253 ObjectClassNotDefined,
1256 FederateNotExecutionMember,
1260 virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
1261 unsigned int clientID,
1262 ObjectClassHandle theClass,
1263 AttributeHandleSetRegionHandleSetPairVector const &
1264 theAttributeHandleSetRegionHandleSetPairVector,
1265 std::wstring const & theObjectInstanceName);
1268 virtual
void associateRegionsForUpdates (
1269 ObjectInstanceHandle theObject,
1270 AttributeHandleSetRegionHandleSetPairVector const &
1271 theAttributeHandleSetRegionHandleSetPairVector)
1273 InvalidRegionContext,
1274 RegionNotCreatedByThisFederate,
1276 AttributeNotDefined,
1277 ObjectInstanceNotKnown,
1280 FederateNotExecutionMember,
1285 virtual
void unassociateRegionsForUpdates (
1286 ObjectInstanceHandle theObject,
1287 AttributeHandleSetRegionHandleSetPairVector const &
1288 theAttributeHandleSetRegionHandleSetPairVector)
1290 RegionNotCreatedByThisFederate,
1292 AttributeNotDefined,
1293 ObjectInstanceNotKnown,
1296 FederateNotExecutionMember,
1301 virtual
void subscribeObjectClassAttributesWithRegions (
1302 ObjectClassHandle theClass,
1303 AttributeHandleSetRegionHandleSetPairVector const &
1304 theAttributeHandleSetRegionHandleSetPairVector,
1306 std::wstring const & updateRateDesignator = L"")
1308 InvalidRegionContext,
1309 RegionNotCreatedByThisFederate,
1311 AttributeNotDefined,
1312 ObjectClassNotDefined,
1313 InvalidUpdateRateDesignator,
1316 FederateNotExecutionMember,
1322 virtual
void unsubscribeObjectClassAttributesWithRegions (
1323 ObjectClassHandle theClass,
1324 AttributeHandleSetRegionHandleSetPairVector const &
1325 theAttributeHandleSetRegionHandleSetPairVector)
1327 RegionNotCreatedByThisFederate,
1329 AttributeNotDefined,
1330 ObjectClassNotDefined,
1333 FederateNotExecutionMember,
1338 virtual
void subscribeInteractionClassWithRegions (
1339 InteractionClassHandle theClass,
1340 RegionHandleSet const & theRegionHandleSet,
1343 FederateServiceInvocationsAreBeingReportedViaMOM,
1344 InvalidRegionContext,
1345 RegionNotCreatedByThisFederate,
1347 InteractionClassNotDefined,
1350 FederateNotExecutionMember,
1355 virtual
void unsubscribeInteractionClassWithRegions (
1356 InteractionClassHandle theClass,
1357 RegionHandleSet const & theRegionHandleSet)
1359 RegionNotCreatedByThisFederate,
1361 InteractionClassNotDefined,
1364 FederateNotExecutionMember,
1369 virtual
void sendInteractionWithRegions (
1370 InteractionClassHandle theInteraction,
1371 ParameterHandleValueMap const & theParameterValues,
1372 RegionHandleSet const & theRegionHandleSet,
1373 VariableLengthData const & theUserSuppliedTag)
1375 InvalidRegionContext,
1376 RegionNotCreatedByThisFederate,
1378 InteractionClassNotPublished,
1379 InteractionParameterNotDefined,
1380 InteractionClassNotDefined,
1383 FederateNotExecutionMember,
1387 virtual
void sendInteractionWithRegionsSR(
1388 unsigned int clientID,
1389 InteractionClassHandle theInteraction,
1390 ParameterHandleValueMap const & theParameterValues,
1391 RegionHandleSet const & theRegionHandleSet,
1392 VariableLengthData const & theUserSuppliedTag);
1394 virtual MessageRetractionHandle sendInteractionWithRegions (
1395 InteractionClassHandle theInteraction,
1396 ParameterHandleValueMap const & theParameterValues,
1397 RegionHandleSet const & theRegionHandleSet,
1398 VariableLengthData const & theUserSuppliedTag,
1399 LogicalTime const & theTime)
1402 InvalidRegionContext,
1403 RegionNotCreatedByThisFederate,
1405 InteractionClassNotPublished,
1406 InteractionParameterNotDefined,
1407 InteractionClassNotDefined,
1410 FederateNotExecutionMember,
1414 virtual MessageRetractionHandle sendInteractionWithRegionsSR(
1415 unsigned int clientID,
1416 InteractionClassHandle theInteraction,
1417 ParameterHandleValueMap const & theParameterValues,
1418 RegionHandleSet const & theRegionHandleSet,
1419 VariableLengthData const & theUserSuppliedTag,
1420 LogicalTime const & theTime);
1423 virtual
void requestAttributeValueUpdateWithRegions (
1424 ObjectClassHandle theClass,
1425 AttributeHandleSetRegionHandleSetPairVector const & theSet,
1426 VariableLengthData const & theUserSuppliedTag)
1428 InvalidRegionContext,
1429 RegionNotCreatedByThisFederate,
1431 AttributeNotDefined,
1432 ObjectClassNotDefined,
1435 FederateNotExecutionMember,
1444 virtual ResignAction getAutomaticResignDirective ()
1446 FederateNotExecutionMember,
1451 virtual
void setAutomaticResignDirective (
1452 ResignAction resignAction)
1454 InvalidResignAction,
1455 FederateNotExecutionMember,
1460 virtual FederateHandle getFederateHandle (
1461 std::wstring const & theName)
1464 FederateNotExecutionMember,
1469 virtual std::wstring getFederateName (
1470 FederateHandle theHandle)
1472 InvalidFederateHandle,
1473 FederateHandleNotKnown,
1474 FederateNotExecutionMember,
1479 virtual ObjectClassHandle getObjectClassHandle (
1480 std::wstring const & theName)
1483 FederateNotExecutionMember,
1488 virtual std::wstring getObjectClassName (
1489 ObjectClassHandle theHandle)
1491 InvalidObjectClassHandle,
1492 FederateNotExecutionMember,
1497 virtual ObjectClassHandle getKnownObjectClassHandle (
1498 ObjectInstanceHandle theObject)
1500 ObjectInstanceNotKnown,
1501 FederateNotExecutionMember,
1506 virtual ObjectInstanceHandle getObjectInstanceHandle (
1507 std::wstring const & theName)
1509 ObjectInstanceNotKnown,
1510 FederateNotExecutionMember,
1515 virtual std::wstring getObjectInstanceName (
1516 ObjectInstanceHandle theHandle)
1518 ObjectInstanceNotKnown,
1519 FederateNotExecutionMember,
1524 virtual AttributeHandle getAttributeHandle (
1525 ObjectClassHandle whichClass,
1526 std::wstring const & theAttributeName)
1529 InvalidObjectClassHandle,
1530 FederateNotExecutionMember,
1535 virtual std::wstring getAttributeName (
1536 ObjectClassHandle whichClass,
1537 AttributeHandle theHandle)
1539 AttributeNotDefined,
1540 InvalidAttributeHandle,
1541 InvalidObjectClassHandle,
1542 FederateNotExecutionMember,
1547 virtual
double getUpdateRateValue (
1548 std::wstring const & updateRateDesignator)
1550 InvalidUpdateRateDesignator,
1551 FederateNotExecutionMember,
1556 virtual
double getUpdateRateValueForAttribute (
1557 ObjectInstanceHandle theObject,
1558 AttributeHandle theAttribute)
1560 ObjectInstanceNotKnown,
1561 AttributeNotDefined,
1562 FederateNotExecutionMember,
1567 virtual InteractionClassHandle getInteractionClassHandle (
1568 std::wstring const & theName)
1571 FederateNotExecutionMember,
1576 virtual std::wstring getInteractionClassName (
1577 InteractionClassHandle theHandle)
1579 InvalidInteractionClassHandle,
1580 FederateNotExecutionMember,
1585 virtual ParameterHandle getParameterHandle (
1586 InteractionClassHandle whichClass,
1587 std::wstring const & theName)
1590 InvalidInteractionClassHandle,
1591 FederateNotExecutionMember,
1596 virtual std::wstring getParameterName (
1597 InteractionClassHandle whichClass,
1598 ParameterHandle theHandle)
1600 InteractionParameterNotDefined,
1601 InvalidParameterHandle,
1602 InvalidInteractionClassHandle,
1603 FederateNotExecutionMember,
1608 virtual OrderType getOrderType (
1609 std::wstring const & orderName)
1612 FederateNotExecutionMember,
1617 virtual std::wstring getOrderName (
1618 OrderType orderType)
1621 FederateNotExecutionMember,
1626 virtual TransportationType getTransportationType (
1627 std::wstring const & transportationName)
1629 InvalidTransportationName,
1630 FederateNotExecutionMember,
1635 virtual std::wstring getTransportationName (
1636 TransportationType transportationType)
1638 InvalidTransportationType,
1639 FederateNotExecutionMember,
1644 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute (
1645 ObjectClassHandle theClass,
1646 AttributeHandle theHandle)
1648 AttributeNotDefined,
1649 InvalidAttributeHandle,
1650 InvalidObjectClassHandle,
1651 FederateNotExecutionMember,
1656 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass (
1657 InteractionClassHandle theClass)
1659 InvalidInteractionClassHandle,
1660 FederateNotExecutionMember,
1665 virtual DimensionHandle getDimensionHandle (
1666 std::wstring const & theName)
1669 FederateNotExecutionMember,
1674 virtual std::wstring getDimensionName (
1675 DimensionHandle theHandle)
1677 InvalidDimensionHandle,
1678 FederateNotExecutionMember,
1683 virtual
unsigned long getDimensionUpperBound (
1684 DimensionHandle theHandle)
1686 InvalidDimensionHandle,
1687 FederateNotExecutionMember,
1692 virtual DimensionHandleSet getDimensionHandleSet (
1693 RegionHandle theRegionHandle)
1698 FederateNotExecutionMember,
1703 virtual RangeBounds getRangeBounds (
1704 RegionHandle theRegionHandle,
1705 DimensionHandle theDimensionHandle)
1707 RegionDoesNotContainSpecifiedDimension,
1711 FederateNotExecutionMember,
1716 virtual
void setRangeBounds (
1717 RegionHandle theRegionHandle,
1718 DimensionHandle theDimensionHandle,
1719 RangeBounds const & theRangeBounds)
1722 RegionDoesNotContainSpecifiedDimension,
1723 RegionNotCreatedByThisFederate,
1727 FederateNotExecutionMember,
1732 virtual
unsigned long normalizeFederateHandle (
1733 FederateHandle theFederateHandle)
1735 InvalidFederateHandle,
1736 FederateNotExecutionMember,
1741 virtual
unsigned long normalizeServiceGroup (
1742 ServiceGroup theServiceGroup)
1744 InvalidServiceGroup,
1745 FederateNotExecutionMember,
1750 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1752 ObjectClassRelevanceAdvisorySwitchIsOn,
1755 FederateNotExecutionMember,
1760 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1762 ObjectClassRelevanceAdvisorySwitchIsOff,
1765 FederateNotExecutionMember,
1770 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1772 AttributeRelevanceAdvisorySwitchIsOn,
1775 FederateNotExecutionMember,
1780 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1782 AttributeRelevanceAdvisorySwitchIsOff,
1785 FederateNotExecutionMember,
1790 virtual
void enableAttributeScopeAdvisorySwitch ()
1792 AttributeScopeAdvisorySwitchIsOn,
1795 FederateNotExecutionMember,
1800 virtual
void disableAttributeScopeAdvisorySwitch ()
1802 AttributeScopeAdvisorySwitchIsOff,
1805 FederateNotExecutionMember,
1810 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1812 InteractionRelevanceAdvisorySwitchIsOn,
1815 FederateNotExecutionMember,
1820 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1822 InteractionRelevanceAdvisorySwitchIsOff,
1825 FederateNotExecutionMember,
1830 virtual
bool evokeCallback (
1831 double approximateMinimumTimeInSeconds)
1833 CallNotAllowedFromWithinCallback,
1837 virtual
bool evokeMultipleCallbacks (
1838 double approximateMinimumTimeInSeconds,
1839 double approximateMaximumTimeInSeconds)
1841 CallNotAllowedFromWithinCallback,
1845 virtual
void enableCallbacks ()
1852 virtual
void disableCallbacks ()
1861 virtual std::auto_ptr<LogicalTimeFactory> getTimeFactory () const
1863 FederateNotExecutionMember,
1868 virtual FederateHandle decodeFederateHandle (
1869 VariableLengthData const & encodedValue) const
1872 FederateNotExecutionMember,
1876 virtual ObjectClassHandle decodeObjectClassHandle (
1877 VariableLengthData const & encodedValue) const
1880 FederateNotExecutionMember,
1884 virtual InteractionClassHandle decodeInteractionClassHandle (
1885 VariableLengthData const & encodedValue) const
1888 FederateNotExecutionMember,
1892 virtual ObjectInstanceHandle decodeObjectInstanceHandle (
1893 VariableLengthData const & encodedValue) const
1896 FederateNotExecutionMember,
1900 virtual AttributeHandle decodeAttributeHandle (
1901 VariableLengthData const & encodedValue) const
1904 FederateNotExecutionMember,
1908 virtual ParameterHandle decodeParameterHandle (
1909 VariableLengthData const & encodedValue) const
1912 FederateNotExecutionMember,
1916 virtual DimensionHandle decodeDimensionHandle (
1917 VariableLengthData const & encodedValue) const
1920 FederateNotExecutionMember,
1924 virtual MessageRetractionHandle decodeMessageRetractionHandle (
1925 VariableLengthData const & encodedValue) const
1928 FederateNotExecutionMember,
1932 virtual RegionHandle decodeRegionHandle (
1933 VariableLengthData const & encodedValue) const
1936 FederateNotExecutionMember,
1948 virtual
bool lockServiceCall() const;
1951 virtual
void unlockServiceCall() const;
1954 virtual
bool enterServiceCall() const;
1957 virtual
void exitServiceCall() const;
1960 DtServerRtiAmbassador* self() const;
1966 std::auto_ptr<RTIambassador> myRtiAmb;
1969 DtServerExerciseConnection* myServerExerciseConnection;
1972 FederateAmbassador* myFedAmb;
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17