11 #ifdef DtIFSPEC1516_2025
16 #include <RTI/RTIambassador.h>
17 #include <vlutil/vlPrint.h>
20 class DtRtiAmbassadorImplementor;
23 class DT_DLL_LRC DtRTIambassador :
public rti1516_2025::RTIambassador
30 virtual ~DtRTIambassador ();
45 virtual rti1516_2025::ConfigurationResult connect(
46 rti1516_2025::FederateAmbassador& federateAmbassador,
58 virtual rti1516_2025::ConfigurationResult connect(
59 rti1516_2025::FederateAmbassador& federateAmbassador,
61 rti1516_2025::RtiConfiguration const& configuration);
73 virtual rti1516_2025::ConfigurationResult connect(
74 rti1516_2025::FederateAmbassador& federateAmbassador,
76 rti1516_2025::Credentials const& credentials);
88 virtual rti1516_2025::ConfigurationResult connect(
89 rti1516_2025::FederateAmbassador& federateAmbassador,
91 rti1516_2025::RtiConfiguration const& configuration,
92 rti1516_2025::Credentials const& credentials);
100 virtual
void disconnect();
119 std::wstring const& federationName,
120 std::wstring const& fomModule,
121 std::wstring const& logicalTimeImplementationName = L"");
136 std::wstring const& federationName,
137 std::vector<std::wstring> const& fomModules,
138 std::wstring const& logicalTimeImplementationName = L"");
155 virtual
void createFederationExecutionWithMIM(
156 std::wstring const& federationName,
157 std::vector<std::wstring> const& fomModules,
158 std::wstring const& mimModule,
159 std::wstring const& logicalTimeImplementationName = L"");
170 std::wstring const& federationName);
177 virtual
void listFederationExecutions();
184 virtual
void listFederationExecutionMembers(std::wstring const& federationName);
204 std::wstring const& federateType,
205 std::wstring const& federationName,
206 std::vector<std::wstring> const& additionalFomModules = std::vector<std::wstring>());
225 std::wstring const& federateName,
226 std::wstring const& federateType,
227 std::wstring const& federationName,
228 std::vector<std::wstring> const& additionalFomModules = std::vector<std::wstring>());
252 std::wstring const& synchronizationPointLabel,
253 rti1516_2025::VariableLengthData const& userSuppliedTag);
265 std::wstring const& synchronizationPointLabel,
266 rti1516_2025::VariableLengthData const& userSuppliedTag,
267 rti1516_2025::FederateHandleSet const& synchronizationSet);
279 std::wstring const& synchronizationPointLabel,
280 bool successfully = true);
291 std::wstring const& label);
305 std::wstring const& label,
306 rti1516_2025::LogicalTime const& time);
345 virtual
void abortFederationSave();
354 virtual
void queryFederationSaveStatus();
365 std::wstring const& label);
394 virtual
void abortFederationRestore();
403 virtual
void queryFederationRestoreStatus();
419 virtual
void publishObjectClassAttributes(
421 rti1516_2025::AttributeHandleSet const& attributes);
447 virtual
void unpublishObjectClassAttributes(
449 rti1516_2025::AttributeHandleSet const& attributes);
485 virtual
void publishObjectClassDirectedInteractions(
487 rti1516_2025::InteractionClassHandleSet const& interactionClasses);
498 virtual
void unpublishObjectClassDirectedInteractions(
511 virtual
void unpublishObjectClassDirectedInteractions(
513 rti1516_2025::InteractionClassHandleSet const& interactionClasses);
527 rti1516_2025::AttributeHandleSet const& attributes,
529 std::wstring const& updateRateDesignator = L"");
553 virtual
void unsubscribeObjectClassAttributes(
555 rti1516_2025::AttributeHandleSet const& attributes);
593 virtual
void subscribeObjectClassDirectedInteractions(
595 rti1516_2025::InteractionClassHandleSet const& interactionClasses,
596 bool universally = false);
607 virtual
void unsubscribeObjectClassDirectedInteractions(
620 virtual
void unsubscribeObjectClassDirectedInteractions(
622 rti1516_2025::InteractionClassHandleSet const& interactionClasses);
637 virtual
void reserveObjectInstanceName(
638 std::wstring const& objectInstanceName);
649 virtual
void releaseObjectInstanceName(
650 std::wstring const& objectInstanceName);
662 virtual
void reserveMultipleObjectInstanceNames(
663 std::set<std::wstring> const& objectInstanceNames);
674 virtual
void releaseMultipleObjectInstanceNames(
675 std::set<std::wstring> const& objectInstanceNames);
704 std::wstring const& objectInstanceName);
718 rti1516_2025::ObjectInstanceHandle const& objectInstance,
719 rti1516_2025::AttributeHandleValueMap const& attributeValues,
720 rti1516_2025::VariableLengthData const& userSuppliedTag);
735 rti1516_2025::ObjectInstanceHandle const& objectInstance,
736 rti1516_2025::AttributeHandleValueMap const& attributeValues,
737 rti1516_2025::VariableLengthData const& userSuppliedTag,
738 rti1516_2025::LogicalTime const& time);
753 rti1516_2025::ParameterHandleValueMap const& parameterValues,
754 rti1516_2025::VariableLengthData const& userSuppliedTag);
770 rti1516_2025::ParameterHandleValueMap const& parameterValues,
771 rti1516_2025::VariableLengthData const& userSuppliedTag,
772 rti1516_2025::LogicalTime const& time);
786 virtual
void sendDirectedInteraction(
788 rti1516_2025::ObjectInstanceHandle const& objectInstance,
789 rti1516_2025::ParameterHandleValueMap const& parameterValues,
790 rti1516_2025::VariableLengthData const& userSuppliedTag);
805 virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
807 rti1516_2025::ObjectInstanceHandle const& objectInstance,
808 rti1516_2025::ParameterHandleValueMap const& parameterValues,
809 rti1516_2025::VariableLengthData const& userSuppliedTag,
810 rti1516_2025::LogicalTime const& time);
823 rti1516_2025::ObjectInstanceHandle const& objectInstance,
824 rti1516_2025::VariableLengthData const& userSuppliedTag);
838 rti1516_2025::ObjectInstanceHandle const& objectInstance,
839 rti1516_2025::VariableLengthData const& userSuppliedTag,
840 rti1516_2025::LogicalTime const& time);
854 rti1516_2025::ObjectInstanceHandle const& objectInstance);
866 virtual
void requestAttributeValueUpdate(
867 rti1516_2025::ObjectInstanceHandle const& objectInstance,
868 rti1516_2025::AttributeHandleSet const& attributes,
869 rti1516_2025::VariableLengthData const& userSuppliedTag);
881 virtual
void requestAttributeValueUpdate(
883 rti1516_2025::AttributeHandleSet const& attributes,
884 rti1516_2025::VariableLengthData const& userSuppliedTag);
899 virtual
void requestAttributeTransportationTypeChange(
900 rti1516_2025::ObjectInstanceHandle const& objectInstance,
901 rti1516_2025::AttributeHandleSet const& attributes,
902 rti1516_2025::TransportationTypeHandle const& transportationType);
916 virtual
void changeDefaultAttributeTransportationType(
918 rti1516_2025::AttributeHandleSet const& attributes,
919 rti1516_2025::TransportationTypeHandle const& transportationType);
931 virtual
void queryAttributeTransportationType(
932 rti1516_2025::ObjectInstanceHandle const& objectInstance,
947 virtual
void requestInteractionTransportationTypeChange(
949 rti1516_2025::TransportationTypeHandle const& transportationType);
960 virtual
void queryInteractionTransportationType(
980 rti1516_2025::ObjectInstanceHandle const& objectInstance,
981 rti1516_2025::AttributeHandleSet const& attributes,
982 rti1516_2025::VariableLengthData const& userSuppliedTag);
997 rti1516_2025::ObjectInstanceHandle const& objectInstance,
998 rti1516_2025::AttributeHandleSet const& attributes,
999 rti1516_2025::VariableLengthData const& userSuppliedTag);
1014 virtual
void confirmDivestiture(
1015 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1016 rti1516_2025::AttributeHandleSet const& confirmedAttributes,
1017 rti1516_2025::VariableLengthData const& userSuppliedTag);
1033 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1034 rti1516_2025::AttributeHandleSet const& desiredAttributes,
1035 rti1516_2025::VariableLengthData const& userSuppliedTag);
1052 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1053 rti1516_2025::AttributeHandleSet const& desiredAttributes,
1054 rti1516_2025::VariableLengthData const& userSuppliedTag);
1067 virtual
void attributeOwnershipReleaseDenied(
1068 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1069 rti1516_2025::AttributeHandleSet const& attributes,
1070 rti1516_2025::VariableLengthData const& userSuppliedTag);
1083 virtual
void attributeOwnershipDivestitureIfWanted(
1084 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1085 rti1516_2025::AttributeHandleSet const& attributes,
1086 rti1516_2025::VariableLengthData const& userSuppliedTag,
1087 rti1516_2025::AttributeHandleSet& divestedAttributes);
1102 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1103 rti1516_2025::AttributeHandleSet const& attributes);
1118 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1119 rti1516_2025::AttributeHandleSet const& attributes);
1132 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1133 rti1516_2025::AttributeHandleSet const& attributes);
1146 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1166 rti1516_2025::LogicalTimeInterval const& lookahead);
1217 rti1516_2025::LogicalTime const& time);
1233 rti1516_2025::LogicalTime const& time);
1248 virtual
void nextMessageRequest(
1249 rti1516_2025::LogicalTime const& time);
1264 virtual
void nextMessageRequestAvailable(
1265 rti1516_2025::LogicalTime const& time);
1281 rti1516_2025::LogicalTime const& time);
1313 virtual
bool queryGALT(rti1516_2025::LogicalTime& time);
1323 virtual
void queryLogicalTime(rti1516_2025::LogicalTime& time);
1333 virtual
bool queryLITS(rti1516_2025::LogicalTime& time);
1347 rti1516_2025::LogicalTimeInterval const& lookahead);
1358 virtual
void queryLookahead(rti1516_2025::LogicalTimeInterval& interval);
1372 rti1516_2025::MessageRetractionHandle const& retraction);
1386 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1387 rti1516_2025::AttributeHandleSet const& attributes,
1400 virtual
void changeDefaultAttributeOrderType(
1402 rti1516_2025::AttributeHandleSet const& attributes,
1433 rti1516_2025::DimensionHandleSet const& dimensions);
1445 virtual
void commitRegionModifications(
1446 rti1516_2025::RegionHandleSet const& regions);
1460 rti1516_2025::RegionHandle const& region);
1477 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1479 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1498 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1500 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1501 std::wstring const& objectInstanceName);
1516 virtual
void associateRegionsForUpdates(
1517 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1518 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1532 virtual
void unassociateRegionsForUpdates(
1533 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1534 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1549 virtual
void subscribeObjectClassAttributesWithRegions(
1551 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1553 std::wstring const& updateRateDesignator = L"");
1568 virtual
void unsubscribeObjectClassAttributesWithRegions(
1570 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1585 virtual
void subscribeInteractionClassWithRegions(
1587 rti1516_2025::RegionHandleSet const& regions,
1588 bool active = true);
1603 virtual
void unsubscribeInteractionClassWithRegions(
1605 rti1516_2025::RegionHandleSet const& regions);
1621 virtual
void sendInteractionWithRegions(
1623 rti1516_2025::ParameterHandleValueMap const& parameterValues,
1624 rti1516_2025::RegionHandleSet const& regions,
1625 rti1516_2025::VariableLengthData const& userSuppliedTag);
1642 virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1644 rti1516_2025::ParameterHandleValueMap const& parameterValues,
1645 rti1516_2025::RegionHandleSet const& regions,
1646 rti1516_2025::VariableLengthData const& userSuppliedTag,
1647 rti1516_2025::LogicalTime const& time);
1662 virtual
void requestAttributeValueUpdateWithRegions(
1664 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions,
1665 rti1516_2025::VariableLengthData const& userSuppliedTag);
1679 std::wstring const& federateName);
1689 virtual std::wstring getFederateName(
1700 std::wstring const& objectClassName);
1720 rti1516_2025::ObjectInstanceHandle const& objectInstance);
1730 std::wstring const& objectInstanceName);
1740 rti1516_2025::ObjectInstanceHandle const& objectInstance);
1752 std::wstring const& attributeName);
1774 virtual
double getUpdateRateValue(
1775 std::wstring const& updateRateDesignator);
1785 virtual
double getUpdateRateValueForAttribute(
1786 rti1516_2025::ObjectInstanceHandle const& objectInstance,
1797 std::wstring const& interactionClassName);
1819 std::wstring const& parameterName);
1841 virtual rti1516_2025::
OrderType getOrderType(
1842 std::wstring const& orderTypeName);
1851 virtual std::wstring getOrderName(
1861 virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1862 std::wstring const& transportationTypeName);
1871 virtual std::wstring getTransportationTypeName(
1872 rti1516_2025::TransportationTypeHandle const& transportationType);
1881 virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForObjectClass(
1891 virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForInteractionClass(
1902 std::wstring const& dimensionName);
1921 virtual
unsigned long getDimensionUpperBound(
1933 virtual rti1516_2025::DimensionHandleSet getDimensionHandleSet(
1934 rti1516_2025::RegionHandle const& region);
1946 virtual rti1516_2025::RangeBounds getRangeBounds(
1947 rti1516_2025::RegionHandle const& region,
1962 virtual
void setRangeBounds(
1963 rti1516_2025::RegionHandle const& region,
1965 rti1516_2025::RangeBounds const& rangeBounds);
1974 virtual
unsigned long normalizeServiceGroup(
1984 virtual
unsigned long normalizeFederateHandle(
1994 virtual
unsigned long normalizeObjectClassHandle(
2004 virtual
unsigned long normalizeInteractionClassHandle(
2014 virtual
unsigned long normalizeObjectInstanceHandle(
2015 rti1516_2025::ObjectInstanceHandle const& objectInstance);
2025 virtual
bool getObjectClassRelevanceAdvisorySwitch() const;
2035 virtual
void setObjectClassRelevanceAdvisorySwitch(
bool switchValue);
2045 virtual
bool getAttributeRelevanceAdvisorySwitch() const;
2055 virtual
void setAttributeRelevanceAdvisorySwitch(
bool switchValue);
2065 virtual
bool getAttributeScopeAdvisorySwitch() const;
2075 virtual
void setAttributeScopeAdvisorySwitch(
bool switchValue);
2085 virtual
bool getInteractionRelevanceAdvisorySwitch() const;
2095 virtual
void setInteractionRelevanceAdvisorySwitch(
bool switchValue);
2105 virtual
bool getConveyRegionDesignatorSetsSwitch() const;
2115 virtual
void setConveyRegionDesignatorSetsSwitch(
bool switchValue);
2125 virtual rti1516_2025::
ResignAction getAutomaticResignDirective();
2136 virtual
void setAutomaticResignDirective(
2147 virtual
bool getServiceReportingSwitch() const;
2158 virtual
void setServiceReportingSwitch(
bool switchValue);
2168 virtual
bool getExceptionReportingSwitch() const;
2178 virtual
void setExceptionReportingSwitch(
bool switchValue);
2188 virtual
bool getSendServiceReportsToFileSwitch() const;
2198 virtual
void setSendServiceReportsToFileSwitch(
bool switchValue);
2208 virtual
bool getAutoProvideSwitch() const;
2218 virtual
bool getDelaySubscriptionEvaluationSwitch() const;
2228 virtual
bool getAdvisoriesUseKnownClassSwitch() const;
2238 virtual
bool getAllowRelaxedDDMSwitch() const;
2248 virtual
bool getNonRegulatedGrantSwitch() const;
2255 virtual
bool evokeCallback(
2256 double approximateMinimumTimeInSeconds);
2263 virtual
bool evokeMultipleCallbacks(
2264 double approximateMinimumTimeInSeconds,
2265 double approximateMaximumTimeInSeconds);
2273 virtual
void enableCallbacks();
2281 virtual
void disableCallbacks();
2292 virtual std::unique_ptr<rti1516_2025::LogicalTimeFactory> getTimeFactory() const;
2304 rti1516_2025::VariableLengthData const& encodedValue) const;
2313 rti1516_2025::VariableLengthData const& encodedValue) const;
2322 rti1516_2025::VariableLengthData const& encodedValue) const;
2330 virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2331 rti1516_2025::VariableLengthData const& encodedValue) const;
2340 rti1516_2025::VariableLengthData const& encodedValue) const;
2349 rti1516_2025::VariableLengthData const& encodedValue) const;
2358 rti1516_2025::VariableLengthData const& encodedValue) const;
2366 virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2367 rti1516_2025::VariableLengthData const& encodedValue) const;
2375 virtual rti1516_2025::RegionHandle decodeRegionHandle(
2376 rti1516_2025::VariableLengthData const& encodedValue) const;
2381 virtual DtRtiAmbassadorImplementor* getImplementation();
2394 DtRtiAmbassadorImplementor* myAmbImpl;
virtual void deleteRegion(Region *theRegion)
virtual char * getAttributeName(AttributeHandle theHandle, ObjectClassHandle whichClass)
virtual void federateSaveNotComplete()
OrderType
Definition: datatypes.pb.h:472
virtual ParameterHandle getParameterHandle(const char *theName, InteractionClassHandle whichClass)
virtual void unconditionalAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void attributeOwnershipAcquisition(ObjectHandle theObject, const AttributeHandleSet &desiredAttributes, const char *theTag)
virtual EventRetractionHandle sendInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag)
virtual ObjectHandle registerObjectInstance(ObjectClassHandle theClass, const char *theObject)
virtual void requestFederationRestore(const char *label)
virtual char * getObjectClassName(ObjectClassHandle theHandle)
virtual void disableTimeConstrained()
Definition: ambObsList.h:20
virtual void cancelAttributeOwnershipAcquisition(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void retract(EventRetractionHandle theHandle)
virtual void flushQueueRequest(const FedTime &theTime)
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
virtual void disableTimeRegulation()
virtual EventRetractionHandle updateAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag)
virtual Region * createRegion(SpaceHandle theSpace, ULong numberOfExtents)
virtual char * getParameterName(ParameterHandle theHandle, InteractionClassHandle whichClass)
virtual void queryAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute)
virtual void publishInteractionClass(InteractionClassHandle theInteraction)
virtual void localDeleteObjectInstance(ObjectHandle theObject)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
Handle ParameterHandle
Definition: RTItypes13.h:114
ServiceGroup
Definition: datatypes.pb.h:497
virtual DimensionHandle getDimensionHandle(const char *theName, SpaceHandle whichSpace)
virtual void attributeOwnershipAcquisitionIfAvailable(ObjectHandle theObject, const AttributeHandleSet &desiredAttributes)
virtual void timeAdvanceRequestAvailable(const FedTime &theTime)
virtual void requestFederationSave(const char *label, const FedTime &theTime)
virtual void modifyLookahead(const FedTime &theLookahead)
virtual FederateHandle joinFederationExecution(const char *yourName, const char *executionName, FederateAmbassadorPtr federateAmbassadorReference)
CallbackModel
Definition: datatypes.pb.h:280
virtual char * getInteractionClassName(InteractionClassHandle theHandle)
virtual void negotiatedAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes, const char *theTag)
virtual ObjectHandle getObjectInstanceHandle(const char *theName)
virtual EventRetractionHandle deleteObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag)
virtual void timeAdvanceRequest(const FedTime &theTime)
virtual void resignFederationExecution(ResignAction theAction)
virtual void enableTimeRegulation(const FedTime &theFederateTime, const FedTime &theLookahead)
virtual InteractionClassHandle getInteractionClassHandle(const char *theName)
virtual void changeInteractionOrderType(InteractionClassHandle theClass, OrderingHandle theType)
virtual void federateRestoreComplete()
Handle DimensionHandle
Definition: RTItypes13.h:118
virtual void destroyFederationExecution(const char *executionName)
virtual void registerFederationSynchronizationPoint(const char *label, const char *theTag)
virtual void disableAsynchronousDelivery()
virtual void unpublishObjectClass(ObjectClassHandle theClass)
virtual void unsubscribeInteractionClass(InteractionClassHandle theClass)
virtual void unsubscribeObjectClass(ObjectClassHandle theClass)
virtual void unpublishInteractionClass(InteractionClassHandle theInteraction)
virtual void queryLookahead(FedTime &theTime)
virtual void federateRestoreNotComplete()
virtual void createFederationExecution(const char *executionName, const char *FED)
ResignAction
Definition: datatypes.pb.h:305
virtual void cancelNegotiatedAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void federateSaveBegun()
ULong FederateHandle
Definition: RTItypes13.h:120
virtual char * getDimensionName(DimensionHandle theHandle, SpaceHandle whichSpace)
virtual char * getObjectInstanceName(ObjectHandle theHandle)
virtual void synchronizationPointAchieved(const char *label)
virtual Boolean isAttributeOwnedByFederate(ObjectHandle theObject, AttributeHandle theAttribute)
virtual void subscribeObjectClassAttributes(ObjectClassHandle theClass, const AttributeHandleSet &attributeList, Boolean active=RTI_TRUE)
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void subscribeInteractionClass(InteractionClassHandle theClass, Boolean active=RTI_TRUE)
virtual void changeAttributeOrderType(ObjectHandle theObject, const AttributeHandleSet &theAttributes, OrderingHandle theType)
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void enableTimeConstrained()
virtual void federateSaveComplete()
virtual void enableAsynchronousDelivery()
virtual AttributeHandle getAttributeHandle(const char *theName, ObjectClassHandle whichClass)
Handle AttributeHandle
Definition: RTItypes13.h:112
virtual ObjectClassHandle getObjectClassHandle(const char *theName)