35 DtVrlRtiAmbassador(const DtVrlRtiAmbassador& orig);
38 DtVrlRtiAmbassador& operator=(const DtVrlRtiAmbassador& orig);
44 virtual RTI::RTIambassador* rtiAmb();
59 virtual ConfigurationResult
connect(
60 FederateAmbassador& federateAmbassador,
61 CallbackModel callbackModel) = 0;
72 virtual ConfigurationResult
connect(
73 FederateAmbassador& federateAmbassador,
74 CallbackModel callbackModel,
75 RtiConfiguration const& configuration) = 0;
87 virtual ConfigurationResult
connect(
88 FederateAmbassador& federateAmbassador,
89 CallbackModel callbackModel,
90 Credentials const& credentials) = 0;
102 virtual ConfigurationResult
connect(
103 FederateAmbassador& federateAmbassador,
104 CallbackModel callbackModel,
105 RtiConfiguration const& configuration,
106 Credentials const& credentials) = 0;
114 virtual
void disconnect() = 0;
132 virtual
void createFederationExecution(
133 std::wstring const& federationName,
134 std::wstring const& fomModule,
135 std::wstring const& logicalTimeImplementationName = L"") = 0;
149 virtual
void createFederationExecution(
150 std::wstring const& federationName,
151 std::vector<std::wstring> const& fomModules,
152 std::wstring const& logicalTimeImplementationName = L"") = 0;
169 virtual
void createFederationExecutionWithMIM(
170 std::wstring const& federationName,
171 std::vector<std::wstring> const& fomModules,
172 std::wstring const& mimModule,
173 std::wstring const& logicalTimeImplementationName = L"") = 0;
183 virtual
void destroyFederationExecution(
184 std::wstring const& federationName) = 0;
191 virtual
void listFederationExecutions() = 0;
198 virtual
void listFederationExecutionMembers(std::wstring const& federationName) = 0;
216 virtual FederateHandle joinFederationExecution(
217 std::wstring const& federateType,
218 std::wstring const& federationName,
219 std::vector<std::wstring> const& additionalFomModules = std::vector<std::wstring>()) = 0;
238 virtual FederateHandle joinFederationExecution(
239 std::wstring const& federateName,
240 std::wstring const& federateType,
241 std::wstring const& federationName,
242 std::vector<std::wstring> const& additionalFomModules = std::vector<std::wstring>()) = 0;
254 virtual
void resignFederationExecution(
255 ResignAction resignAction) = 0;
265 virtual
void registerFederationSynchronizationPoint(
266 std::wstring const& synchronizationPointLabel,
267 VariableLengthData const& userSuppliedTag) = 0;
278 virtual
void registerFederationSynchronizationPoint(
279 std::wstring const& synchronizationPointLabel,
280 VariableLengthData const& userSuppliedTag,
281 FederateHandleSet const& synchronizationSet) = 0;
292 virtual
void synchronizationPointAchieved(
293 std::wstring const& synchronizationPointLabel,
294 bool successfully = true) = 0;
304 virtual
void requestFederationSave(
305 std::wstring const& label) = 0;
318 virtual
void requestFederationSave(
319 std::wstring const& label,
330 virtual
void federateSaveBegun() = 0;
340 virtual
void federateSaveComplete() = 0;
350 virtual
void federateSaveNotComplete() = 0;
359 virtual
void abortFederationSave() = 0;
368 virtual
void queryFederationSaveStatus() = 0;
378 virtual
void requestFederationRestore(
379 std::wstring const& label) = 0;
389 virtual
void federateRestoreComplete() = 0;
399 virtual
void federateRestoreNotComplete() = 0;
408 virtual
void abortFederationRestore() = 0;
417 virtual
void queryFederationRestoreStatus() = 0;
433 virtual
void publishObjectClassAttributes(
434 ObjectClassHandle const& objectClass,
435 AttributeHandleSet const& attributes) = 0;
447 virtual
void unpublishObjectClass(
448 ObjectClassHandle const& objectClass) = 0;
461 virtual
void unpublishObjectClassAttributes(
462 ObjectClassHandle const& objectClass,
463 AttributeHandleSet const& attributes) = 0;
474 virtual
void publishInteractionClass(
475 InteractionClassHandle const& interactionClass) = 0;
486 virtual
void unpublishInteractionClass(
487 InteractionClassHandle const& interactionClass) = 0;
499 virtual
void publishObjectClassDirectedInteractions(
500 ObjectClassHandle const& objectClass,
501 InteractionClassHandleSet const& interactionClasses) = 0;
512 virtual
void unpublishObjectClassDirectedInteractions(
513 ObjectClassHandle const& objectClass) = 0;
525 virtual
void unpublishObjectClassDirectedInteractions(
526 ObjectClassHandle const& objectClass,
527 InteractionClassHandleSet const& interactionClasses) = 0;
539 virtual
void subscribeObjectClassAttributes(
540 ObjectClassHandle const& objectClass,
541 AttributeHandleSet const& attributes,
543 std::wstring const& updateRateDesignator = L"") = 0;
554 virtual
void unsubscribeObjectClass(
555 ObjectClassHandle const& objectClass) = 0;
567 virtual
void unsubscribeObjectClassAttributes(
568 ObjectClassHandle const& objectClass,
569 AttributeHandleSet const& attributes) = 0;
581 virtual
void subscribeInteractionClass(
582 InteractionClassHandle const& interactionClass,
583 bool active = true) = 0;
594 virtual
void unsubscribeInteractionClass(
595 InteractionClassHandle const& interactionClass) = 0;
607 virtual
void subscribeObjectClassDirectedInteractions(
608 ObjectClassHandle const& objectClass,
609 InteractionClassHandleSet const& interactionClasses,
610 bool universally = false) = 0;
621 virtual
void unsubscribeObjectClassDirectedInteractions(
622 ObjectClassHandle const& objectClass) = 0;
634 virtual
void unsubscribeObjectClassDirectedInteractions(
635 ObjectClassHandle const& objectClass,
636 InteractionClassHandleSet const& interactionClasses) = 0;
651 virtual
void reserveObjectInstanceName(
652 std::wstring const& objectInstanceName) = 0;
663 virtual
void releaseObjectInstanceName(
664 std::wstring const& objectInstanceName) = 0;
676 virtual
void reserveMultipleObjectInstanceNames(
677 std::set<std::wstring> const& objectInstanceNames) = 0;
688 virtual
void releaseMultipleObjectInstanceNames(
689 std::set<std::wstring> const& objectInstanceNames) = 0;
701 virtual ObjectInstanceHandle registerObjectInstance(
702 ObjectClassHandle const& objectClass) = 0;
716 virtual ObjectInstanceHandle registerObjectInstance(
717 ObjectClassHandle const& objectClass,
718 std::wstring const& objectInstanceName) = 0;
731 virtual
void updateAttributeValues(
732 ObjectInstanceHandle const& objectInstance,
733 AttributeHandleValueMap const& attributeValues,
734 VariableLengthData const& userSuppliedTag) = 0;
748 virtual MessageRetractionHandle updateAttributeValues(
749 ObjectInstanceHandle const& objectInstance,
750 AttributeHandleValueMap const& attributeValues,
751 VariableLengthData const& userSuppliedTag,
765 virtual
void sendInteraction(
766 InteractionClassHandle const& interactionClass,
767 ParameterHandleValueMap const& parameterValues,
768 VariableLengthData const& userSuppliedTag) = 0;
782 virtual MessageRetractionHandle sendInteraction(
783 InteractionClassHandle const& interactionClass,
784 ParameterHandleValueMap const& parameterValues,
785 VariableLengthData const& userSuppliedTag,
800 virtual
void sendDirectedInteraction(
801 InteractionClassHandle const& interactionClass,
802 ObjectInstanceHandle const& objectInstance,
803 ParameterHandleValueMap const& parameterValues,
804 VariableLengthData const& userSuppliedTag) = 0;
819 virtual MessageRetractionHandle sendDirectedInteraction(
820 InteractionClassHandle const& interactionClass,
821 ObjectInstanceHandle const& objectInstance,
822 ParameterHandleValueMap const& parameterValues,
823 VariableLengthData const& userSuppliedTag,
836 virtual
void deleteObjectInstance(
837 ObjectInstanceHandle const& objectInstance,
838 VariableLengthData const& userSuppliedTag) = 0;
851 virtual MessageRetractionHandle deleteObjectInstance(
852 ObjectInstanceHandle const& objectInstance,
853 VariableLengthData const& userSuppliedTag,
867 virtual
void localDeleteObjectInstance(
868 ObjectInstanceHandle const& objectInstance) = 0;
880 virtual
void requestAttributeValueUpdate(
881 ObjectInstanceHandle const& objectInstance,
882 AttributeHandleSet const& attributes,
883 VariableLengthData const& userSuppliedTag) = 0;
895 virtual
void requestAttributeValueUpdate(
896 ObjectClassHandle const& objectClass,
897 AttributeHandleSet const& attributes,
898 VariableLengthData const& userSuppliedTag) = 0;
913 virtual
void requestAttributeTransportationTypeChange(
914 ObjectInstanceHandle const& objectInstance,
915 AttributeHandleSet const& attributes,
916 TransportationTypeHandle const& transportationType) = 0;
929 virtual
void changeDefaultAttributeTransportationType(
930 ObjectClassHandle const& objectClass,
931 AttributeHandleSet const& attributes,
932 TransportationTypeHandle const& transportationType) = 0;
944 virtual
void queryAttributeTransportationType(
945 ObjectInstanceHandle const& objectInstance,
946 AttributeHandle const& attribute) = 0;
960 virtual
void requestInteractionTransportationTypeChange(
961 InteractionClassHandle const& interactionClass,
962 TransportationTypeHandle const& transportationType) = 0;
973 virtual
void queryInteractionTransportationType(
974 FederateHandle const& federate,
975 InteractionClassHandle const& interactionClass) = 0;
993 virtual
void unconditionalAttributeOwnershipDivestiture(
994 ObjectInstanceHandle const& objectInstance,
995 AttributeHandleSet const& attributes,
996 VariableLengthData const& userSuppliedTag) = 0;
1010 virtual
void negotiatedAttributeOwnershipDivestiture(
1011 ObjectInstanceHandle const& objectInstance,
1012 AttributeHandleSet const& attributes,
1013 VariableLengthData const& userSuppliedTag) = 0;
1028 virtual
void confirmDivestiture(
1029 ObjectInstanceHandle const& objectInstance,
1030 AttributeHandleSet const& confirmedAttributes,
1031 VariableLengthData const& userSuppliedTag) = 0;
1046 virtual
void attributeOwnershipAcquisition(
1047 ObjectInstanceHandle const& objectInstance,
1048 AttributeHandleSet const& desiredAttributes,
1049 VariableLengthData const& userSuppliedTag) = 0;
1065 virtual
void attributeOwnershipAcquisitionIfAvailable(
1066 ObjectInstanceHandle const& objectInstance,
1067 AttributeHandleSet const& desiredAttributes,
1068 VariableLengthData const& userSuppliedTag) = 0;
1081 virtual
void attributeOwnershipReleaseDenied(
1082 ObjectInstanceHandle const& objectInstance,
1083 AttributeHandleSet const& attributes,
1084 VariableLengthData const& userSuppliedTag) = 0;
1097 virtual
void attributeOwnershipDivestitureIfWanted(
1098 ObjectInstanceHandle const& objectInstance,
1099 AttributeHandleSet const& attributes,
1100 VariableLengthData const& userSuppliedTag,
1101 AttributeHandleSet& divestedAttributes) = 0;
1115 virtual
void cancelNegotiatedAttributeOwnershipDivestiture(
1116 ObjectInstanceHandle const& objectInstance,
1117 AttributeHandleSet const& attributes) = 0;
1131 virtual
void cancelAttributeOwnershipAcquisition(
1132 ObjectInstanceHandle const& objectInstance,
1133 AttributeHandleSet const& attributes) = 0;
1145 virtual
void queryAttributeOwnership(
1146 ObjectInstanceHandle const& objectInstance,
1147 AttributeHandleSet const& attributes) = 0;
1159 virtual
bool isAttributeOwnedByFederate(
1160 ObjectInstanceHandle const& objectInstance,
1161 AttributeHandle const& attribute) = 0;
1179 virtual
void enableTimeRegulation(
1191 virtual
void disableTimeRegulation() = 0;
1204 virtual
void enableTimeConstrained() = 0;
1215 virtual
void disableTimeConstrained() = 0;
1230 virtual
void timeAdvanceRequest(
1246 virtual
void timeAdvanceRequestAvailable(
1262 virtual
void nextMessageRequest(
1278 virtual
void nextMessageRequestAvailable(
1294 virtual
void flushQueueRequest(
1306 virtual
void enableAsynchronousDelivery() = 0;
1317 virtual
void disableAsynchronousDelivery() = 0;
1337 virtual
void queryLogicalTime(
LogicalTime& time) = 0;
1360 virtual
void modifyLookahead(
1385 virtual
void retract(
1386 MessageRetractionHandle const& retraction) = 0;
1399 virtual
void changeAttributeOrderType(
1400 ObjectInstanceHandle const& objectInstance,
1401 AttributeHandleSet const& attributes,
1402 OrderType orderType) = 0;
1414 virtual
void changeDefaultAttributeOrderType(
1415 ObjectClassHandle const& objectClass,
1416 AttributeHandleSet const& attributes,
1417 OrderType orderType) = 0;
1429 virtual
void changeInteractionOrderType(
1430 InteractionClassHandle const& interactionClass,
1431 OrderType orderType) = 0;
1446 virtual RegionHandle createRegion(
1447 DimensionHandleSet const& dimensions) = 0;
1459 virtual
void commitRegionModifications(
1460 RegionHandleSet const& regions) = 0;
1473 virtual
void deleteRegion(
1474 RegionHandle const& region) = 0;
1491 virtual ObjectInstanceHandle registerObjectInstanceWithRegions(
1492 ObjectClassHandle const& objectClass,
1493 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) = 0;
1512 virtual ObjectInstanceHandle registerObjectInstanceWithRegions(
1513 ObjectClassHandle const& objectClass,
1514 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1515 std::wstring const& objectInstanceName) = 0;
1530 virtual
void associateRegionsForUpdates(
1531 ObjectInstanceHandle const& objectInstance,
1532 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) = 0;
1546 virtual
void unassociateRegionsForUpdates(
1547 ObjectInstanceHandle const& objectInstance,
1548 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) = 0;
1563 virtual
void subscribeObjectClassAttributesWithRegions(
1564 ObjectClassHandle const& objectClass,
1565 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1567 std::wstring const& updateRateDesignator = L"") = 0;
1582 virtual
void unsubscribeObjectClassAttributesWithRegions(
1583 ObjectClassHandle const& objectClass,
1584 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) = 0;
1599 virtual
void subscribeInteractionClassWithRegions(
1600 InteractionClassHandle const& interactionClass,
1601 RegionHandleSet const& regions,
1602 bool active = true) = 0;
1617 virtual
void unsubscribeInteractionClassWithRegions(
1618 InteractionClassHandle const& interactionClass,
1619 RegionHandleSet const& regions) = 0;
1635 virtual
void sendInteractionWithRegions(
1636 InteractionClassHandle const& interactionClass,
1637 ParameterHandleValueMap const& parameterValues,
1638 RegionHandleSet const& regions,
1639 VariableLengthData const& userSuppliedTag) = 0;
1656 virtual MessageRetractionHandle sendInteractionWithRegions(
1657 InteractionClassHandle const& interactionClass,
1658 ParameterHandleValueMap const& parameterValues,
1659 RegionHandleSet const& regions,
1660 VariableLengthData const& userSuppliedTag,
1676 virtual
void requestAttributeValueUpdateWithRegions(
1677 ObjectClassHandle const& objectClass,
1678 AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1679 VariableLengthData const& userSuppliedTag) = 0;
1692 virtual FederateHandle getFederateHandle(
1693 std::wstring const& federateName) = 0;
1703 virtual std::wstring getFederateName(
1704 FederateHandle const& federate) = 0;
1713 virtual ObjectClassHandle getObjectClassHandle(
1714 std::wstring const& objectClassName) = 0;
1723 virtual std::wstring getObjectClassName(
1724 ObjectClassHandle const& objectClass) = 0;
1733 virtual ObjectClassHandle getKnownObjectClassHandle(
1734 ObjectInstanceHandle const& objectInstance) = 0;
1743 virtual ObjectInstanceHandle getObjectInstanceHandle(
1744 std::wstring const& objectInstanceName) = 0;
1753 virtual std::wstring getObjectInstanceName(
1754 ObjectInstanceHandle const& objectInstance) = 0;
1764 virtual AttributeHandle getAttributeHandle(
1765 ObjectClassHandle const& objectClass,
1766 std::wstring const& attributeName) = 0;
1777 virtual std::wstring getAttributeName(
1778 ObjectClassHandle const& objectClass,
1779 AttributeHandle const& attribute) = 0;
1788 virtual
double getUpdateRateValue(
1789 std::wstring const& updateRateDesignator) = 0;
1799 virtual
double getUpdateRateValueForAttribute(
1800 ObjectInstanceHandle const& objectInstance,
1801 AttributeHandle const& attribute) = 0;
1810 virtual InteractionClassHandle getInteractionClassHandle(
1811 std::wstring const& interactionClassName) = 0;
1820 virtual std::wstring getInteractionClassName(
1821 InteractionClassHandle const& interactionClass) = 0;
1831 virtual ParameterHandle getParameterHandle(
1832 InteractionClassHandle const& interactionClass,
1833 std::wstring const& parameterName) = 0;
1844 virtual std::wstring getParameterName(
1845 InteractionClassHandle const& interactionClass,
1846 ParameterHandle const& parameter) = 0;
1855 virtual OrderType getOrderType(
1856 std::wstring const& orderTypeName) = 0;
1865 virtual std::wstring getOrderName(
1866 OrderType orderType) = 0;
1875 virtual TransportationTypeHandle getTransportationTypeHandle(
1876 std::wstring const& transportationTypeName) = 0;
1885 virtual std::wstring getTransportationTypeName(
1886 TransportationTypeHandle const& transportationType) = 0;
1895 virtual DimensionHandleSet getAvailableDimensionsForObjectClass(
1896 ObjectClassHandle const& objectClass) = 0;
1905 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass(
1906 InteractionClassHandle const& interactionClass) = 0;
1915 virtual DimensionHandle getDimensionHandle(
1916 std::wstring const& dimensionName) = 0;
1925 virtual std::wstring getDimensionName(
1926 DimensionHandle const& dimension) = 0;
1935 virtual
unsigned long getDimensionUpperBound(
1936 DimensionHandle const& dimension) = 0;
1947 virtual DimensionHandleSet getDimensionHandleSet(
1948 RegionHandle const& region) = 0;
1960 virtual RangeBounds getRangeBounds(
1961 RegionHandle const& region,
1962 DimensionHandle const& dimension) = 0;
1976 virtual
void setRangeBounds(
1977 RegionHandle const& region,
1978 DimensionHandle const& dimension,
1979 RangeBounds const& rangeBounds) = 0;
1988 virtual
unsigned long normalizeServiceGroup(
1989 ServiceGroup serviceGroup) = 0;
1998 virtual
unsigned long normalizeFederateHandle(
1999 FederateHandle const& federate) = 0;
2008 virtual
unsigned long normalizeObjectClassHandle(
2009 ObjectClassHandle const& objectClass) = 0;
2018 virtual
unsigned long normalizeInteractionClassHandle(
2019 InteractionClassHandle const& interactionClass) = 0;
2028 virtual
unsigned long normalizeObjectInstanceHandle(
2029 ObjectInstanceHandle const& objectInstance) = 0;
2039 virtual
bool getObjectClassRelevanceAdvisorySwitch() const = 0;
2049 virtual
void setObjectClassRelevanceAdvisorySwitch(
bool switchValue) = 0;
2059 virtual
bool getAttributeRelevanceAdvisorySwitch() const = 0;
2069 virtual
void setAttributeRelevanceAdvisorySwitch(
bool switchValue) = 0;
2079 virtual
bool getAttributeScopeAdvisorySwitch() const = 0;
2089 virtual
void setAttributeScopeAdvisorySwitch(
bool switchValue) = 0;
2099 virtual
bool getInteractionRelevanceAdvisorySwitch() const = 0;
2109 virtual
void setInteractionRelevanceAdvisorySwitch(
bool switchValue) = 0;
2119 virtual
bool getConveyRegionDesignatorSetsSwitch() const = 0;
2129 virtual
void setConveyRegionDesignatorSetsSwitch(
bool switchValue) = 0;
2139 virtual ResignAction getAutomaticResignDirective() = 0;
2150 virtual
void setAutomaticResignDirective(
2151 ResignAction resignAction) = 0;
2161 virtual
bool getServiceReportingSwitch() const = 0;
2172 virtual
void setServiceReportingSwitch(
bool switchValue) = 0;
2182 virtual
bool getExceptionReportingSwitch() const = 0;
2192 virtual
void setExceptionReportingSwitch(
bool switchValue) = 0;
2202 virtual
bool getSendServiceReportsToFileSwitch() const = 0;
2212 virtual
void setSendServiceReportsToFileSwitch(
bool switchValue) = 0;
2222 virtual
bool getAutoProvideSwitch() const = 0;
2232 virtual
bool getDelaySubscriptionEvaluationSwitch() const = 0;
2242 virtual
bool getAdvisoriesUseKnownClassSwitch() const = 0;
2252 virtual
bool getAllowRelaxedDDMSwitch() const = 0;
2262 virtual
bool getNonRegulatedGrantSwitch() const = 0;
2269 virtual
bool evokeCallback(
2270 double approximateMinimumTimeInSeconds) = 0;
2277 virtual
bool evokeMultipleCallbacks(
2278 double approximateMinimumTimeInSeconds,
2279 double approximateMaximumTimeInSeconds) = 0;
2287 virtual
void enableCallbacks() = 0;
2295 virtual
void disableCallbacks() = 0;
2306 virtual std::unique_ptr<LogicalTimeFactory> getTimeFactory() const = 0;
2317 virtual FederateHandle decodeFederateHandle(
2318 VariableLengthData const& encodedValue) const = 0;
2326 virtual ObjectClassHandle decodeObjectClassHandle(
2327 VariableLengthData const& encodedValue) const = 0;
2335 virtual InteractionClassHandle decodeInteractionClassHandle(
2336 VariableLengthData const& encodedValue) const = 0;
2344 virtual ObjectInstanceHandle decodeObjectInstanceHandle(
2345 VariableLengthData const& encodedValue) const = 0;
2353 virtual AttributeHandle decodeAttributeHandle(
2354 VariableLengthData const& encodedValue) const = 0;
2362 virtual ParameterHandle decodeParameterHandle(
2363 VariableLengthData const& encodedValue) const = 0;
2371 virtual DimensionHandle decodeDimensionHandle(
2372 VariableLengthData const& encodedValue) const = 0;
2380 virtual MessageRetractionHandle decodeMessageRetractionHandle(
2381 VariableLengthData const& encodedValue) const = 0;
2389 virtual RegionHandle decodeRegionHandle(
2390 VariableLengthData const& encodedValue) const = 0;
2396 static RTI::RTIambassador* create();
2400 std::unique_ptr<RTIambassador> myRtiAmb;
2401 FederateAmbassador *myFedAmb;
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
int connect(int s, const struct sockaddr *name, int namelen)
#define LogicalTime
Definition: hlaLogicalTime.h:18
#define LogicalTimeInterval
Definition: hlaLogicalTimeInterval.h:17
DtVrlRtiAmbassador is a pure virtual class, designed to provide a foundation for different ways to se...
Definition: vrlRtiAmbassador13.h:23
This file contains typedefs for machine dependant types.