14 #include <RTI/RTIambassador.h>
15 #include <vlutil/vlPrint.h>
18 class DtRtiAmbassadorImplementor;
21 using namespace rti1516e;
30 virtual ~DtRTIambassador ();
36 std::wstring const & localSettingsDesignator=L"")
39 InvalidLocalSettingsDesignator,
40 UnsupportedCallbackModel,
42 CallNotAllowedFromWithinCallback,
46 virtual
void disconnect ()
48 FederateIsExecutionMember,
49 CallNotAllowedFromWithinCallback,
54 std::wstring const & federationExecutionName,
55 std::wstring const & fomModule,
56 std::wstring const & logicalTimeImplementationName = L"")
58 CouldNotCreateLogicalTimeFactory,
62 FederationExecutionAlreadyExists,
67 std::wstring const & federationExecutionName,
68 std::vector<std::wstring> const & fomModules,
69 std::wstring const & logicalTimeImplementationName = L"")
71 CouldNotCreateLogicalTimeFactory,
75 FederationExecutionAlreadyExists,
79 virtual
void createFederationExecutionWithMIM (
80 std::wstring const & federationExecutionName,
81 std::vector<std::wstring> const & fomModules,
82 std::wstring const & mimModule,
83 std::wstring const & logicalTimeImplementationName = L"")
85 CouldNotCreateLogicalTimeFactory,
89 DesignatorIsHLAstandardMIM,
92 FederationExecutionAlreadyExists,
98 std::wstring const & federationExecutionName)
100 FederatesCurrentlyJoined,
101 FederationExecutionDoesNotExist,
106 virtual
void listFederationExecutions ()
113 std::wstring const & federateType,
114 std::wstring const & federationExecutionName,
115 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
117 CouldNotCreateLogicalTimeFactory,
118 FederationExecutionDoesNotExist,
124 FederateAlreadyExecutionMember,
126 CallNotAllowedFromWithinCallback,
130 std::wstring const & federateName,
131 std::wstring const & federateType,
132 std::wstring const & federationExecutionName,
133 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>())
135 CouldNotCreateLogicalTimeFactory,
136 FederateNameAlreadyInUse,
137 FederationExecutionDoesNotExist,
143 FederateAlreadyExecutionMember,
145 CallNotAllowedFromWithinCallback,
153 OwnershipAcquisitionPending,
154 FederateOwnsAttributes,
155 FederateNotExecutionMember,
157 CallNotAllowedFromWithinCallback,
162 std::wstring const & label,
167 FederateNotExecutionMember,
172 std::wstring const & label,
176 InvalidFederateHandle,
179 FederateNotExecutionMember,
185 std::wstring const & label,
186 bool successfully =
true)
188 SynchronizationPointLabelNotAnnounced,
191 FederateNotExecutionMember,
197 std::wstring const & label)
201 FederateNotExecutionMember,
206 std::wstring const & label,
209 LogicalTimeAlreadyPassed,
211 FederateUnableToUseTime,
214 FederateNotExecutionMember,
223 FederateNotExecutionMember,
230 FederateHasNotBegunSave,
232 FederateNotExecutionMember,
238 FederateHasNotBegunSave,
240 FederateNotExecutionMember,
245 virtual
void abortFederationSave ()
248 FederateNotExecutionMember,
256 FederateNotExecutionMember,
262 std::wstring const & label)
266 FederateNotExecutionMember,
275 FederateNotExecutionMember,
283 FederateNotExecutionMember,
288 virtual
void abortFederationRestore ()
290 RestoreNotInProgress,
291 FederateNotExecutionMember,
296 virtual
void queryFederationRestoreStatus ()
299 FederateNotExecutionMember,
308 virtual
void publishObjectClassAttributes (
313 ObjectClassNotDefined,
316 FederateNotExecutionMember,
324 OwnershipAcquisitionPending,
325 ObjectClassNotDefined,
328 FederateNotExecutionMember,
332 virtual
void unpublishObjectClassAttributes (
336 OwnershipAcquisitionPending,
338 ObjectClassNotDefined,
341 FederateNotExecutionMember,
349 InteractionClassNotDefined,
352 FederateNotExecutionMember,
360 InteractionClassNotDefined,
363 FederateNotExecutionMember,
372 std::wstring const & updateRateDesignator = L"")
375 ObjectClassNotDefined,
376 InvalidUpdateRateDesignator,
379 FederateNotExecutionMember,
387 ObjectClassNotDefined,
390 FederateNotExecutionMember,
394 virtual
void unsubscribeObjectClassAttributes (
399 ObjectClassNotDefined,
402 FederateNotExecutionMember,
411 FederateServiceInvocationsAreBeingReportedViaMOM,
412 InteractionClassNotDefined,
415 FederateNotExecutionMember,
423 InteractionClassNotDefined,
426 FederateNotExecutionMember,
435 virtual
void reserveObjectInstanceName (
436 std::wstring const & theObjectInstanceName)
441 FederateNotExecutionMember,
446 virtual
void releaseObjectInstanceName (
447 std::wstring const & theObjectInstanceName)
449 ObjectInstanceNameNotReserved,
452 FederateNotExecutionMember,
457 virtual
void reserveMultipleObjectInstanceName (
458 std::set<std::wstring> const & theObjectInstanceNames)
464 FederateNotExecutionMember,
469 virtual
void releaseMultipleObjectInstanceName (
470 std::set<std::wstring> const & theObjectInstanceNames)
472 ObjectInstanceNameNotReserved,
475 FederateNotExecutionMember,
483 ObjectClassNotPublished,
484 ObjectClassNotDefined,
487 FederateNotExecutionMember,
493 std::wstring const & theObjectInstanceName)
495 ObjectInstanceNameInUse,
496 ObjectInstanceNameNotReserved,
497 ObjectClassNotPublished,
498 ObjectClassNotDefined,
501 FederateNotExecutionMember,
507 ObjectInstanceHandle theObject,
513 ObjectInstanceNotKnown,
516 FederateNotExecutionMember,
521 ObjectInstanceHandle theObject,
529 ObjectInstanceNotKnown,
532 FederateNotExecutionMember,
542 InteractionClassNotPublished,
543 InteractionParameterNotDefined,
544 InteractionClassNotDefined,
547 FederateNotExecutionMember,
558 InteractionClassNotPublished,
559 InteractionParameterNotDefined,
560 InteractionClassNotDefined,
563 FederateNotExecutionMember,
569 ObjectInstanceHandle theObject,
572 DeletePrivilegeNotHeld,
573 ObjectInstanceNotKnown,
576 FederateNotExecutionMember,
581 ObjectInstanceHandle theObject,
586 DeletePrivilegeNotHeld,
587 ObjectInstanceNotKnown,
590 FederateNotExecutionMember,
596 ObjectInstanceHandle theObject)
598 OwnershipAcquisitionPending,
599 FederateOwnsAttributes,
600 ObjectInstanceNotKnown,
603 FederateNotExecutionMember,
608 virtual
void requestAttributeValueUpdate (
609 ObjectInstanceHandle theObject,
614 ObjectInstanceNotKnown,
617 FederateNotExecutionMember,
621 virtual
void requestAttributeValueUpdate (
627 ObjectClassNotDefined,
630 FederateNotExecutionMember,
635 virtual
void requestAttributeTransportationTypeChange (
636 ObjectInstanceHandle theObject,
640 AttributeAlreadyBeingChanged,
643 ObjectInstanceNotKnown,
644 InvalidTransportationType,
647 FederateNotExecutionMember,
652 virtual
void queryAttributeTransportationType (
653 ObjectInstanceHandle theObject,
657 ObjectInstanceNotKnown,
660 FederateNotExecutionMember,
665 virtual
void requestInteractionTransportationTypeChange (
669 InteractionClassAlreadyBeingChanged,
670 InteractionClassNotPublished,
671 InteractionClassNotDefined,
672 InvalidTransportationType,
675 FederateNotExecutionMember,
680 virtual
void queryInteractionTransportationType (
684 InteractionClassNotDefined,
687 FederateNotExecutionMember,
698 ObjectInstanceHandle theObject,
703 ObjectInstanceNotKnown,
706 FederateNotExecutionMember,
712 ObjectInstanceHandle theObject,
716 AttributeAlreadyBeingDivested,
719 ObjectInstanceNotKnown,
722 FederateNotExecutionMember,
727 virtual
void confirmDivestiture (
728 ObjectInstanceHandle theObject,
732 NoAcquisitionPending,
733 AttributeDivestitureWasNotRequested,
736 ObjectInstanceNotKnown,
739 FederateNotExecutionMember,
745 ObjectInstanceHandle theObject,
749 AttributeNotPublished,
750 ObjectClassNotPublished,
751 FederateOwnsAttributes,
753 ObjectInstanceNotKnown,
756 FederateNotExecutionMember,
762 ObjectInstanceHandle theObject,
765 AttributeAlreadyBeingAcquired,
766 AttributeNotPublished,
767 ObjectClassNotPublished,
768 FederateOwnsAttributes,
770 ObjectInstanceNotKnown,
773 FederateNotExecutionMember,
778 virtual
void attributeOwnershipReleaseDenied (
779 ObjectInstanceHandle theObject,
784 ObjectInstanceNotKnown,
787 FederateNotExecutionMember,
792 virtual
void attributeOwnershipDivestitureIfWanted (
793 ObjectInstanceHandle theObject,
799 ObjectInstanceNotKnown,
802 FederateNotExecutionMember,
808 ObjectInstanceHandle theObject,
811 AttributeDivestitureWasNotRequested,
814 ObjectInstanceNotKnown,
817 FederateNotExecutionMember,
823 ObjectInstanceHandle theObject,
826 AttributeAcquisitionWasNotRequested,
827 AttributeAlreadyOwned,
829 ObjectInstanceNotKnown,
832 FederateNotExecutionMember,
838 ObjectInstanceHandle theObject,
842 ObjectInstanceNotKnown,
845 FederateNotExecutionMember,
851 ObjectInstanceHandle theObject,
855 ObjectInstanceNotKnown,
858 FederateNotExecutionMember,
871 InTimeAdvancingState,
872 RequestForTimeRegulationPending,
873 TimeRegulationAlreadyEnabled,
876 FederateNotExecutionMember,
883 TimeRegulationIsNotEnabled,
886 FederateNotExecutionMember,
893 InTimeAdvancingState,
894 RequestForTimeConstrainedPending,
895 TimeConstrainedAlreadyEnabled,
898 FederateNotExecutionMember,
905 TimeConstrainedIsNotEnabled,
908 FederateNotExecutionMember,
916 LogicalTimeAlreadyPassed,
918 InTimeAdvancingState,
919 RequestForTimeRegulationPending,
920 RequestForTimeConstrainedPending,
923 FederateNotExecutionMember,
931 LogicalTimeAlreadyPassed,
933 InTimeAdvancingState,
934 RequestForTimeRegulationPending,
935 RequestForTimeConstrainedPending,
938 FederateNotExecutionMember,
943 virtual
void nextMessageRequest (
946 LogicalTimeAlreadyPassed,
948 InTimeAdvancingState,
949 RequestForTimeRegulationPending,
950 RequestForTimeConstrainedPending,
953 FederateNotExecutionMember,
958 virtual
void nextMessageRequestAvailable (
961 LogicalTimeAlreadyPassed,
963 InTimeAdvancingState,
964 RequestForTimeRegulationPending,
965 RequestForTimeConstrainedPending,
968 FederateNotExecutionMember,
976 LogicalTimeAlreadyPassed,
978 InTimeAdvancingState,
979 RequestForTimeRegulationPending,
980 RequestForTimeConstrainedPending,
983 FederateNotExecutionMember,
990 AsynchronousDeliveryAlreadyEnabled,
993 FederateNotExecutionMember,
1000 AsynchronousDeliveryAlreadyDisabled,
1003 FederateNotExecutionMember,
1012 FederateNotExecutionMember,
1017 virtual
void queryLogicalTime (
LogicalTime & theTime)
1021 FederateNotExecutionMember,
1030 FederateNotExecutionMember,
1039 InTimeAdvancingState,
1040 TimeRegulationIsNotEnabled,
1043 FederateNotExecutionMember,
1050 TimeRegulationIsNotEnabled,
1053 FederateNotExecutionMember,
1059 MessageRetractionHandle theHandle)
1061 MessageCanNoLongerBeRetracted,
1062 InvalidMessageRetractionHandle,
1063 TimeRegulationIsNotEnabled,
1066 FederateNotExecutionMember,
1072 ObjectInstanceHandle theObject,
1077 AttributeNotDefined,
1078 ObjectInstanceNotKnown,
1081 FederateNotExecutionMember,
1090 InteractionClassNotPublished,
1091 InteractionClassNotDefined,
1094 FederateNotExecutionMember,
1106 InvalidDimensionHandle,
1109 FederateNotExecutionMember,
1114 virtual
void commitRegionModifications (
1117 RegionNotCreatedByThisFederate,
1121 FederateNotExecutionMember,
1127 RegionHandle const & theRegion)
1129 RegionInUseForUpdateOrSubscription,
1130 RegionNotCreatedByThisFederate,
1134 FederateNotExecutionMember,
1139 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1142 theAttributeHandleSetRegionHandleSetPairVector)
1144 InvalidRegionContext,
1145 RegionNotCreatedByThisFederate,
1147 AttributeNotPublished,
1148 ObjectClassNotPublished,
1149 AttributeNotDefined,
1150 ObjectClassNotDefined,
1153 FederateNotExecutionMember,
1157 virtual ObjectInstanceHandle registerObjectInstanceWithRegions (
1160 theAttributeHandleSetRegionHandleSetPairVector,
1161 std::wstring const & theObjectInstanceName)
1163 ObjectInstanceNameInUse,
1164 ObjectInstanceNameNotReserved,
1165 InvalidRegionContext,
1166 RegionNotCreatedByThisFederate,
1168 AttributeNotPublished,
1169 ObjectClassNotPublished,
1170 AttributeNotDefined,
1171 ObjectClassNotDefined,
1174 FederateNotExecutionMember,
1179 virtual
void associateRegionsForUpdates (
1180 ObjectInstanceHandle theObject,
1182 theAttributeHandleSetRegionHandleSetPairVector)
1184 InvalidRegionContext,
1185 RegionNotCreatedByThisFederate,
1187 AttributeNotDefined,
1188 ObjectInstanceNotKnown,
1191 FederateNotExecutionMember,
1196 virtual
void unassociateRegionsForUpdates (
1197 ObjectInstanceHandle theObject,
1199 theAttributeHandleSetRegionHandleSetPairVector)
1201 RegionNotCreatedByThisFederate,
1203 AttributeNotDefined,
1204 ObjectInstanceNotKnown,
1207 FederateNotExecutionMember,
1212 virtual
void subscribeObjectClassAttributesWithRegions (
1215 theAttributeHandleSetRegionHandleSetPairVector,
1217 std::wstring const & updateRateDesignator = L"")
1219 InvalidRegionContext,
1220 RegionNotCreatedByThisFederate,
1222 AttributeNotDefined,
1223 ObjectClassNotDefined,
1224 InvalidUpdateRateDesignator,
1227 FederateNotExecutionMember,
1233 virtual
void unsubscribeObjectClassAttributesWithRegions (
1236 theAttributeHandleSetRegionHandleSetPairVector)
1238 RegionNotCreatedByThisFederate,
1240 AttributeNotDefined,
1241 ObjectClassNotDefined,
1244 FederateNotExecutionMember,
1249 virtual
void subscribeInteractionClassWithRegions (
1254 FederateServiceInvocationsAreBeingReportedViaMOM,
1255 InvalidRegionContext,
1256 RegionNotCreatedByThisFederate,
1258 InteractionClassNotDefined,
1261 FederateNotExecutionMember,
1266 virtual
void unsubscribeInteractionClassWithRegions (
1270 RegionNotCreatedByThisFederate,
1272 InteractionClassNotDefined,
1275 FederateNotExecutionMember,
1280 virtual
void sendInteractionWithRegions (
1286 InvalidRegionContext,
1287 RegionNotCreatedByThisFederate,
1289 InteractionClassNotPublished,
1290 InteractionParameterNotDefined,
1291 InteractionClassNotDefined,
1294 FederateNotExecutionMember,
1298 virtual MessageRetractionHandle sendInteractionWithRegions (
1306 InvalidRegionContext,
1307 RegionNotCreatedByThisFederate,
1309 InteractionClassNotPublished,
1310 InteractionParameterNotDefined,
1311 InteractionClassNotDefined,
1314 FederateNotExecutionMember,
1319 virtual
void requestAttributeValueUpdateWithRegions (
1324 InvalidRegionContext,
1325 RegionNotCreatedByThisFederate,
1327 AttributeNotDefined,
1328 ObjectClassNotDefined,
1331 FederateNotExecutionMember,
1342 FederateNotExecutionMember,
1347 virtual
void setAutomaticResignDirective (
1350 InvalidResignAction,
1351 FederateNotExecutionMember,
1357 std::wstring const & theName)
1360 FederateNotExecutionMember,
1365 virtual std::wstring getFederateName (
1368 InvalidFederateHandle,
1369 FederateHandleNotKnown,
1370 FederateNotExecutionMember,
1376 std::wstring const & theName)
1379 FederateNotExecutionMember,
1387 InvalidObjectClassHandle,
1388 FederateNotExecutionMember,
1394 ObjectInstanceHandle theObject)
1396 ObjectInstanceNotKnown,
1397 FederateNotExecutionMember,
1403 std::wstring const & theName)
1405 ObjectInstanceNotKnown,
1406 FederateNotExecutionMember,
1412 ObjectInstanceHandle theHandle)
1414 ObjectInstanceNotKnown,
1415 FederateNotExecutionMember,
1422 std::wstring const & theAttributeName)
1425 InvalidObjectClassHandle,
1426 FederateNotExecutionMember,
1435 AttributeNotDefined,
1436 InvalidAttributeHandle,
1437 InvalidObjectClassHandle,
1438 FederateNotExecutionMember,
1443 virtual
double getUpdateRateValue (
1444 std::wstring const & updateRateDesignator)
1446 InvalidUpdateRateDesignator,
1447 FederateNotExecutionMember,
1452 virtual
double getUpdateRateValueForAttribute (
1453 ObjectInstanceHandle theObject,
1456 ObjectInstanceNotKnown,
1457 AttributeNotDefined,
1458 FederateNotExecutionMember,
1464 std::wstring const & theName)
1467 FederateNotExecutionMember,
1475 InvalidInteractionClassHandle,
1476 FederateNotExecutionMember,
1483 std::wstring const & theName)
1486 InvalidInteractionClassHandle,
1487 FederateNotExecutionMember,
1496 InteractionParameterNotDefined,
1497 InvalidParameterHandle,
1498 InvalidInteractionClassHandle,
1499 FederateNotExecutionMember,
1505 std::wstring const & orderName)
1508 FederateNotExecutionMember,
1513 virtual std::wstring getOrderName (
1517 FederateNotExecutionMember,
1523 std::wstring const & transportationName)
1525 InvalidTransportationName,
1526 FederateNotExecutionMember,
1534 InvalidTransportationType,
1535 FederateNotExecutionMember,
1544 AttributeNotDefined,
1545 InvalidAttributeHandle,
1546 InvalidObjectClassHandle,
1547 FederateNotExecutionMember,
1555 InvalidInteractionClassHandle,
1556 FederateNotExecutionMember,
1562 std::wstring const & theName)
1565 FederateNotExecutionMember,
1573 InvalidDimensionHandle,
1574 FederateNotExecutionMember,
1579 virtual
unsigned long getDimensionUpperBound (
1582 InvalidDimensionHandle,
1583 FederateNotExecutionMember,
1589 RegionHandle theRegionHandle)
1594 FederateNotExecutionMember,
1600 RegionHandle theRegionHandle,
1603 RegionDoesNotContainSpecifiedDimension,
1607 FederateNotExecutionMember,
1612 virtual
void setRangeBounds (
1613 RegionHandle theRegionHandle,
1618 RegionDoesNotContainSpecifiedDimension,
1619 RegionNotCreatedByThisFederate,
1623 FederateNotExecutionMember,
1628 virtual
unsigned long normalizeFederateHandle (
1631 InvalidFederateHandle,
1632 FederateNotExecutionMember,
1637 virtual
unsigned long normalizeServiceGroup (
1640 InvalidServiceGroup,
1641 FederateNotExecutionMember,
1646 virtual
void enableObjectClassRelevanceAdvisorySwitch ()
1648 ObjectClassRelevanceAdvisorySwitchIsOn,
1651 FederateNotExecutionMember,
1656 virtual
void disableObjectClassRelevanceAdvisorySwitch ()
1658 ObjectClassRelevanceAdvisorySwitchIsOff,
1661 FederateNotExecutionMember,
1668 AttributeRelevanceAdvisorySwitchIsOn,
1671 FederateNotExecutionMember,
1678 AttributeRelevanceAdvisorySwitchIsOff,
1681 FederateNotExecutionMember,
1688 AttributeScopeAdvisorySwitchIsOn,
1691 FederateNotExecutionMember,
1698 AttributeScopeAdvisorySwitchIsOff,
1701 FederateNotExecutionMember,
1708 InteractionRelevanceAdvisorySwitchIsOn,
1711 FederateNotExecutionMember,
1718 InteractionRelevanceAdvisorySwitchIsOff,
1721 FederateNotExecutionMember,
1726 virtual
bool evokeCallback (
1727 double approximateMinimumTimeInSeconds)
1729 CallNotAllowedFromWithinCallback,
1733 virtual
bool evokeMultipleCallbacks (
1734 double approximateMinimumTimeInSeconds,
1735 double approximateMaximumTimeInSeconds)
1737 CallNotAllowedFromWithinCallback,
1741 virtual
void enableCallbacks ()
1748 virtual
void disableCallbacks ()
1759 FederateNotExecutionMember,
1768 FederateNotExecutionMember,
1776 FederateNotExecutionMember,
1784 FederateNotExecutionMember,
1788 virtual ObjectInstanceHandle decodeObjectInstanceHandle (
1792 FederateNotExecutionMember,
1800 FederateNotExecutionMember,
1808 FederateNotExecutionMember,
1816 FederateNotExecutionMember,
1820 virtual MessageRetractionHandle decodeMessageRetractionHandle (
1824 FederateNotExecutionMember,
1828 virtual RegionHandle decodeRegionHandle (
1832 FederateNotExecutionMember,
1837 virtual DtRtiAmbassadorImplementor* getImplementation();
1850 DtRtiAmbassadorImplementor* myAmbImpl;