13 #if !DtHLA_1516_EVOLVED
17 #include <vl/vrlRtiAmb1516.h>
18 #include <vlutil/vlMachineTypes.h>
20 namespace MAKTrafficClientServerExConn
22 class DtServerExerciseConnection;
24 class DT_DLL_CSEC DtServerRtiAmbassador :
public DtVrlRtiAmbassador
31 DtServerRtiAmbassador(
32 const std::vector<std::wstring>& createArguments = std::vector<std::wstring>())
34 BadInitializationParameter,
37 virtual ~DtServerRtiAmbassador();
41 DtServerRtiAmbassador(const DtServerRtiAmbassador &other);
44 DtServerRtiAmbassador& operator=(const DtServerRtiAmbassador &other);
49 virtual
void setServerExerciseConnection(DtServerExerciseConnection* exConn);
52 virtual DtServerExerciseConnection* serverExerciseConnection();
55 virtual RTIambassador* rtiAmb();
57 virtual const RTIambassador* rtiAmb() const;
59 virtual
void getRtiAmbCreationArgs(std::vector<std::wstring>& args) const;
66 virtual
void createFederationExecution
67 (std::wstring const & federationExecutionName,
68 std::wstring const & fullPathNameToTheFDDfile,
69 std::wstring const & logicalTimeImplementationName = L"")
71 FederationExecutionAlreadyExists,
77 virtual
void destroyFederationExecution
78 (std::wstring const & federationExecutionName)
80 FederatesCurrentlyJoined,
81 FederationExecutionDoesNotExist,
85 virtual FederateHandle joinFederationExecution
86 (std::wstring const & federateType,
87 std::wstring const & federationExecutionName,
88 FederateAmbassador & federateAmbassador)
90 FederateAlreadyExecutionMember,
91 FederationExecutionDoesNotExist,
97 virtual
void resignFederationExecution
98 (ResignAction resignAction)
100 OwnershipAcquisitionPending,
101 FederateOwnsAttributes,
102 FederateNotExecutionMember,
106 virtual
void registerFederationSynchronizationPoint
107 (std::wstring const & label,
108 RTI::VariableLengthData const & aTag)
110 FederateNotExecutionMember,
115 virtual
void registerFederationSynchronizationPoint
116 (std::wstring const & label,
117 RTI::VariableLengthData const & aTag,
118 FederateHandleSet const & syncSet)
120 FederateNotExecutionMember,
126 virtual
void synchronizationPointAchieved
127 (std::wstring const & label)
129 SynchronizationPointLabelNotAnnounced,
130 FederateNotExecutionMember,
136 virtual
void requestFederationSave
137 (std::wstring const & label)
139 FederateNotExecutionMember,
144 virtual
void requestFederationSave
145 (std::wstring const & label,
146 LogicalTime const & theTime)
148 LogicalTimeAlreadyPassed,
150 FederateUnableToUseTime,
151 FederateNotExecutionMember,
157 virtual
void federateSaveBegun ()
160 FederateNotExecutionMember,
165 virtual
void federateSaveComplete ()
167 FederateHasNotBegunSave,
168 FederateNotExecutionMember,
172 virtual
void federateSaveNotComplete()
174 FederateHasNotBegunSave,
175 FederateNotExecutionMember,
180 virtual
void queryFederationSaveStatus ()
182 FederateNotExecutionMember,
187 virtual
void requestFederationRestore
188 (std::wstring const & label)
190 FederateNotExecutionMember,
196 virtual
void federateRestoreComplete ()
199 FederateNotExecutionMember,
203 virtual
void federateRestoreNotComplete ()
206 FederateNotExecutionMember,
211 virtual
void queryFederationRestoreStatus ()
213 FederateNotExecutionMember,
222 virtual
void publishObjectClassAttributes
223 (ObjectClassHandle theClass,
224 AttributeHandleSet const & attributeList)
226 ObjectClassNotDefined,
228 FederateNotExecutionMember,
234 virtual
void unpublishObjectClass
235 (ObjectClassHandle theClass)
237 ObjectClassNotDefined,
238 OwnershipAcquisitionPending,
239 FederateNotExecutionMember,
244 virtual
void unpublishObjectClassAttributes
245 (ObjectClassHandle theClass,
246 AttributeHandleSet const & attributeList)
248 ObjectClassNotDefined,
250 OwnershipAcquisitionPending,
251 FederateNotExecutionMember,
257 virtual
void publishInteractionClass
258 (InteractionClassHandle theInteraction)
260 InteractionClassNotDefined,
261 FederateNotExecutionMember,
267 virtual
void unpublishInteractionClass
268 (InteractionClassHandle theInteraction)
270 InteractionClassNotDefined,
271 FederateNotExecutionMember,
277 virtual
void subscribeObjectClassAttributes
278 (ObjectClassHandle theClass,
279 AttributeHandleSet const & attributeList,
282 ObjectClassNotDefined,
284 FederateNotExecutionMember,
290 virtual
void unsubscribeObjectClass
291 (ObjectClassHandle theClass)
293 ObjectClassNotDefined,
294 FederateNotExecutionMember,
299 virtual
void unsubscribeObjectClassAttributes
300 (ObjectClassHandle theClass,
301 AttributeHandleSet const & attributeList)
303 ObjectClassNotDefined,
305 FederateNotExecutionMember,
311 virtual
void subscribeInteractionClass
312 (InteractionClassHandle theClass,
315 InteractionClassNotDefined,
316 FederateServiceInvocationsAreBeingReportedViaMOM,
317 FederateNotExecutionMember,
323 virtual
void unsubscribeInteractionClass
324 (InteractionClassHandle theClass)
326 InteractionClassNotDefined,
327 FederateNotExecutionMember,
337 virtual
void reserveObjectInstanceName
338 (std::wstring const & theObjectInstanceName)
341 FederateNotExecutionMember,
347 virtual ObjectInstanceHandle registerObjectInstance
348 (ObjectClassHandle theClass)
350 ObjectClassNotDefined,
351 ObjectClassNotPublished,
352 FederateNotExecutionMember,
357 virtual ObjectInstanceHandle registerObjectInstanceSR(
358 unsigned int clientID,
359 ObjectClassHandle theClass);
361 virtual ObjectInstanceHandle registerObjectInstance
362 (ObjectClassHandle theClass,
363 std::wstring const & theObjectInstanceName)
365 ObjectClassNotDefined,
366 ObjectClassNotPublished,
367 ObjectInstanceNameNotReserved,
368 ObjectInstanceNameInUse,
369 FederateNotExecutionMember,
374 virtual ObjectInstanceHandle registerObjectInstanceSR(
375 unsigned int clientID,
376 ObjectClassHandle theClass,
377 std::wstring const & theObjectInstanceName);
380 virtual
void updateAttributeValues
381 (ObjectInstanceHandle theObject,
382 AttributeHandleValueMap const & theAttributeValues,
383 RTI::VariableLengthData const & aTag)
385 ObjectInstanceNotKnown,
388 FederateNotExecutionMember,
393 virtual
void updateAttributeValuesSR(
394 unsigned int clientID,
395 ObjectInstanceHandle theObject,
396 AttributeHandleValueMap const & theAttributeValues,
397 VariableLengthData const & theUserSuppliedTag);
399 virtual MessageRetractionHandle updateAttributeValues
400 (ObjectInstanceHandle theObject,
401 AttributeHandleValueMap const & theAttributeValues,
402 RTI::VariableLengthData const & aTag,
403 LogicalTime const & theTime)
405 ObjectInstanceNotKnown,
409 FederateNotExecutionMember,
414 virtual MessageRetractionHandle updateAttributeValuesSR(
415 unsigned int clientID,
416 ObjectInstanceHandle theObject,
417 AttributeHandleValueMap const & theAttributeValues,
418 VariableLengthData const & theUserSuppliedTag,
419 LogicalTime const & theTime);
422 virtual
void sendInteraction
423 (InteractionClassHandle theInteraction,
424 ParameterHandleValueMap const & theParameterValues,
425 RTI::VariableLengthData const & aTag)
427 InteractionClassNotPublished,
428 InteractionClassNotDefined,
429 InteractionParameterNotDefined,
430 FederateNotExecutionMember,
435 virtual
void sendInteractionSR(
436 unsigned int clientID,
437 InteractionClassHandle theInteraction,
438 ParameterHandleValueMap const & theParameterValues,
439 VariableLengthData const & theUserSuppliedTag);
441 virtual MessageRetractionHandle sendInteraction
442 (InteractionClassHandle theInteraction,
443 ParameterHandleValueMap const & theParameterValues,
444 RTI::VariableLengthData const & aTag,
445 LogicalTime const & theTime)
447 InteractionClassNotPublished,
448 InteractionClassNotDefined,
449 InteractionParameterNotDefined,
451 FederateNotExecutionMember,
456 virtual MessageRetractionHandle sendInteractionSR(
457 unsigned int clientID,
458 InteractionClassHandle theInteraction,
459 ParameterHandleValueMap const & theParameterValues,
460 VariableLengthData const & theUserSuppliedTag,
461 LogicalTime const & theTime);
464 virtual
void deleteObjectInstance
465 (ObjectInstanceHandle theObject,
466 RTI::VariableLengthData const & aTag)
468 DeletePrivilegeNotHeld,
469 ObjectInstanceNotKnown,
470 FederateNotExecutionMember,
475 virtual
void deleteObjectInstanceSR(
476 unsigned int clientID,
477 ObjectInstanceHandle theObject,
478 VariableLengthData const & theUserSuppliedTag);
480 virtual MessageRetractionHandle deleteObjectInstance
481 (ObjectInstanceHandle theObject,
482 RTI::VariableLengthData const & aTag,
483 LogicalTime const & theTime)
485 DeletePrivilegeNotHeld,
486 ObjectInstanceNotKnown,
488 FederateNotExecutionMember,
493 virtual MessageRetractionHandle deleteObjectInstanceSR(
494 unsigned int clientID,
495 ObjectInstanceHandle theObject,
496 VariableLengthData const & theUserSuppliedTag,
497 LogicalTime const & theTime);
500 virtual
void localDeleteObjectInstance
501 (ObjectInstanceHandle theObject)
503 ObjectInstanceNotKnown,
504 FederateOwnsAttributes,
505 OwnershipAcquisitionPending,
506 FederateNotExecutionMember,
511 virtual
void localDeleteObjectInstanceSR(
512 unsigned int clientID,
513 ObjectInstanceHandle theObject);
516 virtual
void changeAttributeTransportationType
517 (ObjectInstanceHandle theObject,
518 AttributeHandleSet const & theAttributes,
519 TransportationType theType)
521 ObjectInstanceNotKnown,
524 FederateNotExecutionMember,
530 virtual
void changeInteractionTransportationType
531 (InteractionClassHandle theClass,
532 TransportationType theType)
534 InteractionClassNotDefined,
535 InteractionClassNotPublished,
536 FederateNotExecutionMember,
542 virtual
void requestAttributeValueUpdate
543 (ObjectInstanceHandle theObject,
544 AttributeHandleSet const & theAttributes,
545 RTI::VariableLengthData const & aTag)
547 ObjectInstanceNotKnown,
549 FederateNotExecutionMember,
554 virtual
void requestAttributeValueUpdate
555 (ObjectClassHandle theClass,
556 AttributeHandleSet const & theAttributes,
557 RTI::VariableLengthData const & aTag)
559 ObjectClassNotDefined,
561 FederateNotExecutionMember,
570 virtual
void unconditionalAttributeOwnershipDivestiture
571 (ObjectInstanceHandle theObject,
572 AttributeHandleSet const & theAttributes)
574 ObjectInstanceNotKnown,
577 FederateNotExecutionMember,
583 virtual
void negotiatedAttributeOwnershipDivestiture
584 (ObjectInstanceHandle theObject,
585 AttributeHandleSet const & theAttributes,
586 RTI::VariableLengthData const & aTag)
588 ObjectInstanceNotKnown,
591 AttributeAlreadyBeingDivested,
592 FederateNotExecutionMember,
598 virtual
void confirmDivestiture
599 (ObjectInstanceHandle theObject,
600 AttributeHandleSet const & confirmedAttributes,
601 RTI::VariableLengthData const & aTag)
603 ObjectInstanceNotKnown,
606 AttributeDivestitureWasNotRequested,
607 NoAcquisitionPending,
608 FederateNotExecutionMember,
614 virtual
void attributeOwnershipAcquisition
615 (ObjectInstanceHandle theObject,
616 AttributeHandleSet const & desiredAttributes,
617 RTI::VariableLengthData const & aTag)
619 ObjectInstanceNotKnown,
620 ObjectClassNotPublished,
622 AttributeNotPublished,
623 FederateOwnsAttributes,
624 FederateNotExecutionMember,
630 virtual
void attributeOwnershipAcquisitionIfAvailable
631 (ObjectInstanceHandle theObject,
632 AttributeHandleSet const & desiredAttributes)
634 ObjectInstanceNotKnown,
635 ObjectClassNotPublished,
637 AttributeNotPublished,
638 FederateOwnsAttributes,
639 AttributeAlreadyBeingAcquired,
640 FederateNotExecutionMember,
646 virtual
void attributeOwnershipDivestitureIfWanted(
647 ObjectInstanceHandle theObject,
648 AttributeHandleSet const & theAttributes,
649 AttributeHandleSet & theDivestedAttributes)
651 ObjectInstanceNotKnown,
654 FederateNotExecutionMember,
660 virtual
void cancelNegotiatedAttributeOwnershipDivestiture
661 (ObjectInstanceHandle theObject,
662 AttributeHandleSet const & theAttributes)
664 ObjectInstanceNotKnown,
667 AttributeDivestitureWasNotRequested,
668 FederateNotExecutionMember,
674 virtual
void cancelAttributeOwnershipAcquisition
675 (ObjectInstanceHandle theObject,
676 AttributeHandleSet const & theAttributes)
678 ObjectInstanceNotKnown,
680 AttributeAlreadyOwned,
681 AttributeAcquisitionWasNotRequested,
682 FederateNotExecutionMember,
688 virtual
void queryAttributeOwnership
689 (ObjectInstanceHandle theObject,
690 AttributeHandle theAttribute)
692 ObjectInstanceNotKnown,
694 FederateNotExecutionMember,
700 virtual
bool isAttributeOwnedByFederate
701 (ObjectInstanceHandle theObject,
702 AttributeHandle theAttribute)
704 ObjectInstanceNotKnown,
706 FederateNotExecutionMember,
716 virtual
void enableTimeRegulation
717 (LogicalTimeInterval const & theLookahead)
719 TimeRegulationAlreadyEnabled,
721 InTimeAdvancingState,
722 RequestForTimeRegulationPending,
723 FederateNotExecutionMember,
729 virtual
void disableTimeRegulation ()
731 TimeRegulationIsNotEnabled,
732 FederateNotExecutionMember,
738 virtual
void enableTimeConstrained ()
740 TimeConstrainedAlreadyEnabled,
741 InTimeAdvancingState,
742 RequestForTimeConstrainedPending,
743 FederateNotExecutionMember,
749 virtual
void disableTimeConstrained ()
751 TimeConstrainedIsNotEnabled,
752 FederateNotExecutionMember,
758 virtual
void timeAdvanceRequest
759 (LogicalTime const & theTime)
762 LogicalTimeAlreadyPassed,
763 InTimeAdvancingState,
764 RequestForTimeRegulationPending,
765 RequestForTimeConstrainedPending,
766 FederateNotExecutionMember,
772 virtual
void timeAdvanceRequestAvailable
773 (LogicalTime const & theTime)
776 LogicalTimeAlreadyPassed,
777 InTimeAdvancingState,
778 RequestForTimeRegulationPending,
779 RequestForTimeConstrainedPending,
780 FederateNotExecutionMember,
786 virtual
void nextMessageRequest
787 (LogicalTime const & theTime)
790 LogicalTimeAlreadyPassed,
791 InTimeAdvancingState,
792 RequestForTimeRegulationPending,
793 RequestForTimeConstrainedPending,
794 FederateNotExecutionMember,
800 virtual
void nextMessageRequestAvailable
801 (LogicalTime const & theTime)
804 LogicalTimeAlreadyPassed,
805 InTimeAdvancingState,
806 RequestForTimeRegulationPending,
807 RequestForTimeConstrainedPending,
808 FederateNotExecutionMember,
814 virtual
void flushQueueRequest
815 (LogicalTime const & theTime)
818 LogicalTimeAlreadyPassed,
819 InTimeAdvancingState,
820 RequestForTimeRegulationPending,
821 RequestForTimeConstrainedPending,
822 FederateNotExecutionMember,
828 virtual
void enableAsynchronousDelivery ()
830 AsynchronousDeliveryAlreadyEnabled,
831 FederateNotExecutionMember,
837 virtual
void disableAsynchronousDelivery ()
839 AsynchronousDeliveryAlreadyDisabled,
840 FederateNotExecutionMember,
846 virtual
bool queryGALT (LogicalTime & theTime)
848 FederateNotExecutionMember,
854 virtual
void queryLogicalTime (LogicalTime & theTime)
856 FederateNotExecutionMember,
862 virtual
bool queryLITS (LogicalTime & theTime)
864 FederateNotExecutionMember,
870 virtual
void modifyLookahead
871 (LogicalTimeInterval const & theLookahead)
873 TimeRegulationIsNotEnabled,
875 InTimeAdvancingState,
876 FederateNotExecutionMember,
882 virtual
void queryLookahead (LogicalTimeInterval & interval)
884 TimeRegulationIsNotEnabled,
885 FederateNotExecutionMember,
892 (MessageRetractionHandle theHandle)
894 InvalidRetractionHandle,
895 TimeRegulationIsNotEnabled,
896 MessageCanNoLongerBeRetracted,
897 FederateNotExecutionMember,
903 virtual
void changeAttributeOrderType
904 (ObjectInstanceHandle theObject,
905 AttributeHandleSet const & theAttributes,
908 ObjectInstanceNotKnown,
911 FederateNotExecutionMember,
917 virtual
void changeInteractionOrderType
918 (InteractionClassHandle theClass,
921 InteractionClassNotDefined,
922 InteractionClassNotPublished,
923 FederateNotExecutionMember,
933 virtual RegionHandle createRegion
934 (DimensionHandleSet const & theDimensions)
936 InvalidDimensionHandle,
937 FederateNotExecutionMember,
943 virtual
void commitRegionModifications
944 (RegionHandleSet const & theRegionHandleSet)
947 RegionNotCreatedByThisFederate,
948 FederateNotExecutionMember,
954 virtual
void deleteRegion
955 (RegionHandle theRegion)
958 RegionNotCreatedByThisFederate,
959 RegionInUseForUpdateOrSubscription,
960 FederateNotExecutionMember,
966 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
967 (ObjectClassHandle theClass,
968 AttributeHandleSetRegionHandleSetPairVector const &
969 theAttributeHandleSetRegionHandleSetPairVector)
971 ObjectClassNotDefined,
972 ObjectClassNotPublished,
974 AttributeNotPublished,
976 RegionNotCreatedByThisFederate,
977 InvalidRegionContext,
978 FederateNotExecutionMember,
983 virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
984 unsigned int clientID,
985 ObjectClassHandle theClass,
986 AttributeHandleSetRegionHandleSetPairVector const &
987 theAttributeHandleSetRegionHandleSetPairVector);
989 virtual ObjectInstanceHandle registerObjectInstanceWithRegions
990 (ObjectClassHandle theClass,
991 AttributeHandleSetRegionHandleSetPairVector const &
992 theAttributeHandleSetRegionHandleSetPairVector,
993 std::wstring const & theObjectInstanceName)
995 ObjectClassNotDefined,
996 ObjectClassNotPublished,
998 AttributeNotPublished,
1000 RegionNotCreatedByThisFederate,
1001 InvalidRegionContext,
1002 ObjectInstanceNameNotReserved,
1003 ObjectInstanceNameInUse,
1004 FederateNotExecutionMember,
1009 virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
1010 unsigned int clientID,
1011 ObjectClassHandle theClass,
1012 AttributeHandleSetRegionHandleSetPairVector const &
1013 theAttributeHandleSetRegionHandleSetPairVector,
1014 std::wstring const & theObjectInstanceName);
1017 virtual
void associateRegionsForUpdates
1018 (ObjectInstanceHandle theObject,
1019 AttributeHandleSetRegionHandleSetPairVector const &
1020 theAttributeHandleSetRegionHandleSetPairVector)
1022 ObjectInstanceNotKnown,
1023 AttributeNotDefined,
1025 RegionNotCreatedByThisFederate,
1026 InvalidRegionContext,
1027 FederateNotExecutionMember,
1033 virtual
void unassociateRegionsForUpdates
1034 (ObjectInstanceHandle theObject,
1035 AttributeHandleSetRegionHandleSetPairVector const &
1036 theAttributeHandleSetRegionHandleSetPairVector)
1038 ObjectInstanceNotKnown,
1039 AttributeNotDefined,
1041 RegionNotCreatedByThisFederate,
1042 FederateNotExecutionMember,
1048 virtual
void subscribeObjectClassAttributesWithRegions
1049 (ObjectClassHandle theClass,
1050 AttributeHandleSetRegionHandleSetPairVector const &
1051 theAttributeHandleSetRegionHandleSetPairVector,
1054 ObjectClassNotDefined,
1055 AttributeNotDefined,
1057 RegionNotCreatedByThisFederate,
1058 InvalidRegionContext,
1059 FederateNotExecutionMember,
1065 virtual
void unsubscribeObjectClassAttributesWithRegions
1066 (ObjectClassHandle theClass,
1067 AttributeHandleSetRegionHandleSetPairVector const &
1068 theAttributeHandleSetRegionHandleSetPairVector)
1070 ObjectClassNotDefined,
1071 AttributeNotDefined,
1073 RegionNotCreatedByThisFederate,
1074 FederateNotExecutionMember,
1080 virtual
void subscribeInteractionClassWithRegions
1081 (InteractionClassHandle theClass,
1082 RegionHandleSet const & theRegionHandleSet,
1085 InteractionClassNotDefined,
1087 RegionNotCreatedByThisFederate,
1088 InvalidRegionContext,
1089 FederateServiceInvocationsAreBeingReportedViaMOM,
1090 FederateNotExecutionMember,
1096 virtual
void unsubscribeInteractionClassWithRegions
1097 (InteractionClassHandle theClass,
1098 RegionHandleSet const & theRegionHandleSet)
1100 InteractionClassNotDefined,
1102 RegionNotCreatedByThisFederate,
1103 FederateNotExecutionMember,
1109 virtual
void sendInteractionWithRegions
1110 (InteractionClassHandle theInteraction,
1111 ParameterHandleValueMap const & theParameterValues,
1112 RegionHandleSet const & theRegionHandleSet,
1113 RTI::VariableLengthData const & aTag)
1115 InteractionClassNotDefined,
1116 InteractionClassNotPublished,
1117 InteractionParameterNotDefined,
1119 RegionNotCreatedByThisFederate,
1120 InvalidRegionContext,
1121 FederateNotExecutionMember,
1126 virtual
void sendInteractionWithRegionsSR(
1127 unsigned int clientID,
1128 InteractionClassHandle theInteraction,
1129 ParameterHandleValueMap const & theParameterValues,
1130 RegionHandleSet const & theRegionHandleSet,
1131 VariableLengthData const & theUserSuppliedTag);
1133 virtual MessageRetractionHandle sendInteractionWithRegions
1134 (InteractionClassHandle theInteraction,
1135 ParameterHandleValueMap const & theParameterValues,
1136 RegionHandleSet const & theRegionHandleSet,
1137 RTI::VariableLengthData const & aTag,
1138 LogicalTime const & theTime)
1140 InteractionClassNotDefined,
1141 InteractionClassNotPublished,
1142 InteractionParameterNotDefined,
1144 RegionNotCreatedByThisFederate,
1145 InvalidRegionContext,
1147 FederateNotExecutionMember,
1152 virtual MessageRetractionHandle sendInteractionWithRegionsSR(
1153 unsigned int clientID,
1154 InteractionClassHandle theInteraction,
1155 ParameterHandleValueMap const & theParameterValues,
1156 RegionHandleSet const & theRegionHandleSet,
1157 VariableLengthData const & theUserSuppliedTag,
1158 LogicalTime const & theTime);
1161 virtual
void requestAttributeValueUpdateWithRegions
1162 (ObjectClassHandle theClass,
1163 AttributeHandleSetRegionHandleSetPairVector const & theSet,
1164 RTI::VariableLengthData const & aTag)
1166 ObjectClassNotDefined,
1167 AttributeNotDefined,
1169 RegionNotCreatedByThisFederate,
1170 InvalidRegionContext,
1171 FederateNotExecutionMember,
1181 virtual ObjectClassHandle getObjectClassHandle
1182 (std::wstring const & theName)
1185 FederateNotExecutionMember,
1189 virtual std::wstring getObjectClassName
1190 (ObjectClassHandle theClass)
1192 InvalidObjectClassHandle,
1193 FederateNotExecutionMember,
1197 virtual AttributeHandle getAttributeHandle
1198 (ObjectClassHandle theClass,
1199 std::wstring const & theAttributeName)
1201 InvalidObjectClassHandle,
1203 FederateNotExecutionMember,
1207 virtual std::wstring getAttributeName
1208 (ObjectClassHandle theClass,
1209 AttributeHandle theHandle)
1211 InvalidObjectClassHandle,
1212 InvalidAttributeHandle,
1213 AttributeNotDefined,
1214 FederateNotExecutionMember,
1218 virtual InteractionClassHandle getInteractionClassHandle
1219 (std::wstring const & theName)
1222 FederateNotExecutionMember,
1226 virtual std::wstring getInteractionClassName
1227 (InteractionClassHandle theHandle)
1229 InvalidInteractionClassHandle,
1230 FederateNotExecutionMember,
1234 virtual ParameterHandle getParameterHandle
1235 (InteractionClassHandle whichClass,
1236 std::wstring const & theName)
1238 InvalidInteractionClassHandle,
1240 FederateNotExecutionMember,
1244 virtual std::wstring getParameterName
1245 (InteractionClassHandle whichClass,
1246 ParameterHandle theHandle)
1248 InvalidInteractionClassHandle,
1249 InvalidParameterHandle,
1250 InteractionParameterNotDefined,
1251 FederateNotExecutionMember,
1255 virtual ObjectInstanceHandle getObjectInstanceHandle
1256 (std::wstring const & theName)
1258 ObjectInstanceNotKnown,
1259 FederateNotExecutionMember,
1263 virtual std::wstring getObjectInstanceName
1264 (ObjectInstanceHandle theHandle)
1266 ObjectInstanceNotKnown,
1267 FederateNotExecutionMember,
1271 virtual DimensionHandle getDimensionHandle
1272 (std::wstring const & theName)
1275 FederateNotExecutionMember,
1279 virtual std::wstring getDimensionName
1280 (DimensionHandle theHandle)
1282 InvalidDimensionHandle,
1283 FederateNotExecutionMember,
1287 virtual
unsigned long getDimensionUpperBound
1288 (DimensionHandle theHandle)
1290 InvalidDimensionHandle,
1291 FederateNotExecutionMember,
1295 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute
1296 (ObjectClassHandle theClass,
1297 AttributeHandle theHandle)
1299 InvalidObjectClassHandle,
1300 InvalidAttributeHandle,
1301 AttributeNotDefined,
1302 FederateNotExecutionMember,
1306 virtual ObjectClassHandle getKnownObjectClassHandle
1307 (ObjectInstanceHandle theObject)
1309 ObjectInstanceNotKnown,
1310 FederateNotExecutionMember,
1314 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass
1315 (InteractionClassHandle theClass)
1317 InvalidInteractionClassHandle,
1318 FederateNotExecutionMember,
1322 virtual TransportationType getTransportationType
1323 (std::wstring const & transportationName)
1325 InvalidTransportationName,
1326 FederateNotExecutionMember,
1330 virtual std::wstring getTransportationName
1331 (TransportationType transportationType)
1333 InvalidTransportationType,
1334 FederateNotExecutionMember,
1338 virtual OrderType getOrderType
1339 (std::wstring const & orderName)
1342 FederateNotExecutionMember,
1346 virtual std::wstring getOrderName
1347 (OrderType orderType)
1350 FederateNotExecutionMember,
1354 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1356 ObjectClassRelevanceAdvisorySwitchIsOn,
1357 FederateNotExecutionMember,
1363 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1365 ObjectClassRelevanceAdvisorySwitchIsOff,
1366 FederateNotExecutionMember,
1372 virtual
void enableAttributeRelevanceAdvisorySwitch ()
1374 AttributeRelevanceAdvisorySwitchIsOn,
1375 FederateNotExecutionMember,
1381 virtual
void disableAttributeRelevanceAdvisorySwitch ()
1383 AttributeRelevanceAdvisorySwitchIsOff,
1384 FederateNotExecutionMember,
1390 virtual
void enableAttributeScopeAdvisorySwitch ()
1392 AttributeScopeAdvisorySwitchIsOn,
1393 FederateNotExecutionMember,
1399 virtual
void disableAttributeScopeAdvisorySwitch ()
1401 AttributeScopeAdvisorySwitchIsOff,
1402 FederateNotExecutionMember,
1408 virtual
void enableInteractionRelevanceAdvisorySwitch ()
1410 InteractionRelevanceAdvisorySwitchIsOn,
1411 FederateNotExecutionMember,
1417 virtual
void disableInteractionRelevanceAdvisorySwitch ()
1419 InteractionRelevanceAdvisorySwitchIsOff,
1420 FederateNotExecutionMember,
1426 virtual DimensionHandleSet getDimensionHandleSet
1427 (RegionHandle theRegionHandle)
1430 FederateNotExecutionMember,
1436 virtual RangeBounds getRangeBounds
1437 (RegionHandle theRegionHandle,
1438 DimensionHandle theDimensionHandle)
1441 RegionDoesNotContainSpecifiedDimension,
1442 FederateNotExecutionMember,
1448 virtual
void setRangeBounds
1449 (RegionHandle theRegionHandle,
1450 DimensionHandle theDimensionHandle,
1451 RangeBounds const & theRangeBounds)
1454 RegionNotCreatedByThisFederate,
1455 RegionDoesNotContainSpecifiedDimension,
1457 FederateNotExecutionMember,
1463 virtual
unsigned long normalizeFederateHandle
1464 (FederateHandle theFederateHandle)
1466 FederateNotExecutionMember,
1470 virtual
unsigned long normalizeServiceGroup
1471 (ServiceGroupIndicator theServiceGroup)
1473 FederateNotExecutionMember,
1474 InvalidServiceGroup,
1478 virtual
bool evokeCallback(
double approximateMinimumTimeInSeconds)
1480 FederateNotExecutionMember,
1484 virtual
bool evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
1485 double approximateMaximumTimeInSeconds)
1487 FederateNotExecutionMember,
1491 virtual
void enableCallbacks ()
1493 FederateNotExecutionMember,
1499 virtual
void disableCallbacks ()
1501 FederateNotExecutionMember,
1506 virtual FederateHandle decodeFederateHandle(
1507 VariableLengthData const & encodedValue) const;
1509 virtual ObjectClassHandle decodeObjectClassHandle(
1510 VariableLengthData const & encodedValue) const;
1512 virtual InteractionClassHandle decodeInteractionClassHandle(
1513 VariableLengthData const & encodedValue) const;
1515 virtual ObjectInstanceHandle decodeObjectInstanceHandle(
1516 VariableLengthData const & encodedValue) const;
1518 virtual AttributeHandle decodeAttributeHandle(
1519 VariableLengthData const & encodedValue) const;
1521 virtual ParameterHandle decodeParameterHandle(
1522 VariableLengthData const & encodedValue) const;
1524 virtual DimensionHandle decodeDimensionHandle(
1525 VariableLengthData const & encodedValue) const;
1527 virtual MessageRetractionHandle decodeMessageRetractionHandle(
1528 VariableLengthData const & encodedValue) const;
1530 virtual RegionHandle decodeRegionHandle(
1531 VariableLengthData const & encodedValue) const;
1536 static DtVrlRtiAmbassador* create(const std::vector<std::wstring>&);
1541 virtual
bool lockServiceCall() const;
1544 virtual
void unlockServiceCall() const;
1547 virtual
bool enterServiceCall() const;
1550 virtual
void exitServiceCall() const;
1553 DtServerRtiAmbassador* self() const;
1559 std::auto_ptr<RTIambassador> myRtiAmb;
1562 DtServerExerciseConnection* myServerExerciseConnection;
1565 FederateAmbassador* myFedAmb;
1568 std::vector<std::wstring> myCreateArgs;