14 #if DtHLA_1516_EVOLVED && !DtHLA_4
18 #include <vlutil/vlMachineTypes.h>
19 #include <vl/vrlRtiAmbassador1516e.h>
23 namespace MAKTrafficClientServerExConn
25 class DtServerExerciseConnection;
26 class DtClientExerciseConnection;
27 class DtServerRtiAmbassador;
29 class DT_DLL_CSEC DtClientRtiAmbassador :
public DtVrlRtiAmbassador
34 DtClientRtiAmbassador()
37 virtual ~DtClientRtiAmbassador();
41 DtClientRtiAmbassador(const DtClientRtiAmbassador &other);
44 DtClientRtiAmbassador& operator=(const DtClientRtiAmbassador &other);
49 virtual
void setClientExerciseConnection(DtClientExerciseConnection* exConn);
52 virtual DtClientExerciseConnection* clientExerciseConnection();
55 virtual DtServerExerciseConnection* serverExerciseConnection();
58 virtual RTI::RTIambassador* rtiAmb();
61 virtual DtServerRtiAmbassador* serverRtiAmb();
64 virtual const DtServerRtiAmbassador* serverRtiAmb() const;
68 virtual
void setSelfReflect(
bool enableSelfReflect);
71 virtual
bool selfReflectEnabled() const;
74 virtual
void rejoin();
77 virtual
void readyToResign();
84 virtual
void connect (
85 FederateAmbassador & federateAmbassador,
86 CallbackModel theCallbackModel,
87 std::wstring const & localSettingsDesignator=L"")
90 InvalidLocalSettingsDesignator,
91 UnsupportedCallbackModel,
93 CallNotAllowedFromWithinCallback,
97 virtual
void disconnect ()
99 FederateIsExecutionMember,
100 CallNotAllowedFromWithinCallback,
104 virtual
void createFederationExecution (
105 std::wstring const & federationExecutionName,
106 std::wstring const & fomModule,
107 std::wstring const & logicalTimeImplementationName = L"")
109 CouldNotCreateLogicalTimeFactory,
113 FederationExecutionAlreadyExists,
117 virtual
void createFederationExecution (
118 std::wstring const & federationExecutionName,
119 std::vector<std::wstring> const & fomModules,
120 std::wstring const & logicalTimeImplementationName = L"")
122 CouldNotCreateLogicalTimeFactory,
126 FederationExecutionAlreadyExists,
130 virtual
void createFederationExecutionWithMIM (
131 std::wstring const & federationExecutionName,
132 std::vector<std::wstring> const & fomModules,
133 std::wstring const & momModule,
134 std::wstring const & logicalTimeImplementationName = L"")
136 CouldNotCreateLogicalTimeFactory,
140 DesignatorIsHLAstandardMIM,
143 FederationExecutionAlreadyExists,
148 virtual
void destroyFederationExecution (
149 std::wstring const & federationExecutionName)
151 FederatesCurrentlyJoined,
152 FederationExecutionDoesNotExist,
157 virtual
void listFederationExecutions ()
163 virtual FederateHandle joinFederationExecution (
164 std::wstring const & federateType,
165 std::wstring const & federationExecutionName,
166 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
168 CouldNotCreateLogicalTimeFactory,
169 FederationExecutionDoesNotExist,
175 FederateAlreadyExecutionMember,
177 CallNotAllowedFromWithinCallback,
180 virtual FederateHandle joinFederationExecution (
181 std::wstring const & federateName,
182 std::wstring const & federateType,
183 std::wstring const & federationExecutionName,
184 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
186 CouldNotCreateLogicalTimeFactory,
187 FederateNameAlreadyInUse,
188 FederationExecutionDoesNotExist,
194 FederateAlreadyExecutionMember,
196 CallNotAllowedFromWithinCallback,
200 virtual
void resignFederationExecution (
201 ResignAction resignAction)
204 OwnershipAcquisitionPending,
205 FederateOwnsAttributes,
206 FederateNotExecutionMember,
208 CallNotAllowedFromWithinCallback,
212 virtual
void registerFederationSynchronizationPoint (
213 std::wstring const & label,
214 VariableLengthData const & theUserSuppliedTag)
218 FederateNotExecutionMember,
222 virtual
void registerFederationSynchronizationPoint (
223 std::wstring const & label,
224 VariableLengthData const & theUserSuppliedTag,
225 FederateHandleSet const & synchronizationSet)
227 InvalidFederateHandle,
230 FederateNotExecutionMember,
235 virtual
void synchronizationPointAchieved (
236 std::wstring const & label,
237 bool successfully = true)
239 SynchronizationPointLabelNotAnnounced,
242 FederateNotExecutionMember,
247 virtual
void requestFederationSave (
248 std::wstring const & label)
252 FederateNotExecutionMember,
256 virtual
void requestFederationSave (
257 std::wstring const & label,
258 LogicalTime const & theTime)
260 LogicalTimeAlreadyPassed,
262 FederateUnableToUseTime,
265 FederateNotExecutionMember,
270 virtual
void federateSaveBegun ()
274 FederateNotExecutionMember,
279 virtual
void federateSaveComplete ()
281 FederateHasNotBegunSave,
283 FederateNotExecutionMember,
287 virtual
void federateSaveNotComplete ()
289 FederateHasNotBegunSave,
291 FederateNotExecutionMember,
296 virtual
void abortFederationSave ()
299 FederateNotExecutionMember,
304 virtual
void queryFederationSaveStatus ()
307 FederateNotExecutionMember,
312 virtual
void requestFederationRestore (
313 std::wstring const & label)
317 FederateNotExecutionMember,
322 virtual
void federateRestoreComplete ()
326 FederateNotExecutionMember,
330 virtual
void federateRestoreNotComplete ()
334 FederateNotExecutionMember,
339 virtual
void abortFederationRestore ()
341 RestoreNotInProgress,
342 FederateNotExecutionMember,
347 virtual
void queryFederationRestoreStatus ()
350 FederateNotExecutionMember,
359 virtual
void publishObjectClassAttributes (
360 ObjectClassHandle theClass,
361 AttributeHandleSet const & attributeList)
364 ObjectClassNotDefined,
367 FederateNotExecutionMember,
372 virtual
void unpublishObjectClass (
373 ObjectClassHandle theClass)
375 OwnershipAcquisitionPending,
376 ObjectClassNotDefined,
379 FederateNotExecutionMember,
383 virtual
void unpublishObjectClassAttributes (
384 ObjectClassHandle theClass,
385 AttributeHandleSet const & attributeList)
387 OwnershipAcquisitionPending,
389 ObjectClassNotDefined,
392 FederateNotExecutionMember,
397 virtual
void publishInteractionClass (
398 InteractionClassHandle theInteraction)
400 InteractionClassNotDefined,
403 FederateNotExecutionMember,
408 virtual
void unpublishInteractionClass (
409 InteractionClassHandle theInteraction)
411 InteractionClassNotDefined,
414 FederateNotExecutionMember,
419 virtual
void subscribeObjectClassAttributes (
420 ObjectClassHandle theClass,
421 AttributeHandleSet const & attributeList,
423 std::wstring const & updateRateDesignator = L"")
426 ObjectClassNotDefined,
427 InvalidUpdateRateDesignator,
430 FederateNotExecutionMember,
435 virtual
void unsubscribeObjectClass (
436 ObjectClassHandle theClass)
438 ObjectClassNotDefined,
441 FederateNotExecutionMember,
445 virtual
void unsubscribeObjectClassAttributes (
446 ObjectClassHandle theClass,
447 AttributeHandleSet const & attributeList)
450 ObjectClassNotDefined,
453 FederateNotExecutionMember,
458 virtual
void subscribeInteractionClass (
459 InteractionClassHandle theClass,
462 FederateServiceInvocationsAreBeingReportedViaMOM,
463 InteractionClassNotDefined,
466 FederateNotExecutionMember,
471 virtual
void unsubscribeInteractionClass (
472 InteractionClassHandle theClass)
474 InteractionClassNotDefined,
477 FederateNotExecutionMember,
486 virtual
void reserveObjectInstanceName (
487 std::wstring const & theObjectInstanceName)
492 FederateNotExecutionMember,
497 virtual
void releaseObjectInstanceName (
498 std::wstring const & theObjectInstanceName)
500 ObjectInstanceNameNotReserved,
503 FederateNotExecutionMember,
508 virtual
void reserveMultipleObjectInstanceName (
509 std::set<std::wstring> const & theObjectInstanceNames)
515 FederateNotExecutionMember,
520 virtual
void releaseMultipleObjectInstanceName (
521 std::set<std::wstring> const & theObjectInstanceNames)
523 ObjectInstanceNameNotReserved,
526 FederateNotExecutionMember,
531 virtual ObjectInstanceHandle registerObjectInstance (
532 ObjectClassHandle theClass)
534 ObjectClassNotPublished,
535 ObjectClassNotDefined,
538 FederateNotExecutionMember,
542 virtual ObjectInstanceHandle registerObjectInstance (
543 ObjectClassHandle theClass,
544 std::wstring const & theObjectInstanceName)
546 ObjectInstanceNameInUse,
547 ObjectInstanceNameNotReserved,
548 ObjectClassNotPublished,
549 ObjectClassNotDefined,
552 FederateNotExecutionMember,
557 virtual
void updateAttributeValues (
558 ObjectInstanceHandle theObject,
559 AttributeHandleValueMap const & theAttributeValues,
560 VariableLengthData const & theUserSuppliedTag)
564 ObjectInstanceNotKnown,
567 FederateNotExecutionMember,
571 virtual MessageRetractionHandle updateAttributeValues (
572 ObjectInstanceHandle theObject,
573 AttributeHandleValueMap const & theAttributeValues,
574 VariableLengthData const & theUserSuppliedTag,
575 LogicalTime const & theTime)
580 ObjectInstanceNotKnown,
583 FederateNotExecutionMember,
588 virtual
void sendInteraction (
589 InteractionClassHandle theInteraction,
590 ParameterHandleValueMap const & theParameterValues,
591 VariableLengthData const & theUserSuppliedTag)
593 InteractionClassNotPublished,
594 InteractionParameterNotDefined,
595 InteractionClassNotDefined,
598 FederateNotExecutionMember,
602 virtual MessageRetractionHandle sendInteraction (
603 InteractionClassHandle theInteraction,
604 ParameterHandleValueMap const & theParameterValues,
605 VariableLengthData const & theUserSuppliedTag,
606 LogicalTime const & theTime)
609 InteractionClassNotPublished,
610 InteractionParameterNotDefined,
611 InteractionClassNotDefined,
614 FederateNotExecutionMember,
619 virtual
void deleteObjectInstance (
620 ObjectInstanceHandle theObject,
621 VariableLengthData const & theUserSuppliedTag)
623 DeletePrivilegeNotHeld,
624 ObjectInstanceNotKnown,
627 FederateNotExecutionMember,
631 virtual MessageRetractionHandle deleteObjectInstance (
632 ObjectInstanceHandle theObject,
633 VariableLengthData const & theUserSuppliedTag,
634 LogicalTime const & theTime)
637 DeletePrivilegeNotHeld,
638 ObjectInstanceNotKnown,
641 FederateNotExecutionMember,
646 virtual
void localDeleteObjectInstance (
647 ObjectInstanceHandle theObject)
649 OwnershipAcquisitionPending,
650 FederateOwnsAttributes,
651 ObjectInstanceNotKnown,
654 FederateNotExecutionMember,
659 virtual
void requestAttributeValueUpdate (
660 ObjectInstanceHandle theObject,
661 AttributeHandleSet const & theAttributes,
662 VariableLengthData const & theUserSuppliedTag)
665 ObjectInstanceNotKnown,
668 FederateNotExecutionMember,
672 virtual
void requestAttributeValueUpdate (
673 ObjectClassHandle theClass,
674 AttributeHandleSet const & theAttributes,
675 VariableLengthData const & theUserSuppliedTag)
678 ObjectClassNotDefined,
681 FederateNotExecutionMember,
686 virtual
void requestAttributeTransportationTypeChange (
687 ObjectInstanceHandle theObject,
688 AttributeHandleSet const & theAttributes,
689 TransportationType theType)
691 AttributeAlreadyBeingChanged,
694 ObjectInstanceNotKnown,
695 InvalidTransportationType,
698 FederateNotExecutionMember,
703 virtual
void queryAttributeTransportationType (
704 ObjectInstanceHandle theObject,
705 AttributeHandle theAttribute)
708 ObjectInstanceNotKnown,
711 FederateNotExecutionMember,
716 virtual
void requestInteractionTransportationTypeChange (
717 InteractionClassHandle theClass,
718 TransportationType theType)
720 InteractionClassAlreadyBeingChanged,
721 InteractionClassNotPublished,
722 InteractionClassNotDefined,
723 InvalidTransportationType,
726 FederateNotExecutionMember,
731 virtual
void queryInteractionTransportationType (
732 FederateHandle theFederate,
733 InteractionClassHandle theInteraction)
735 InteractionClassNotDefined,
738 FederateNotExecutionMember,
748 virtual
void unconditionalAttributeOwnershipDivestiture (
749 ObjectInstanceHandle theObject,
750 AttributeHandleSet const & theAttributes)
754 ObjectInstanceNotKnown,
757 FederateNotExecutionMember,
762 virtual
void negotiatedAttributeOwnershipDivestiture (
763 ObjectInstanceHandle theObject,
764 AttributeHandleSet const & theAttributes,
765 VariableLengthData const & theUserSuppliedTag)
767 AttributeAlreadyBeingDivested,
770 ObjectInstanceNotKnown,
773 FederateNotExecutionMember,
778 virtual
void confirmDivestiture (
779 ObjectInstanceHandle theObject,
780 AttributeHandleSet const & confirmedAttributes,
781 VariableLengthData const & theUserSuppliedTag)
783 NoAcquisitionPending,
784 AttributeDivestitureWasNotRequested,
787 ObjectInstanceNotKnown,
790 FederateNotExecutionMember,
795 virtual
void attributeOwnershipAcquisition (
796 ObjectInstanceHandle theObject,
797 AttributeHandleSet const & desiredAttributes,
798 VariableLengthData const & theUserSuppliedTag)
800 AttributeNotPublished,
801 ObjectClassNotPublished,
802 FederateOwnsAttributes,
804 ObjectInstanceNotKnown,
807 FederateNotExecutionMember,
812 virtual
void attributeOwnershipAcquisitionIfAvailable (
813 ObjectInstanceHandle theObject,
814 AttributeHandleSet const & desiredAttributes)
816 AttributeAlreadyBeingAcquired,
817 AttributeNotPublished,
818 ObjectClassNotPublished,
819 FederateOwnsAttributes,
821 ObjectInstanceNotKnown,
824 FederateNotExecutionMember,
829 virtual
void attributeOwnershipReleaseDenied (
830 ObjectInstanceHandle theObject,
831 AttributeHandleSet const & theAttributes)
835 ObjectInstanceNotKnown,
838 FederateNotExecutionMember,
843 virtual
void attributeOwnershipDivestitureIfWanted (
844 ObjectInstanceHandle theObject,
845 AttributeHandleSet const & theAttributes,
846 AttributeHandleSet & theDivestedAttributes)
850 ObjectInstanceNotKnown,
853 FederateNotExecutionMember,
858 virtual
void cancelNegotiatedAttributeOwnershipDivestiture (
859 ObjectInstanceHandle theObject,
860 AttributeHandleSet const & theAttributes)
862 AttributeDivestitureWasNotRequested,
865 ObjectInstanceNotKnown,
868 FederateNotExecutionMember,
873 virtual
void cancelAttributeOwnershipAcquisition (
874 ObjectInstanceHandle theObject,
875 AttributeHandleSet const & theAttributes)
877 AttributeAcquisitionWasNotRequested,
878 AttributeAlreadyOwned,
880 ObjectInstanceNotKnown,
883 FederateNotExecutionMember,
888 virtual
void queryAttributeOwnership (
889 ObjectInstanceHandle theObject,
890 AttributeHandle theAttribute)
893 ObjectInstanceNotKnown,
896 FederateNotExecutionMember,
901 virtual
bool isAttributeOwnedByFederate (
902 ObjectInstanceHandle theObject,
903 AttributeHandle theAttribute)
906 ObjectInstanceNotKnown,
909 FederateNotExecutionMember,
918 virtual
void enableTimeRegulation (
919 LogicalTimeInterval const & theLookahead)
922 InTimeAdvancingState,
923 RequestForTimeRegulationPending,
924 TimeRegulationAlreadyEnabled,
927 FederateNotExecutionMember,
932 virtual
void disableTimeRegulation ()
934 TimeRegulationIsNotEnabled,
937 FederateNotExecutionMember,
942 virtual
void enableTimeConstrained ()
944 InTimeAdvancingState,
945 RequestForTimeConstrainedPending,
946 TimeConstrainedAlreadyEnabled,
949 FederateNotExecutionMember,
954 virtual
void disableTimeConstrained ()
956 TimeConstrainedIsNotEnabled,
959 FederateNotExecutionMember,
964 virtual
void timeAdvanceRequest (
965 LogicalTime const & theTime)
967 LogicalTimeAlreadyPassed,
969 InTimeAdvancingState,
970 RequestForTimeRegulationPending,
971 RequestForTimeConstrainedPending,
974 FederateNotExecutionMember,
979 virtual
void timeAdvanceRequestAvailable (
980 LogicalTime const & theTime)
982 LogicalTimeAlreadyPassed,
984 InTimeAdvancingState,
985 RequestForTimeRegulationPending,
986 RequestForTimeConstrainedPending,
989 FederateNotExecutionMember,
994 virtual
void nextMessageRequest (
995 LogicalTime const & theTime)
997 LogicalTimeAlreadyPassed,
999 InTimeAdvancingState,
1000 RequestForTimeRegulationPending,
1001 RequestForTimeConstrainedPending,
1004 FederateNotExecutionMember,
1009 virtual
void nextMessageRequestAvailable (
1010 LogicalTime const & theTime)
1012 LogicalTimeAlreadyPassed,
1014 InTimeAdvancingState,
1015 RequestForTimeRegulationPending,
1016 RequestForTimeConstrainedPending,
1019 FederateNotExecutionMember,
1024 virtual
void flushQueueRequest (
1025 LogicalTime const & theTime)
1027 LogicalTimeAlreadyPassed,
1029 InTimeAdvancingState,
1030 RequestForTimeRegulationPending,
1031 RequestForTimeConstrainedPending,
1034 FederateNotExecutionMember,
1039 virtual
void enableAsynchronousDelivery ()
1041 AsynchronousDeliveryAlreadyEnabled,
1044 FederateNotExecutionMember,
1049 virtual
void disableAsynchronousDelivery ()
1051 AsynchronousDeliveryAlreadyDisabled,
1054 FederateNotExecutionMember,
1059 virtual
bool queryGALT (LogicalTime & theTime)
1063 FederateNotExecutionMember,
1068 virtual
void queryLogicalTime (LogicalTime & theTime)
1072 FederateNotExecutionMember,
1077 virtual
bool queryLITS (LogicalTime & theTime)
1081 FederateNotExecutionMember,
1086 virtual
void modifyLookahead (
1087 LogicalTimeInterval const & theLookahead)
1090 InTimeAdvancingState,
1091 TimeRegulationIsNotEnabled,
1094 FederateNotExecutionMember,
1099 virtual
void queryLookahead (LogicalTimeInterval & interval)
1101 TimeRegulationIsNotEnabled,
1104 FederateNotExecutionMember,
1109 virtual
void retract (
1110 MessageRetractionHandle theHandle)
1112 MessageCanNoLongerBeRetracted,
1113 InvalidMessageRetractionHandle,
1114 TimeRegulationIsNotEnabled,
1117 FederateNotExecutionMember,
1122 virtual
void changeAttributeOrderType (
1123 ObjectInstanceHandle theObject,
1124 AttributeHandleSet const & theAttributes,
1128 AttributeNotDefined,
1129 ObjectInstanceNotKnown,
1132 FederateNotExecutionMember,
1137 virtual
void changeInteractionOrderType (
1138 InteractionClassHandle theClass,
1141 InteractionClassNotPublished,
1142 InteractionClassNotDefined,
1145 FederateNotExecutionMember,
1154 virtual RegionHandle createRegion (
1155 DimensionHandleSet const & theDimensions)
1157 InvalidDimensionHandle,
1160 FederateNotExecutionMember,
1165 virtual
void commitRegionModifications (
1166 RegionHandleSet const & theRegionHandleSet)
1168 RegionNotCreatedByThisFederate,
1172 FederateNotExecutionMember,
1177 virtual
void deleteRegion (
1178 RegionHandle const & theRegion)
1180 RegionInUseForUpdateOrSubscription,
1181 RegionNotCreatedByThisFederate,
1185 FederateNotExecutionMember,
1190 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1191 ObjectClassHandle theClass,
1192 AttributeHandleSetRegionHandleSetPairVector const &
1193 theAttributeHandleSetRegionHandleSetPairVector)
1195 InvalidRegionContext,
1196 RegionNotCreatedByThisFederate,
1198 AttributeNotPublished,
1199 ObjectClassNotPublished,
1200 AttributeNotDefined,
1201 ObjectClassNotDefined,
1204 FederateNotExecutionMember,
1208 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1209 ObjectClassHandle theClass,
1210 AttributeHandleSetRegionHandleSetPairVector const &
1211 theAttributeHandleSetRegionHandleSetPairVector,
1212 std::wstring const & theObjectInstanceName)
1214 ObjectInstanceNameInUse,
1215 ObjectInstanceNameNotReserved,
1216 InvalidRegionContext,
1217 RegionNotCreatedByThisFederate,
1219 AttributeNotPublished,
1220 ObjectClassNotPublished,
1221 AttributeNotDefined,
1222 ObjectClassNotDefined,
1225 FederateNotExecutionMember,
1230 virtual
void associateRegionsForUpdates (
1231 ObjectInstanceHandle theObject,
1232 AttributeHandleSetRegionHandleSetPairVector const &
1233 theAttributeHandleSetRegionHandleSetPairVector)
1235 InvalidRegionContext,
1236 RegionNotCreatedByThisFederate,
1238 AttributeNotDefined,
1239 ObjectInstanceNotKnown,
1242 FederateNotExecutionMember,
1247 virtual
void unassociateRegionsForUpdates (
1248 ObjectInstanceHandle theObject,
1249 AttributeHandleSetRegionHandleSetPairVector const &
1250 theAttributeHandleSetRegionHandleSetPairVector)
1252 RegionNotCreatedByThisFederate,
1254 AttributeNotDefined,
1255 ObjectInstanceNotKnown,
1258 FederateNotExecutionMember,
1263 virtual
void subscribeObjectClassAttributesWithRegions (
1264 ObjectClassHandle theClass,
1265 AttributeHandleSetRegionHandleSetPairVector const &
1266 theAttributeHandleSetRegionHandleSetPairVector,
1268 std::wstring const & updateRateDesignator = L"")
1270 InvalidRegionContext,
1271 RegionNotCreatedByThisFederate,
1273 AttributeNotDefined,
1274 ObjectClassNotDefined,
1275 InvalidUpdateRateDesignator,
1278 FederateNotExecutionMember,
1284 virtual
void unsubscribeObjectClassAttributesWithRegions (
1285 ObjectClassHandle theClass,
1286 AttributeHandleSetRegionHandleSetPairVector const &
1287 theAttributeHandleSetRegionHandleSetPairVector)
1289 RegionNotCreatedByThisFederate,
1291 AttributeNotDefined,
1292 ObjectClassNotDefined,
1295 FederateNotExecutionMember,
1300 virtual
void subscribeInteractionClassWithRegions (
1301 InteractionClassHandle theClass,
1302 RegionHandleSet const & theRegionHandleSet,
1305 FederateServiceInvocationsAreBeingReportedViaMOM,
1306 InvalidRegionContext,
1307 RegionNotCreatedByThisFederate,
1309 InteractionClassNotDefined,
1312 FederateNotExecutionMember,
1317 virtual
void unsubscribeInteractionClassWithRegions (
1318 InteractionClassHandle theClass,
1319 RegionHandleSet const & theRegionHandleSet)
1321 RegionNotCreatedByThisFederate,
1323 InteractionClassNotDefined,
1326 FederateNotExecutionMember,
1331 virtual
void sendInteractionWithRegions (
1332 InteractionClassHandle theInteraction,
1333 ParameterHandleValueMap const & theParameterValues,
1334 RegionHandleSet const & theRegionHandleSet,
1335 VariableLengthData const & theUserSuppliedTag)
1337 InvalidRegionContext,
1338 RegionNotCreatedByThisFederate,
1340 InteractionClassNotPublished,
1341 InteractionParameterNotDefined,
1342 InteractionClassNotDefined,
1345 FederateNotExecutionMember,
1349 virtual MessageRetractionHandle sendInteractionWithRegions (
1350 InteractionClassHandle theInteraction,
1351 ParameterHandleValueMap const & theParameterValues,
1352 RegionHandleSet const & theRegionHandleSet,
1353 VariableLengthData const & theUserSuppliedTag,
1354 LogicalTime const & theTime)
1357 InvalidRegionContext,
1358 RegionNotCreatedByThisFederate,
1360 InteractionClassNotPublished,
1361 InteractionParameterNotDefined,
1362 InteractionClassNotDefined,
1365 FederateNotExecutionMember,
1370 virtual
void requestAttributeValueUpdateWithRegions (
1371 ObjectClassHandle theClass,
1372 AttributeHandleSetRegionHandleSetPairVector const & theSet,
1373 VariableLengthData const & theUserSuppliedTag)
1375 InvalidRegionContext,
1376 RegionNotCreatedByThisFederate,
1378 AttributeNotDefined,
1379 ObjectClassNotDefined,
1382 FederateNotExecutionMember,
1391 virtual ResignAction getAutomaticResignDirective ()
1393 FederateNotExecutionMember,
1398 virtual
void setAutomaticResignDirective (
1399 ResignAction resignAction)
1401 InvalidResignAction,
1402 FederateNotExecutionMember,
1407 virtual FederateHandle getFederateHandle (
1408 std::wstring const & theName)
1411 FederateNotExecutionMember,
1416 virtual std::wstring getFederateName (
1417 FederateHandle theHandle)
1419 InvalidFederateHandle,
1420 FederateHandleNotKnown,
1421 FederateNotExecutionMember,
1426 virtual ObjectClassHandle getObjectClassHandle (
1427 std::wstring const & theName)
1430 FederateNotExecutionMember,
1435 virtual std::wstring getObjectClassName (
1436 ObjectClassHandle theHandle)
1438 InvalidObjectClassHandle,
1439 FederateNotExecutionMember,
1444 virtual ObjectClassHandle getKnownObjectClassHandle (
1445 ObjectInstanceHandle theObject)
1447 ObjectInstanceNotKnown,
1448 FederateNotExecutionMember,
1453 virtual ObjectInstanceHandle getObjectInstanceHandle (
1454 std::wstring const & theName)
1456 ObjectInstanceNotKnown,
1457 FederateNotExecutionMember,
1462 virtual std::wstring getObjectInstanceName (
1463 ObjectInstanceHandle theHandle)
1465 ObjectInstanceNotKnown,
1466 FederateNotExecutionMember,
1471 virtual AttributeHandle getAttributeHandle (
1472 ObjectClassHandle whichClass,
1473 std::wstring const & theAttributeName)
1476 InvalidObjectClassHandle,
1477 FederateNotExecutionMember,
1482 virtual std::wstring getAttributeName (
1483 ObjectClassHandle whichClass,
1484 AttributeHandle theHandle)
1486 AttributeNotDefined,
1487 InvalidAttributeHandle,
1488 InvalidObjectClassHandle,
1489 FederateNotExecutionMember,
1494 virtual
double getUpdateRateValue (
1495 std::wstring const & updateRateDesignator)
1497 InvalidUpdateRateDesignator,
1498 FederateNotExecutionMember,
1503 virtual
double getUpdateRateValueForAttribute (
1504 ObjectInstanceHandle theObject,
1505 AttributeHandle theAttribute)
1507 ObjectInstanceNotKnown,
1508 AttributeNotDefined,
1509 FederateNotExecutionMember,
1514 virtual InteractionClassHandle getInteractionClassHandle (
1515 std::wstring const & theName)
1518 FederateNotExecutionMember,
1523 virtual std::wstring getInteractionClassName (
1524 InteractionClassHandle theHandle)
1526 InvalidInteractionClassHandle,
1527 FederateNotExecutionMember,
1532 virtual ParameterHandle getParameterHandle (
1533 InteractionClassHandle whichClass,
1534 std::wstring const & theName)
1537 InvalidInteractionClassHandle,
1538 FederateNotExecutionMember,
1543 virtual std::wstring getParameterName (
1544 InteractionClassHandle whichClass,
1545 ParameterHandle theHandle)
1547 InteractionParameterNotDefined,
1548 InvalidParameterHandle,
1549 InvalidInteractionClassHandle,
1550 FederateNotExecutionMember,
1555 virtual OrderType getOrderType (
1556 std::wstring const & orderName)
1559 FederateNotExecutionMember,
1564 virtual std::wstring getOrderName (
1565 OrderType orderType)
1568 FederateNotExecutionMember,
1573 virtual TransportationType getTransportationType (
1574 std::wstring const & transportationName)
1576 InvalidTransportationName,
1577 FederateNotExecutionMember,
1582 virtual std::wstring getTransportationName (
1583 TransportationType transportationType)
1585 InvalidTransportationType,
1586 FederateNotExecutionMember,
1591 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute (
1592 ObjectClassHandle theClass,
1593 AttributeHandle theHandle)
1595 AttributeNotDefined,
1596 InvalidAttributeHandle,
1597 InvalidObjectClassHandle,
1598 FederateNotExecutionMember,
1603 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass (
1604 InteractionClassHandle theClass)
1606 InvalidInteractionClassHandle,
1607 FederateNotExecutionMember,
1612 virtual DimensionHandle getDimensionHandle (
1613 std::wstring const & theName)
1616 FederateNotExecutionMember,
1621 virtual std::wstring getDimensionName (
1622 DimensionHandle theHandle)
1624 InvalidDimensionHandle,
1625 FederateNotExecutionMember,
1630 virtual
unsigned long getDimensionUpperBound (
1631 DimensionHandle theHandle)
1633 InvalidDimensionHandle,
1634 FederateNotExecutionMember,
1639 virtual DimensionHandleSet getDimensionHandleSet (
1640 RegionHandle theRegionHandle)
1645 FederateNotExecutionMember,
1650 virtual RangeBounds getRangeBounds (
1651 RegionHandle theRegionHandle,
1652 DimensionHandle theDimensionHandle)
1654 RegionDoesNotContainSpecifiedDimension,
1658 FederateNotExecutionMember,
1663 virtual
void setRangeBounds (
1664 RegionHandle theRegionHandle,
1665 DimensionHandle theDimensionHandle,
1666 RangeBounds const & theRangeBounds)
1669 RegionDoesNotContainSpecifiedDimension,
1670 RegionNotCreatedByThisFederate,
1674 FederateNotExecutionMember,
1679 virtual
unsigned long normalizeFederateHandle (
1680 FederateHandle theFederateHandle)
1682 InvalidFederateHandle,
1683 FederateNotExecutionMember,
1688 virtual
unsigned long normalizeServiceGroup (
1689 ServiceGroup theServiceGroup)
1691 InvalidServiceGroup,
1692 FederateNotExecutionMember,
1697 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1699 ObjectClassRelevanceAdvisorySwitchIsOn,
1702 FederateNotExecutionMember,
1707 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1709 ObjectClassRelevanceAdvisorySwitchIsOff,
1712 FederateNotExecutionMember,
1717 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1719 AttributeRelevanceAdvisorySwitchIsOn,
1722 FederateNotExecutionMember,
1727 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1729 AttributeRelevanceAdvisorySwitchIsOff,
1732 FederateNotExecutionMember,
1737 virtual
void enableAttributeScopeAdvisorySwitch ()
1739 AttributeScopeAdvisorySwitchIsOn,
1742 FederateNotExecutionMember,
1747 virtual
void disableAttributeScopeAdvisorySwitch ()
1749 AttributeScopeAdvisorySwitchIsOff,
1752 FederateNotExecutionMember,
1757 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1759 InteractionRelevanceAdvisorySwitchIsOn,
1762 FederateNotExecutionMember,
1767 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1769 InteractionRelevanceAdvisorySwitchIsOff,
1772 FederateNotExecutionMember,
1777 virtual
bool evokeCallback (
1778 double approximateMinimumTimeInSeconds)
1780 CallNotAllowedFromWithinCallback,
1784 virtual
bool evokeMultipleCallbacks (
1785 double approximateMinimumTimeInSeconds,
1786 double approximateMaximumTimeInSeconds)
1788 CallNotAllowedFromWithinCallback,
1792 virtual
void enableCallbacks ()
1799 virtual
void disableCallbacks ()
1808 virtual std::auto_ptr<LogicalTimeFactory> getTimeFactory () const
1810 FederateNotExecutionMember,
1815 virtual FederateHandle decodeFederateHandle (
1816 VariableLengthData const & encodedValue) const
1819 FederateNotExecutionMember,
1823 virtual ObjectClassHandle decodeObjectClassHandle (
1824 VariableLengthData const & encodedValue) const
1827 FederateNotExecutionMember,
1831 virtual InteractionClassHandle decodeInteractionClassHandle (
1832 VariableLengthData const & encodedValue) const
1835 FederateNotExecutionMember,
1839 virtual ObjectInstanceHandle decodeObjectInstanceHandle (
1840 VariableLengthData const & encodedValue) const
1843 FederateNotExecutionMember,
1847 virtual AttributeHandle decodeAttributeHandle (
1848 VariableLengthData const & encodedValue) const
1851 FederateNotExecutionMember,
1855 virtual ParameterHandle decodeParameterHandle (
1856 VariableLengthData const & encodedValue) const
1859 FederateNotExecutionMember,
1863 virtual DimensionHandle decodeDimensionHandle (
1864 VariableLengthData const & encodedValue) const
1867 FederateNotExecutionMember,
1871 virtual MessageRetractionHandle decodeMessageRetractionHandle (
1872 VariableLengthData const & encodedValue) const
1875 FederateNotExecutionMember,
1879 virtual RegionHandle decodeRegionHandle (
1880 VariableLengthData const & encodedValue) const
1883 FederateNotExecutionMember,
1890 static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args);
1895 DtServerExerciseConnection* myServerExerciseConnection;
1898 DtClientExerciseConnection* myClientExerciseConnection;
1901 DtServerRtiAmbassador* myServerRtiAmbassador;
1904 RTI::FederateAmbassador* myFedAmb;
1907 bool mySelfReflectEnabled;
1910 bool myReadyToResign;
1916 class
DT_DLL_CSEC DtPassiveClientRtiAmbassador : public DtClientRtiAmbassador
1921 DtPassiveClientRtiAmbassador()
1923 : DtClientRtiAmbassador()
1927 virtual ~DtPassiveClientRtiAmbassador()
1933 DtPassiveClientRtiAmbassador(
const DtPassiveClientRtiAmbassador& orig);
1936 DtPassiveClientRtiAmbassador& operator=(
const DtPassiveClientRtiAmbassador& orig);
1941 virtual void subscribeObjectClassAttributes (
1942 ObjectClassHandle theClass,
1943 AttributeHandleSet
const & attributeList,
1945 std::wstring
const & updateRateDesignator = L
"")
1947 AttributeNotDefined,
1948 ObjectClassNotDefined,
1949 InvalidUpdateRateDesignator,
1952 FederateNotExecutionMember,
1958 virtual void unsubscribeObjectClass
1959 (ObjectClassHandle theClass)
1961 ObjectClassNotDefined,
1964 FederateNotExecutionMember,
1970 virtual void unsubscribeObjectClassAttributes
1971 (ObjectClassHandle theClass,
1972 AttributeHandleSet
const & attributeList)
1974 AttributeNotDefined,
1975 ObjectClassNotDefined,
1978 FederateNotExecutionMember,
1984 virtual void subscribeInteractionClass
1985 (InteractionClassHandle theClass,
1988 FederateServiceInvocationsAreBeingReportedViaMOM,
1989 InteractionClassNotDefined,
1992 FederateNotExecutionMember,
1998 virtual void unsubscribeInteractionClass
1999 (InteractionClassHandle theClass)
2001 InteractionClassNotDefined,
2004 FederateNotExecutionMember,
2010 virtual void subscribeObjectClassAttributesWithRegions (
2011 ObjectClassHandle theClass,
2012 AttributeHandleSetRegionHandleSetPairVector
const &
2013 theAttributeHandleSetRegionHandleSetPairVector,
2015 std::wstring
const & updateRateDesignator = L
"")
2017 InvalidRegionContext,
2018 RegionNotCreatedByThisFederate,
2020 AttributeNotDefined,
2021 ObjectClassNotDefined,
2022 InvalidUpdateRateDesignator,
2025 FederateNotExecutionMember,
2031 virtual void unsubscribeObjectClassAttributesWithRegions
2032 (ObjectClassHandle theClass,
2033 AttributeHandleSetRegionHandleSetPairVector
const &
2034 theAttributeHandleSetRegionHandleSetPairVector)
2036 RegionNotCreatedByThisFederate,
2038 AttributeNotDefined,
2039 ObjectClassNotDefined,
2042 FederateNotExecutionMember,
2048 virtual void subscribeInteractionClassWithRegions
2049 (InteractionClassHandle theClass,
2050 RegionHandleSet
const & theRegionHandleSet,
2053 FederateServiceInvocationsAreBeingReportedViaMOM,
2054 InvalidRegionContext,
2055 RegionNotCreatedByThisFederate,
2057 InteractionClassNotDefined,
2060 FederateNotExecutionMember,
2066 virtual void unsubscribeInteractionClassWithRegions
2067 (InteractionClassHandle theClass,
2068 RegionHandleSet
const & theRegionHandleSet)
2070 RegionNotCreatedByThisFederate,
2072 InteractionClassNotDefined,
2075 FederateNotExecutionMember,
2081 virtual void localDeleteObjectInstance
2082 (ObjectInstanceHandle theObject)
2084 OwnershipAcquisitionPending,
2085 FederateOwnsAttributes,
2086 ObjectInstanceNotKnown,
2089 FederateNotExecutionMember,
2097 static DtVrlRtiAmbassador* create(
const std::vector<std::wstring>& args);
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17