8 #ifdef DtIFSPEC1516_2025
37 typedef DtRtiAmbassadorImplementor* (*DtRtiAmbassadorImplementorCreator)
48 virtual ~DtRtiAmbassadorImplementor();
53 DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor
const& );
56 DtRtiAmbassadorImplementor&
operator= (DtRtiAmbassadorImplementor
const& );
128 virtual void disconnect();
146 virtual void createFederationExecution(
147 std::wstring
const& federationName,
148 std::wstring
const& fomModule,
149 std::wstring
const& logicalTimeImplementationName = L
"");
163 virtual void createFederationExecution(
164 std::wstring
const& federationName,
165 std::vector<std::wstring>
const& fomModules,
166 std::wstring
const& logicalTimeImplementationName = L
"");
183 virtual void createFederationExecutionWithMIM(
184 std::wstring
const& federationName,
185 std::vector<std::wstring>
const& fomModules,
186 std::wstring
const& mimModule,
187 std::wstring
const& logicalTimeImplementationName = L
"");
197 virtual void destroyFederationExecution(
198 std::wstring
const& federationName);
205 virtual void listFederationExecutions();
212 virtual void listFederationExecutionMembers(std::wstring
const& federationName);
230 virtual rti1516_2025::FederateHandle joinFederationExecution(
231 std::wstring
const& federateType,
232 std::wstring
const& federationName,
233 std::vector<std::wstring>
const& additionalFomModules,
234 unsigned long flags);
253 virtual rti1516_2025::FederateHandle joinFederationExecution(
254 std::wstring
const& federateName,
255 std::wstring
const& federateType,
256 std::wstring
const& federationName,
257 std::vector<std::wstring>
const& additionalFomModules,
258 unsigned long flags);
270 virtual void resignFederationExecution(
281 virtual void registerFederationSynchronizationPoint(
282 std::wstring
const& synchronizationPointLabel,
294 virtual void registerFederationSynchronizationPoint(
295 std::wstring
const& synchronizationPointLabel,
308 virtual void synchronizationPointAchieved(
309 std::wstring
const& synchronizationPointLabel,
310 bool successfully =
true);
320 virtual void requestFederationSave(
321 std::wstring
const& label);
334 virtual void requestFederationSave(
335 std::wstring
const& label,
346 virtual void federateSaveBegun();
356 virtual void federateSaveComplete();
366 virtual void federateSaveNotComplete();
375 virtual void abortFederationSave();
384 virtual void queryFederationSaveStatus();
394 virtual void requestFederationRestore(
395 std::wstring
const& label);
405 virtual void federateRestoreComplete();
415 virtual void federateRestoreNotComplete();
424 virtual void abortFederationRestore();
433 virtual void queryFederationRestoreStatus();
449 virtual void publishObjectClassAttributes(
450 rti1516_2025::ObjectClassHandle
const& objectClass,
463 virtual void unpublishObjectClass(
464 rti1516_2025::ObjectClassHandle
const& objectClass);
477 virtual void unpublishObjectClassAttributes(
478 rti1516_2025::ObjectClassHandle
const& objectClass,
490 virtual void publishInteractionClass(
491 rti1516_2025::InteractionClassHandle
const& interactionClass);
502 virtual void unpublishInteractionClass(
503 rti1516_2025::InteractionClassHandle
const& interactionClass);
515 virtual void publishObjectClassDirectedInteractions(
516 rti1516_2025::ObjectClassHandle
const& objectClass,
528 virtual void unpublishObjectClassDirectedInteractions(
529 rti1516_2025::ObjectClassHandle
const& objectClass);
541 virtual void unpublishObjectClassDirectedInteractions(
542 rti1516_2025::ObjectClassHandle
const& objectClass,
555 virtual void subscribeObjectClassAttributes(
556 rti1516_2025::ObjectClassHandle
const& objectClass,
559 std::wstring
const& updateRateDesignator = L
"");
570 virtual void unsubscribeObjectClass(
571 rti1516_2025::ObjectClassHandle
const& objectClass);
583 virtual void unsubscribeObjectClassAttributes(
584 rti1516_2025::ObjectClassHandle
const& objectClass,
597 virtual void subscribeInteractionClass(
598 rti1516_2025::InteractionClassHandle
const& interactionClass,
610 virtual void unsubscribeInteractionClass(
611 rti1516_2025::InteractionClassHandle
const& interactionClass);
623 virtual void subscribeObjectClassDirectedInteractions(
624 rti1516_2025::ObjectClassHandle
const& objectClass,
626 bool universally =
false);
637 virtual void unsubscribeObjectClassDirectedInteractions(
638 rti1516_2025::ObjectClassHandle
const& objectClass);
650 virtual void unsubscribeObjectClassDirectedInteractions(
651 rti1516_2025::ObjectClassHandle
const& objectClass,
667 virtual void reserveObjectInstanceName(
668 std::wstring
const& objectInstanceName);
679 virtual void releaseObjectInstanceName(
680 std::wstring
const& objectInstanceName);
692 virtual void reserveMultipleObjectInstanceNames(
693 std::set<std::wstring>
const& objectInstanceNames);
704 virtual void releaseMultipleObjectInstanceNames(
705 std::set<std::wstring>
const& objectInstanceNames);
717 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
718 rti1516_2025::ObjectClassHandle
const& objectClass);
732 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
733 rti1516_2025::ObjectClassHandle
const& objectClass,
734 std::wstring
const& objectInstanceName);
747 virtual void updateAttributeValues(
748 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
764 virtual rti1516_2025::MessageRetractionHandle updateAttributeValues(
765 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
781 virtual void sendInteraction(
782 rti1516_2025::InteractionClassHandle
const& interactionClass,
798 virtual rti1516_2025::MessageRetractionHandle sendInteraction(
799 rti1516_2025::InteractionClassHandle
const& interactionClass,
816 virtual void sendDirectedInteraction(
817 rti1516_2025::InteractionClassHandle
const& interactionClass,
818 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
835 virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
836 rti1516_2025::InteractionClassHandle
const& interactionClass,
837 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
852 virtual void deleteObjectInstance(
853 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
867 virtual rti1516_2025::MessageRetractionHandle deleteObjectInstance(
868 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
883 virtual void localDeleteObjectInstance(
884 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
896 virtual void requestAttributeValueUpdate(
897 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
911 virtual void requestAttributeValueUpdate(
912 rti1516_2025::ObjectClassHandle
const& objectClass,
929 virtual void requestAttributeTransportationTypeChange(
930 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
932 rti1516_2025::TransportationTypeHandle
const& transportationType);
945 virtual void changeDefaultAttributeTransportationType(
946 rti1516_2025::ObjectClassHandle
const& objectClass,
948 rti1516_2025::TransportationTypeHandle
const& transportationType);
960 virtual void queryAttributeTransportationType(
961 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
962 rti1516_2025::AttributeHandle
const& attribute);
976 virtual void requestInteractionTransportationTypeChange(
977 rti1516_2025::InteractionClassHandle
const& interactionClass,
978 rti1516_2025::TransportationTypeHandle
const& transportationType);
989 virtual void queryInteractionTransportationType(
990 rti1516_2025::FederateHandle
const& federate,
991 rti1516_2025::InteractionClassHandle
const& interactionClass);
1009 virtual void unconditionalAttributeOwnershipDivestiture(
1010 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1026 virtual void negotiatedAttributeOwnershipDivestiture(
1027 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1044 virtual void confirmDivestiture(
1045 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1062 virtual void attributeOwnershipAcquisition(
1063 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1081 virtual void attributeOwnershipAcquisitionIfAvailable(
1082 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1097 virtual void attributeOwnershipReleaseDenied(
1098 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1113 virtual void attributeOwnershipDivestitureIfWanted(
1114 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1131 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
1132 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1147 virtual void cancelAttributeOwnershipAcquisition(
1148 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1161 virtual void queryAttributeOwnership(
1162 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1175 virtual bool isAttributeOwnedByFederate(
1176 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1177 rti1516_2025::AttributeHandle
const& attribute);
1195 virtual void enableTimeRegulation(
1207 virtual void disableTimeRegulation();
1220 virtual void enableTimeConstrained();
1231 virtual void disableTimeConstrained();
1246 virtual void timeAdvanceRequest(
1262 virtual void timeAdvanceRequestAvailable(
1278 virtual void nextMessageRequest(
1294 virtual void nextMessageRequestAvailable(
1310 virtual void flushQueueRequest(
1322 virtual void enableAsynchronousDelivery();
1333 virtual void disableAsynchronousDelivery();
1376 virtual void modifyLookahead(
1401 virtual void retract(
1402 rti1516_2025::MessageRetractionHandle
const& retraction);
1415 virtual void changeAttributeOrderType(
1416 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1430 virtual void changeDefaultAttributeOrderType(
1431 rti1516_2025::ObjectClassHandle
const& objectClass,
1445 virtual void changeInteractionOrderType(
1446 rti1516_2025::InteractionClassHandle
const& interactionClass,
1462 virtual rti1516_2025::RegionHandle createRegion(
1475 virtual void commitRegionModifications(
1489 virtual void deleteRegion(
1490 rti1516_2025::RegionHandle
const& region);
1507 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1508 rti1516_2025::ObjectClassHandle
const& objectClass,
1528 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1529 rti1516_2025::ObjectClassHandle
const& objectClass,
1531 std::wstring
const& objectInstanceName);
1546 virtual void associateRegionsForUpdates(
1547 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1562 virtual void unassociateRegionsForUpdates(
1563 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1579 virtual void subscribeObjectClassAttributesWithRegions(
1580 rti1516_2025::ObjectClassHandle
const& objectClass,
1583 std::wstring
const& updateRateDesignator = L
"");
1598 virtual void unsubscribeObjectClassAttributesWithRegions(
1599 rti1516_2025::ObjectClassHandle
const& objectClass,
1615 virtual void subscribeInteractionClassWithRegions(
1616 rti1516_2025::InteractionClassHandle
const& interactionClass,
1618 bool active =
true);
1633 virtual void unsubscribeInteractionClassWithRegions(
1634 rti1516_2025::InteractionClassHandle
const& interactionClass,
1651 virtual void sendInteractionWithRegions(
1652 rti1516_2025::InteractionClassHandle
const& interactionClass,
1672 virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1673 rti1516_2025::InteractionClassHandle
const& interactionClass,
1692 virtual void requestAttributeValueUpdateWithRegions(
1693 rti1516_2025::ObjectClassHandle
const& objectClass,
1708 virtual rti1516_2025::FederateHandle getFederateHandle(
1709 std::wstring
const& federateName);
1719 virtual std::wstring getFederateName(
1720 rti1516_2025::FederateHandle
const& federate);
1729 virtual rti1516_2025::ObjectClassHandle getObjectClassHandle(
1730 std::wstring
const& objectClassName);
1739 virtual std::wstring getObjectClassName(
1740 rti1516_2025::ObjectClassHandle
const& objectClass);
1749 virtual rti1516_2025::ObjectClassHandle getKnownObjectClassHandle(
1750 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1759 virtual rti1516_2025::ObjectInstanceHandle getObjectInstanceHandle(
1760 std::wstring
const& objectInstanceName);
1769 virtual std::wstring getObjectInstanceName(
1770 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1780 virtual rti1516_2025::AttributeHandle getAttributeHandle(
1781 rti1516_2025::ObjectClassHandle
const& objectClass,
1782 std::wstring
const& attributeName);
1793 virtual std::wstring getAttributeName(
1794 rti1516_2025::ObjectClassHandle
const& objectClass,
1795 rti1516_2025::AttributeHandle
const& attribute);
1804 virtual double getUpdateRateValue(
1805 std::wstring
const& updateRateDesignator);
1815 virtual double getUpdateRateValueForAttribute(
1816 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1817 rti1516_2025::AttributeHandle
const& attribute);
1826 virtual rti1516_2025::InteractionClassHandle getInteractionClassHandle(
1827 std::wstring
const& interactionClassName);
1836 virtual std::wstring getInteractionClassName(
1837 rti1516_2025::InteractionClassHandle
const& interactionClass);
1847 virtual rti1516_2025::ParameterHandle getParameterHandle(
1848 rti1516_2025::InteractionClassHandle
const& interactionClass,
1849 std::wstring
const& parameterName);
1860 virtual std::wstring getParameterName(
1861 rti1516_2025::InteractionClassHandle
const& interactionClass,
1862 rti1516_2025::ParameterHandle
const& parameter);
1872 std::wstring
const& orderTypeName);
1881 virtual std::wstring getOrderName(
1891 virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1892 std::wstring
const& transportationTypeName);
1901 virtual std::wstring getTransportationTypeName(
1902 rti1516_2025::TransportationTypeHandle
const& transportationType);
1912 rti1516_2025::ObjectClassHandle
const& objectClass);
1922 rti1516_2025::InteractionClassHandle
const& interactionClass);
1931 virtual rti1516_2025::DimensionHandle getDimensionHandle(
1932 std::wstring
const& dimensionName);
1941 virtual std::wstring getDimensionName(
1942 rti1516_2025::DimensionHandle
const& dimension);
1951 virtual unsigned long getDimensionUpperBound(
1952 rti1516_2025::DimensionHandle
const& dimension);
1964 rti1516_2025::RegionHandle
const& region);
1977 rti1516_2025::RegionHandle
const& region,
1978 rti1516_2025::DimensionHandle
const& dimension);
1992 virtual void setRangeBounds(
1993 rti1516_2025::RegionHandle
const& region,
1994 rti1516_2025::DimensionHandle
const& dimension,
2004 virtual unsigned long normalizeServiceGroup(
2014 virtual unsigned long normalizeFederateHandle(
2015 rti1516_2025::FederateHandle
const& federate);
2024 virtual unsigned long normalizeObjectClassHandle(
2025 rti1516_2025::ObjectClassHandle
const& objectClass);
2034 virtual unsigned long normalizeInteractionClassHandle(
2035 rti1516_2025::InteractionClassHandle
const& interactionClass);
2044 virtual unsigned long normalizeObjectInstanceHandle(
2045 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
2055 virtual bool getObjectClassRelevanceAdvisorySwitch()
const;
2065 virtual void setObjectClassRelevanceAdvisorySwitch(
bool switchValue);
2075 virtual bool getAttributeRelevanceAdvisorySwitch()
const;
2085 virtual void setAttributeRelevanceAdvisorySwitch(
bool switchValue);
2095 virtual bool getAttributeScopeAdvisorySwitch()
const;
2105 virtual void setAttributeScopeAdvisorySwitch(
bool switchValue);
2115 virtual bool getInteractionRelevanceAdvisorySwitch()
const;
2125 virtual void setInteractionRelevanceAdvisorySwitch(
bool switchValue);
2135 virtual bool getConveyRegionDesignatorSetsSwitch()
const;
2145 virtual void setConveyRegionDesignatorSetsSwitch(
bool switchValue);
2166 virtual void setAutomaticResignDirective(
2177 virtual bool getServiceReportingSwitch()
const;
2188 virtual void setServiceReportingSwitch(
bool switchValue);
2198 virtual bool getExceptionReportingSwitch()
const;
2208 virtual void setExceptionReportingSwitch(
bool switchValue);
2218 virtual bool getSendServiceReportsToFileSwitch()
const;
2228 virtual void setSendServiceReportsToFileSwitch(
bool switchValue);
2238 virtual bool getAutoProvideSwitch()
const;
2248 virtual bool getDelaySubscriptionEvaluationSwitch()
const;
2258 virtual bool getAdvisoriesUseKnownClassSwitch()
const;
2268 virtual bool getAllowRelaxedDDMSwitch()
const;
2278 virtual bool getNonRegulatedGrantSwitch()
const;
2285 virtual bool evokeCallback(
2286 double approximateMinimumTimeInSeconds,
2287 bool unlockWhileWaiting =
false);
2294 virtual bool evokeMultipleCallbacks(
2295 double approximateMinimumTimeInSeconds,
2296 double approximateMaximumTimeInSeconds,
2297 bool unlockWhileWaiting =
false);
2305 virtual void enableCallbacks();
2313 virtual void disableCallbacks();
2324 virtual std::unique_ptr<rti1516_2025::LogicalTimeFactory> getTimeFactory()
const;
2335 virtual rti1516_2025::FederateHandle decodeFederateHandle(
2344 virtual rti1516_2025::ObjectClassHandle decodeObjectClassHandle(
2353 virtual rti1516_2025::InteractionClassHandle decodeInteractionClassHandle(
2362 virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2371 virtual rti1516_2025::AttributeHandle decodeAttributeHandle(
2380 virtual rti1516_2025::ParameterHandle decodeParameterHandle(
2389 virtual rti1516_2025::DimensionHandle decodeDimensionHandle(
2398 virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2407 virtual rti1516_2025::RegionHandle decodeRegionHandle(
2424 static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
2438 virtual bool makeInternalHandle(rti1516_2025::ObjectClassHandle
const& objectClassHandle,
DtObjectClassHandle& objectClass,
2454 virtual void throwNotJoined(
const MAKRti::DtString & errorMessage)
const;
2457 virtual DtRtiAmbassadorImplementor*
self()
const;
2473 bool myThrowCallNotAllowedFromWithinCallback;
2478 static DtRtiAmbassadorImplementorCreator theCreator;
2479 static rti1516_2025::TransportationTypeHandle theReliable;
2480 static rti1516_2025::TransportationTypeHandle theBestEffort;
2485 inline DtRtiAmbassadorImplementor* DtRtiAmbassadorImplementor::self()
const
2487 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