8 #ifdef DtIFSPEC1516_2025
37 typedef DtRtiAmbassadorImplementor* (*DtRtiAmbassadorImplementorCreator)
48 virtual ~DtRtiAmbassadorImplementor();
53 DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor
const& );
56 DtRtiAmbassadorImplementor&
operator= (DtRtiAmbassadorImplementor
const& );
86 virtual void disconnect();
104 virtual void createFederationExecution(
105 std::wstring
const& federationName,
106 std::wstring
const& fomModule,
107 std::wstring
const& logicalTimeImplementationName = L
"");
121 virtual void createFederationExecution(
122 std::wstring
const& federationName,
123 std::vector<std::wstring>
const& fomModules,
124 std::wstring
const& logicalTimeImplementationName = L
"");
141 virtual void createFederationExecutionWithMIM(
142 std::wstring
const& federationName,
143 std::vector<std::wstring>
const& fomModules,
144 std::wstring
const& mimModule,
145 std::wstring
const& logicalTimeImplementationName = L
"");
155 virtual void destroyFederationExecution(
156 std::wstring
const& federationName);
163 virtual void listFederationExecutions();
170 virtual void listFederationExecutionMembers(std::wstring
const& federationName);
188 virtual rti1516_2025::FederateHandle joinFederationExecution(
189 std::wstring
const& federateName,
190 std::wstring
const& federateType,
191 std::wstring
const& federationExecutionName,
192 std::vector<std::wstring>
const& additionalFomModules,
193 unsigned long flags);
205 virtual void resignFederationExecution(
216 virtual void registerFederationSynchronizationPoint(
217 std::wstring
const& synchronizationPointLabel,
229 virtual void registerFederationSynchronizationPoint(
230 std::wstring
const& synchronizationPointLabel,
243 virtual void synchronizationPointAchieved(
244 std::wstring
const& synchronizationPointLabel,
245 bool successfully =
true);
255 virtual void requestFederationSave(
256 std::wstring
const& label);
269 virtual void requestFederationSave(
270 std::wstring
const& label,
281 virtual void federateSaveBegun();
291 virtual void federateSaveComplete();
301 virtual void federateSaveNotComplete();
310 virtual void abortFederationSave();
319 virtual void queryFederationSaveStatus();
329 virtual void requestFederationRestore(
330 std::wstring
const& label);
340 virtual void federateRestoreComplete();
350 virtual void federateRestoreNotComplete();
359 virtual void abortFederationRestore();
368 virtual void queryFederationRestoreStatus();
384 virtual void publishObjectClassAttributes(
385 rti1516_2025::ObjectClassHandle
const& objectClass,
398 virtual void unpublishObjectClass(
399 rti1516_2025::ObjectClassHandle
const& objectClass);
412 virtual void unpublishObjectClassAttributes(
413 rti1516_2025::ObjectClassHandle
const& objectClass,
425 virtual void publishInteractionClass(
426 rti1516_2025::InteractionClassHandle
const& interactionClass);
437 virtual void unpublishInteractionClass(
438 rti1516_2025::InteractionClassHandle
const& interactionClass);
450 virtual void publishObjectClassDirectedInteractions(
451 rti1516_2025::ObjectClassHandle
const& objectClass,
463 virtual void unpublishObjectClassDirectedInteractions(
464 rti1516_2025::ObjectClassHandle
const& objectClass);
476 virtual void unpublishObjectClassDirectedInteractions(
477 rti1516_2025::ObjectClassHandle
const& objectClass,
490 virtual void subscribeObjectClassAttributes(
491 rti1516_2025::ObjectClassHandle
const& objectClass,
494 std::wstring
const& updateRateDesignator = L
"");
505 virtual void unsubscribeObjectClass(
506 rti1516_2025::ObjectClassHandle
const& objectClass);
518 virtual void unsubscribeObjectClassAttributes(
519 rti1516_2025::ObjectClassHandle
const& objectClass,
532 virtual void subscribeInteractionClass(
533 rti1516_2025::InteractionClassHandle
const& interactionClass,
545 virtual void unsubscribeInteractionClass(
546 rti1516_2025::InteractionClassHandle
const& interactionClass);
558 virtual void subscribeObjectClassDirectedInteractions(
559 rti1516_2025::ObjectClassHandle
const& objectClass,
561 bool universally =
false);
572 virtual void unsubscribeObjectClassDirectedInteractions(
573 rti1516_2025::ObjectClassHandle
const& objectClass);
585 virtual void unsubscribeObjectClassDirectedInteractions(
586 rti1516_2025::ObjectClassHandle
const& objectClass,
603 virtual void reserveObjectInstanceName(
604 std::wstring
const& objectInstanceName);
615 virtual void releaseObjectInstanceName(
616 std::wstring
const& objectInstanceName);
628 virtual void reserveMultipleObjectInstanceNames(
629 std::set<std::wstring>
const& objectInstanceNames);
640 virtual void releaseMultipleObjectInstanceNames(
641 std::set<std::wstring>
const& objectInstanceNames);
653 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
654 rti1516_2025::ObjectClassHandle
const& objectClass);
668 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
669 rti1516_2025::ObjectClassHandle
const& objectClass,
670 std::wstring
const& objectInstanceName);
683 virtual void updateAttributeValues(
684 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
700 virtual rti1516_2025::MessageRetractionHandle updateAttributeValues(
701 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
717 virtual void sendInteraction(
718 rti1516_2025::InteractionClassHandle
const& interactionClass,
734 virtual rti1516_2025::MessageRetractionHandle sendInteraction(
735 rti1516_2025::InteractionClassHandle
const& interactionClass,
752 virtual void sendDirectedInteraction(
753 rti1516_2025::InteractionClassHandle
const& interactionClass,
754 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
771 virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
772 rti1516_2025::InteractionClassHandle
const& interactionClass,
773 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
788 virtual void deleteObjectInstance(
789 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
803 virtual rti1516_2025::MessageRetractionHandle deleteObjectInstance(
804 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
819 virtual void localDeleteObjectInstance(
820 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
832 virtual void requestAttributeValueUpdate(
833 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
847 virtual void requestAttributeValueUpdate(
848 rti1516_2025::ObjectClassHandle
const& objectClass,
865 virtual void requestAttributeTransportationTypeChange(
866 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
868 rti1516_2025::TransportationTypeHandle
const& transportationType);
882 virtual void changeDefaultAttributeTransportationType(
883 rti1516_2025::ObjectClassHandle
const& objectClass,
885 rti1516_2025::TransportationTypeHandle
const& transportationType);
897 virtual void queryAttributeTransportationType(
898 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
899 rti1516_2025::AttributeHandle
const& attribute);
913 virtual void requestInteractionTransportationTypeChange(
914 rti1516_2025::InteractionClassHandle
const& interactionClass,
915 rti1516_2025::TransportationTypeHandle
const& transportationType);
926 virtual void queryInteractionTransportationType(
927 rti1516_2025::FederateHandle
const& federate,
928 rti1516_2025::InteractionClassHandle
const& interactionClass);
946 virtual void unconditionalAttributeOwnershipDivestiture(
947 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
963 virtual void negotiatedAttributeOwnershipDivestiture(
964 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
981 virtual void confirmDivestiture(
982 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
999 virtual void attributeOwnershipAcquisition(
1000 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1018 virtual void attributeOwnershipAcquisitionIfAvailable(
1019 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1034 virtual void attributeOwnershipReleaseDenied(
1035 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1050 virtual void attributeOwnershipDivestitureIfWanted(
1051 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1068 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
1069 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1084 virtual void cancelAttributeOwnershipAcquisition(
1085 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1098 virtual void queryAttributeOwnership(
1099 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1112 virtual bool isAttributeOwnedByFederate(
1113 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1114 rti1516_2025::AttributeHandle
const& attribute);
1132 virtual void enableTimeRegulation(
1144 virtual void disableTimeRegulation();
1157 virtual void enableTimeConstrained();
1168 virtual void disableTimeConstrained();
1183 virtual void timeAdvanceRequest(
1199 virtual void timeAdvanceRequestAvailable(
1215 virtual void nextMessageRequest(
1231 virtual void nextMessageRequestAvailable(
1247 virtual void flushQueueRequest(
1259 virtual void enableAsynchronousDelivery();
1270 virtual void disableAsynchronousDelivery();
1313 virtual void modifyLookahead(
1338 virtual void retract(
1339 rti1516_2025::MessageRetractionHandle
const& retraction);
1352 virtual void changeAttributeOrderType(
1353 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1367 virtual void changeDefaultAttributeOrderType(
1368 rti1516_2025::ObjectClassHandle
const& objectClass,
1382 virtual void changeInteractionOrderType(
1383 rti1516_2025::InteractionClassHandle
const& interactionClass,
1399 virtual rti1516_2025::RegionHandle createRegion(
1412 virtual void commitRegionModifications(
1426 virtual void deleteRegion(
1427 rti1516_2025::RegionHandle
const& region);
1444 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1445 rti1516_2025::ObjectClassHandle
const& objectClass,
1465 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1466 rti1516_2025::ObjectClassHandle
const& objectClass,
1468 std::wstring
const& objectInstanceName);
1483 virtual void associateRegionsForUpdates(
1484 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1499 virtual void unassociateRegionsForUpdates(
1500 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1516 virtual void subscribeObjectClassAttributesWithRegions(
1517 rti1516_2025::ObjectClassHandle
const& objectClass,
1520 std::wstring
const& updateRateDesignator = L
"");
1535 virtual void unsubscribeObjectClassAttributesWithRegions(
1536 rti1516_2025::ObjectClassHandle
const& objectClass,
1552 virtual void subscribeInteractionClassWithRegions(
1553 rti1516_2025::InteractionClassHandle
const& interactionClass,
1555 bool active =
true);
1570 virtual void unsubscribeInteractionClassWithRegions(
1571 rti1516_2025::InteractionClassHandle
const& interactionClass,
1588 virtual void sendInteractionWithRegions(
1589 rti1516_2025::InteractionClassHandle
const& interactionClass,
1609 virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1610 rti1516_2025::InteractionClassHandle
const& interactionClass,
1629 virtual void requestAttributeValueUpdateWithRegions(
1630 rti1516_2025::ObjectClassHandle
const& objectClass,
1645 virtual rti1516_2025::FederateHandle getFederateHandle(
1646 std::wstring
const& federateName);
1656 virtual std::wstring getFederateName(
1657 rti1516_2025::FederateHandle
const& federate);
1666 virtual rti1516_2025::ObjectClassHandle getObjectClassHandle(
1667 std::wstring
const& objectClassName);
1676 virtual std::wstring getObjectClassName(
1677 rti1516_2025::ObjectClassHandle
const& objectClass);
1686 virtual rti1516_2025::ObjectClassHandle getKnownObjectClassHandle(
1687 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1696 virtual rti1516_2025::ObjectInstanceHandle getObjectInstanceHandle(
1697 std::wstring
const& objectInstanceName);
1706 virtual std::wstring getObjectInstanceName(
1707 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1717 virtual rti1516_2025::AttributeHandle getAttributeHandle(
1718 rti1516_2025::ObjectClassHandle
const& objectClass,
1719 std::wstring
const& attributeName);
1730 virtual std::wstring getAttributeName(
1731 rti1516_2025::ObjectClassHandle
const& objectClass,
1732 rti1516_2025::AttributeHandle
const& attribute);
1741 virtual double getUpdateRateValue(
1742 std::wstring
const& updateRateDesignator);
1752 virtual double getUpdateRateValueForAttribute(
1753 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1754 rti1516_2025::AttributeHandle
const& attribute);
1763 virtual rti1516_2025::InteractionClassHandle getInteractionClassHandle(
1764 std::wstring
const& interactionClassName);
1773 virtual std::wstring getInteractionClassName(
1774 rti1516_2025::InteractionClassHandle
const& interactionClass);
1784 virtual rti1516_2025::ParameterHandle getParameterHandle(
1785 rti1516_2025::InteractionClassHandle
const& interactionClass,
1786 std::wstring
const& parameterName);
1797 virtual std::wstring getParameterName(
1798 rti1516_2025::InteractionClassHandle
const& interactionClass,
1799 rti1516_2025::ParameterHandle
const& parameter);
1809 std::wstring
const& orderTypeName);
1818 virtual std::wstring getOrderName(
1828 virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1829 std::wstring
const& transportationTypeName);
1838 virtual std::wstring getTransportationTypeName(
1839 rti1516_2025::TransportationTypeHandle
const& transportationType);
1849 rti1516_2025::ObjectClassHandle
const& objectClass);
1859 rti1516_2025::InteractionClassHandle
const& interactionClass);
1868 virtual rti1516_2025::DimensionHandle getDimensionHandle(
1869 std::wstring
const& dimensionName);
1878 virtual std::wstring getDimensionName(
1879 rti1516_2025::DimensionHandle
const& dimension);
1888 virtual unsigned long getDimensionUpperBound(
1889 rti1516_2025::DimensionHandle
const& dimension);
1901 rti1516_2025::RegionHandle
const& region);
1914 rti1516_2025::RegionHandle
const& region,
1915 rti1516_2025::DimensionHandle
const& dimension);
1929 virtual void setRangeBounds(
1930 rti1516_2025::RegionHandle
const& region,
1931 rti1516_2025::DimensionHandle
const& dimension,
1941 virtual unsigned long normalizeServiceGroup(
1951 virtual unsigned long normalizeFederateHandle(
1952 rti1516_2025::FederateHandle
const& federate);
1961 virtual unsigned long normalizeObjectClassHandle(
1962 rti1516_2025::ObjectClassHandle
const& objectClass);
1971 virtual unsigned long normalizeInteractionClassHandle(
1972 rti1516_2025::InteractionClassHandle
const& interactionClass);
1981 virtual unsigned long normalizeObjectInstanceHandle(
1982 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1992 virtual bool getObjectClassRelevanceAdvisorySwitch()
const;
2002 virtual void setObjectClassRelevanceAdvisorySwitch(
bool switchValue);
2012 virtual bool getAttributeRelevanceAdvisorySwitch()
const;
2022 virtual void setAttributeRelevanceAdvisorySwitch(
bool switchValue);
2032 virtual bool getAttributeScopeAdvisorySwitch()
const;
2042 virtual void setAttributeScopeAdvisorySwitch(
bool switchValue);
2052 virtual bool getInteractionRelevanceAdvisorySwitch()
const;
2062 virtual void setInteractionRelevanceAdvisorySwitch(
bool switchValue);
2072 virtual bool getConveyRegionDesignatorSetsSwitch()
const;
2082 virtual void setConveyRegionDesignatorSetsSwitch(
bool switchValue);
2103 virtual void setAutomaticResignDirective(
2114 virtual bool getServiceReportingSwitch()
const;
2125 virtual void setServiceReportingSwitch(
bool switchValue);
2135 virtual bool getExceptionReportingSwitch()
const;
2145 virtual void setExceptionReportingSwitch(
bool switchValue);
2155 virtual bool getSendServiceReportsToFileSwitch()
const;
2165 virtual void setSendServiceReportsToFileSwitch(
bool switchValue);
2175 virtual bool getAutoProvideSwitch()
const;
2185 virtual bool getDelaySubscriptionEvaluationSwitch()
const;
2195 virtual bool getAdvisoriesUseKnownClassSwitch()
const;
2205 virtual bool getAllowRelaxedDDMSwitch()
const;
2215 virtual bool getNonRegulatedGrantSwitch()
const;
2222 virtual bool evokeCallback(
2223 double approximateMinimumTimeInSeconds,
2224 bool unlockWhileWaiting =
false);
2231 virtual bool evokeMultipleCallbacks(
2232 double approximateMinimumTimeInSeconds,
2233 double approximateMaximumTimeInSeconds,
2234 bool unlockWhileWaiting =
false);
2242 virtual void enableCallbacks();
2250 virtual void disableCallbacks();
2255 virtual DtRtiApiUniquePtr<rti1516_2025::LogicalTimeFactory> getTimeFactory()
const;
2258 virtual rti1516_2025::FederateHandle decodeFederateHandle(
2261 virtual rti1516_2025::ObjectClassHandle decodeObjectClassHandle(
2264 virtual rti1516_2025::InteractionClassHandle decodeInteractionClassHandle(
2267 virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2270 virtual rti1516_2025::AttributeHandle decodeAttributeHandle(
2273 virtual rti1516_2025::ParameterHandle decodeParameterHandle(
2276 virtual rti1516_2025::DimensionHandle decodeDimensionHandle(
2279 virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2282 virtual rti1516_2025::RegionHandle decodeRegionHandle(
2299 static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
2306 virtual bool makeInternalHandle(rti1516_2025::ObjectClassHandle
const& objectClassHandle,
DtObjectClassHandle& objectClass,
2322 virtual void throwNotJoined(
const MAKRti::DtString & errorMessage)
const;
2325 virtual DtRtiAmbassadorImplementor*
self()
const;
2341 bool myThrowCallNotAllowedFromWithinCallback;
2346 static DtRtiAmbassadorImplementorCreator theCreator;
2347 static rti1516_2025::TransportationTypeHandle theReliable;
2348 static rti1516_2025::TransportationTypeHandle theBestEffort;
2353 inline DtRtiAmbassadorImplementor* DtRtiAmbassadorImplementor::self()
const
2355 return const_cast<DtRtiAmbassadorImplementor*
>(
this);
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:33
Definition: LogicalTime.h:30
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:29
A convenience header provided for developers that would like to include everything all at once...
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:50
virtual void throwNotJoined(const MAKRti::DtString &errorMessage) const =0
Throw an RTI not joined exception.
OrderType
Definition: Enums.h:28
DtAsynchronousIOModeEnum
0 == no Async IO 1 == Asynchronous IO, (same as old parameter RTI_asynchronousIO ) 2 == Asynchronous ...
Definition: RIDparams.h:111
Definition: Typedefs.h:62
bool myCallbacksEnabled
Indicates callbacks enabled status.
Definition: ambImpBase.h:252
ServiceGroup
Definition: Enums.h:81
CallbackModel
Definition: Enums.h:22
DtRtiAmbassadorBaseImplementor & operator=(const DtRtiAmbassadorBaseImplementor &)
Assignment not implemented – Assignment Not Allowed!
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:52
virtual void throwInternalError(const MAKRti::DtString &errorMessage) const =0
Throw an RTI internal exception.
Definition: RTIambassador.h:33
Definition: RangeBounds.h:15
An abstract base class which must be implemented, and used by a federate.
Definition: FederateAmbassador.h:26
std::set< InteractionClassHandle > InteractionClassHandleSet
Definition: Typedefs.h:30
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:39
Definition: Credentials.h:17
Definition: RtiConfiguration.h:17
std::set< DtInteractionClassHandle > DtInteractionClassHandleStdSet
Definition: internalTypes.h:53
virtual void throwNotConnected(const MAKRti::DtString &errorMessage) const =0
Throw an RTI not connected exception (internal for 1.3 & 1516)
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
The declaration of internal types.
Definition: VariableLengthData.h:28
Definition: LogicalTimeInterval.h:30
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:44
ResignAction
Definition: Enums.h:34
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:32
Contains the DtRtiAmbassadorBaseImplementor class declaration.
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:34