MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ambImp1516_2025.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2025 MAK Technologies
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #ifdef DtIFSPEC1516_2025
9 
12 
13 #include <rtiMsConfig.h>
14 #include <rtiApiTypes.h>
15 #include <ambImpBase.h>
16 #include <RIDparams.h>
17 
18 #include <rtiutil/internalTypes.h>
19 
20 #include <RTI/RTI1516.h>
21 
32 class DT_DLL_LRC DtRtiAmbassadorImplementor : public DtRtiAmbassadorBaseImplementor
33 {
34 public:
35 
37  typedef DtRtiAmbassadorImplementor* (*DtRtiAmbassadorImplementorCreator)
38  (rti1516_2025::RTIambassador* topLevelAmbPtr);
39 
40 protected:
41 
43  DtRtiAmbassadorImplementor(rti1516_2025::RTIambassador* topLevelAmbPtr);
44 
45 public:
46 
48  virtual ~DtRtiAmbassadorImplementor();
49 
50 private:
51 
53  DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor const& );
54 
56  DtRtiAmbassadorImplementor& operator= (DtRtiAmbassadorImplementor const& );
57 
58 public:
59 
63 
74  virtual rti1516_2025::ConfigurationResult connect(
75  rti1516_2025::FederateAmbassador& federateAmbassador,
76  rti1516_2025::CallbackModel theCallbackModel,
77  rti1516_2025::RtiConfiguration const* configuration = nullptr,
78  rti1516_2025::Credentials const* credentials = nullptr);
79 
86  virtual void disconnect();
87 
104  virtual void createFederationExecution(
105  std::wstring const& federationName,
106  std::wstring const& fomModule,
107  std::wstring const& logicalTimeImplementationName = L"");
108 
121  virtual void createFederationExecution(
122  std::wstring const& federationName,
123  std::vector<std::wstring> const& fomModules,
124  std::wstring const& logicalTimeImplementationName = L"");
125 
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"");
146 
155  virtual void destroyFederationExecution(
156  std::wstring const& federationName);
157 
163  virtual void listFederationExecutions();
164 
170  virtual void listFederationExecutionMembers(std::wstring const& federationName);
171 
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);
194 
205  virtual void resignFederationExecution(
206  rti1516_2025::ResignAction resignAction);
207 
216  virtual void registerFederationSynchronizationPoint(
217  std::wstring const& synchronizationPointLabel,
218  rti1516_2025::VariableLengthData const& userSuppliedTag);
219 
229  virtual void registerFederationSynchronizationPoint(
230  std::wstring const& synchronizationPointLabel,
231  rti1516_2025::VariableLengthData const& userSuppliedTag,
232  rti1516_2025::FederateHandleSet const& synchronizationSet);
233 
243  virtual void synchronizationPointAchieved(
244  std::wstring const& synchronizationPointLabel,
245  bool successfully = true);
246 
255  virtual void requestFederationSave(
256  std::wstring const& label);
257 
269  virtual void requestFederationSave(
270  std::wstring const& label,
271  rti1516_2025::LogicalTime const& time);
272 
281  virtual void federateSaveBegun();
282 
291  virtual void federateSaveComplete();
292 
301  virtual void federateSaveNotComplete();
302 
310  virtual void abortFederationSave();
311 
319  virtual void queryFederationSaveStatus();
320 
329  virtual void requestFederationRestore(
330  std::wstring const& label);
331 
340  virtual void federateRestoreComplete();
341 
350  virtual void federateRestoreNotComplete();
351 
359  virtual void abortFederationRestore();
360 
368  virtual void queryFederationRestoreStatus();
369 
373 
384  virtual void publishObjectClassAttributes(
385  rti1516_2025::ObjectClassHandle const& objectClass,
386  rti1516_2025::AttributeHandleSet const& attributes);
387 
398  virtual void unpublishObjectClass(
399  rti1516_2025::ObjectClassHandle const& objectClass);
400 
412  virtual void unpublishObjectClassAttributes(
413  rti1516_2025::ObjectClassHandle const& objectClass,
414  rti1516_2025::AttributeHandleSet const& attributes);
415 
425  virtual void publishInteractionClass(
426  rti1516_2025::InteractionClassHandle const& interactionClass);
427 
437  virtual void unpublishInteractionClass(
438  rti1516_2025::InteractionClassHandle const& interactionClass);
439 
450  virtual void publishObjectClassDirectedInteractions(
451  rti1516_2025::ObjectClassHandle const& objectClass,
452  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
453 
463  virtual void unpublishObjectClassDirectedInteractions(
464  rti1516_2025::ObjectClassHandle const& objectClass);
465 
476  virtual void unpublishObjectClassDirectedInteractions(
477  rti1516_2025::ObjectClassHandle const& objectClass,
478  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
479 
490  virtual void subscribeObjectClassAttributes(
491  rti1516_2025::ObjectClassHandle const& objectClass,
492  rti1516_2025::AttributeHandleSet const& attributes,
493  bool active = true,
494  std::wstring const& updateRateDesignator = L"");
495 
505  virtual void unsubscribeObjectClass(
506  rti1516_2025::ObjectClassHandle const& objectClass);
507 
518  virtual void unsubscribeObjectClassAttributes(
519  rti1516_2025::ObjectClassHandle const& objectClass,
520  rti1516_2025::AttributeHandleSet const& attributes);
521 
532  virtual void subscribeInteractionClass(
533  rti1516_2025::InteractionClassHandle const& interactionClass,
534  bool active = true);
535 
545  virtual void unsubscribeInteractionClass(
546  rti1516_2025::InteractionClassHandle const& interactionClass);
547 
558  virtual void subscribeObjectClassDirectedInteractions(
559  rti1516_2025::ObjectClassHandle const& objectClass,
560  rti1516_2025::InteractionClassHandleSet const& interactionClasses,
561  bool universally = false);
562 
572  virtual void unsubscribeObjectClassDirectedInteractions(
573  rti1516_2025::ObjectClassHandle const& objectClass);
574 
585  virtual void unsubscribeObjectClassDirectedInteractions(
586  rti1516_2025::ObjectClassHandle const& objectClass,
587  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
588 
589 
593 
603  virtual void reserveObjectInstanceName(
604  std::wstring const& objectInstanceName);
605 
615  virtual void releaseObjectInstanceName(
616  std::wstring const& objectInstanceName);
617 
628  virtual void reserveMultipleObjectInstanceNames(
629  std::set<std::wstring> const& objectInstanceNames);
630 
640  virtual void releaseMultipleObjectInstanceNames(
641  std::set<std::wstring> const& objectInstanceNames);
642 
653  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
654  rti1516_2025::ObjectClassHandle const& objectClass);
655 
668  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
669  rti1516_2025::ObjectClassHandle const& objectClass,
670  std::wstring const& objectInstanceName);
671 
683  virtual void updateAttributeValues(
684  rti1516_2025::ObjectInstanceHandle const& objectInstance,
685  rti1516_2025::AttributeHandleValueMap const& attributeValues,
686  rti1516_2025::VariableLengthData const& userSuppliedTag);
687 
700  virtual rti1516_2025::MessageRetractionHandle updateAttributeValues(
701  rti1516_2025::ObjectInstanceHandle const& objectInstance,
702  rti1516_2025::AttributeHandleValueMap const& attributeValues,
703  rti1516_2025::VariableLengthData const& userSuppliedTag,
704  rti1516_2025::LogicalTime const& time);
705 
717  virtual void sendInteraction(
718  rti1516_2025::InteractionClassHandle const& interactionClass,
719  rti1516_2025::ParameterHandleValueMap const& parameterValues,
720  rti1516_2025::VariableLengthData const& userSuppliedTag);
721 
734  virtual rti1516_2025::MessageRetractionHandle sendInteraction(
735  rti1516_2025::InteractionClassHandle const& interactionClass,
736  rti1516_2025::ParameterHandleValueMap const& parameterValues,
737  rti1516_2025::VariableLengthData const& userSuppliedTag,
738  rti1516_2025::LogicalTime const& time);
739 
752  virtual void sendDirectedInteraction(
753  rti1516_2025::InteractionClassHandle const& interactionClass,
754  rti1516_2025::ObjectInstanceHandle const& objectInstance,
755  rti1516_2025::ParameterHandleValueMap const& parameterValues,
756  rti1516_2025::VariableLengthData const& userSuppliedTag);
757 
771  virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
772  rti1516_2025::InteractionClassHandle const& interactionClass,
773  rti1516_2025::ObjectInstanceHandle const& objectInstance,
774  rti1516_2025::ParameterHandleValueMap const& parameterValues,
775  rti1516_2025::VariableLengthData const& userSuppliedTag,
776  rti1516_2025::LogicalTime const& time);
777 
788  virtual void deleteObjectInstance(
789  rti1516_2025::ObjectInstanceHandle const& objectInstance,
790  rti1516_2025::VariableLengthData const& userSuppliedTag);
791 
803  virtual rti1516_2025::MessageRetractionHandle deleteObjectInstance(
804  rti1516_2025::ObjectInstanceHandle const& objectInstance,
805  rti1516_2025::VariableLengthData const& userSuppliedTag,
806  rti1516_2025::LogicalTime const& time);
807 
819  virtual void localDeleteObjectInstance(
820  rti1516_2025::ObjectInstanceHandle const& objectInstance);
821 
832  virtual void requestAttributeValueUpdate(
833  rti1516_2025::ObjectInstanceHandle const& objectInstance,
834  rti1516_2025::AttributeHandleSet const& attributes,
835  rti1516_2025::VariableLengthData const& userSuppliedTag);
836 
847  virtual void requestAttributeValueUpdate(
848  rti1516_2025::ObjectClassHandle const& objectClass,
849  rti1516_2025::AttributeHandleSet const& attributes,
850  rti1516_2025::VariableLengthData const& userSuppliedTag);
851 
865  virtual void requestAttributeTransportationTypeChange(
866  rti1516_2025::ObjectInstanceHandle const& objectInstance,
867  rti1516_2025::AttributeHandleSet const& attributes,
868  rti1516_2025::TransportationTypeHandle const& transportationType);
869 
882  virtual void changeDefaultAttributeTransportationType(
883  rti1516_2025::ObjectClassHandle const& objectClass,
884  rti1516_2025::AttributeHandleSet const& attributes,
885  rti1516_2025::TransportationTypeHandle const& transportationType);
886 
897  virtual void queryAttributeTransportationType(
898  rti1516_2025::ObjectInstanceHandle const& objectInstance,
899  rti1516_2025::AttributeHandle const& attribute);
900 
913  virtual void requestInteractionTransportationTypeChange(
914  rti1516_2025::InteractionClassHandle const& interactionClass,
915  rti1516_2025::TransportationTypeHandle const& transportationType);
916 
926  virtual void queryInteractionTransportationType(
927  rti1516_2025::FederateHandle const& federate,
928  rti1516_2025::InteractionClassHandle const& interactionClass);
929 
930 
934 
946  virtual void unconditionalAttributeOwnershipDivestiture(
947  rti1516_2025::ObjectInstanceHandle const& objectInstance,
948  rti1516_2025::AttributeHandleSet const& attributes,
949  rti1516_2025::VariableLengthData const& userSuppliedTag);
950 
963  virtual void negotiatedAttributeOwnershipDivestiture(
964  rti1516_2025::ObjectInstanceHandle const& objectInstance,
965  rti1516_2025::AttributeHandleSet const& attributes,
966  rti1516_2025::VariableLengthData const& userSuppliedTag);
967 
981  virtual void confirmDivestiture(
982  rti1516_2025::ObjectInstanceHandle const& objectInstance,
983  rti1516_2025::AttributeHandleSet const& confirmedAttributes,
984  rti1516_2025::VariableLengthData const& userSuppliedTag);
985 
999  virtual void attributeOwnershipAcquisition(
1000  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1001  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1002  rti1516_2025::VariableLengthData const& userSuppliedTag);
1003 
1018  virtual void attributeOwnershipAcquisitionIfAvailable(
1019  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1020  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1021  rti1516_2025::VariableLengthData const& userSuppliedTag);
1022 
1034  virtual void attributeOwnershipReleaseDenied(
1035  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1036  rti1516_2025::AttributeHandleSet const& attributes,
1037  rti1516_2025::VariableLengthData const& userSuppliedTag);
1038 
1050  virtual void attributeOwnershipDivestitureIfWanted(
1051  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1052  rti1516_2025::AttributeHandleSet const& attributes,
1053  rti1516_2025::VariableLengthData const& userSuppliedTag,
1054  rti1516_2025::AttributeHandleSet& divestedAttributes); // filled by RTI;
1055 
1068  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
1069  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1070  rti1516_2025::AttributeHandleSet const& attributes);
1071 
1084  virtual void cancelAttributeOwnershipAcquisition(
1085  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1086  rti1516_2025::AttributeHandleSet const& attributes);
1087 
1098  virtual void queryAttributeOwnership(
1099  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1100  rti1516_2025::AttributeHandleSet const& attributes);
1101 
1112  virtual bool isAttributeOwnedByFederate(
1113  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1114  rti1516_2025::AttributeHandle const& attribute);
1115 
1119 
1132  virtual void enableTimeRegulation(
1133  rti1516_2025::LogicalTimeInterval const& lookahead);
1134 
1144  virtual void disableTimeRegulation();
1145 
1157  virtual void enableTimeConstrained();
1158 
1168  virtual void disableTimeConstrained();
1169 
1183  virtual void timeAdvanceRequest(
1184  rti1516_2025::LogicalTime const& time);
1185 
1199  virtual void timeAdvanceRequestAvailable(
1200  rti1516_2025::LogicalTime const& time);
1201 
1215  virtual void nextMessageRequest(
1216  rti1516_2025::LogicalTime const& time);
1217 
1231  virtual void nextMessageRequestAvailable(
1232  rti1516_2025::LogicalTime const& time);
1233 
1247  virtual void flushQueueRequest(
1248  rti1516_2025::LogicalTime const& time);
1249 
1259  virtual void enableAsynchronousDelivery();
1260 
1270  virtual void disableAsynchronousDelivery();
1271 
1280  virtual bool queryGALT(rti1516_2025::LogicalTime& time);
1281 
1290  virtual void queryLogicalTime(rti1516_2025::LogicalTime& time);
1291 
1300  virtual bool queryLITS(rti1516_2025::LogicalTime& time);
1301 
1313  virtual void modifyLookahead(
1314  rti1516_2025::LogicalTimeInterval const& lookahead);
1315 
1325  virtual void queryLookahead(rti1516_2025::LogicalTimeInterval& interval);
1326 
1338  virtual void retract(
1339  rti1516_2025::MessageRetractionHandle const& retraction);
1340 
1352  virtual void changeAttributeOrderType(
1353  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1354  rti1516_2025::AttributeHandleSet const& attributes,
1355  rti1516_2025::OrderType orderType);
1356 
1367  virtual void changeDefaultAttributeOrderType(
1368  rti1516_2025::ObjectClassHandle const& objectClass,
1369  rti1516_2025::AttributeHandleSet const& attributes,
1370  rti1516_2025::OrderType orderType);
1371 
1382  virtual void changeInteractionOrderType(
1383  rti1516_2025::InteractionClassHandle const& interactionClass,
1384  rti1516_2025::OrderType orderType);
1385 
1389 
1399  virtual rti1516_2025::RegionHandle createRegion(
1400  rti1516_2025::DimensionHandleSet const& dimensions);
1401 
1412  virtual void commitRegionModifications(
1413  rti1516_2025::RegionHandleSet const& regions);
1414 
1426  virtual void deleteRegion(
1427  rti1516_2025::RegionHandle const& region);
1428 
1444  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1445  rti1516_2025::ObjectClassHandle const& objectClass,
1446  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1447 
1465  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1466  rti1516_2025::ObjectClassHandle const& objectClass,
1468  std::wstring const& objectInstanceName);
1469 
1483  virtual void associateRegionsForUpdates(
1484  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1485  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1486 
1499  virtual void unassociateRegionsForUpdates(
1500  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1501  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1502 
1516  virtual void subscribeObjectClassAttributesWithRegions(
1517  rti1516_2025::ObjectClassHandle const& objectClass,
1519  bool active = true,
1520  std::wstring const& updateRateDesignator = L"");
1521 
1522 
1535  virtual void unsubscribeObjectClassAttributesWithRegions(
1536  rti1516_2025::ObjectClassHandle const& objectClass,
1537  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1538 
1552  virtual void subscribeInteractionClassWithRegions(
1553  rti1516_2025::InteractionClassHandle const& interactionClass,
1554  rti1516_2025::RegionHandleSet const& regions,
1555  bool active = true);
1556 
1570  virtual void unsubscribeInteractionClassWithRegions(
1571  rti1516_2025::InteractionClassHandle const& interactionClass,
1572  rti1516_2025::RegionHandleSet const& regions);
1573 
1588  virtual void sendInteractionWithRegions(
1589  rti1516_2025::InteractionClassHandle const& interactionClass,
1590  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1591  rti1516_2025::RegionHandleSet const& regions,
1592  rti1516_2025::VariableLengthData const& userSuppliedTag);
1593 
1609  virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1610  rti1516_2025::InteractionClassHandle const& interactionClass,
1611  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1612  rti1516_2025::RegionHandleSet const& regions,
1613  rti1516_2025::VariableLengthData const& userSuppliedTag,
1614  rti1516_2025::LogicalTime const& time);
1615 
1629  virtual void requestAttributeValueUpdateWithRegions(
1630  rti1516_2025::ObjectClassHandle const& objectClass,
1632  rti1516_2025::VariableLengthData const& userSuppliedTag);
1633 
1637 
1645  virtual rti1516_2025::FederateHandle getFederateHandle(
1646  std::wstring const& federateName);
1647 
1656  virtual std::wstring getFederateName(
1657  rti1516_2025::FederateHandle const& federate);
1658 
1666  virtual rti1516_2025::ObjectClassHandle getObjectClassHandle(
1667  std::wstring const& objectClassName);
1668 
1676  virtual std::wstring getObjectClassName(
1677  rti1516_2025::ObjectClassHandle const& objectClass);
1678 
1686  virtual rti1516_2025::ObjectClassHandle getKnownObjectClassHandle(
1687  rti1516_2025::ObjectInstanceHandle const& objectInstance);
1688 
1696  virtual rti1516_2025::ObjectInstanceHandle getObjectInstanceHandle(
1697  std::wstring const& objectInstanceName);
1698 
1706  virtual std::wstring getObjectInstanceName(
1707  rti1516_2025::ObjectInstanceHandle const& objectInstance);
1708 
1717  virtual rti1516_2025::AttributeHandle getAttributeHandle(
1718  rti1516_2025::ObjectClassHandle const& objectClass,
1719  std::wstring const& attributeName);
1720 
1730  virtual std::wstring getAttributeName(
1731  rti1516_2025::ObjectClassHandle const& objectClass,
1732  rti1516_2025::AttributeHandle const& attribute);
1733 
1741  virtual double getUpdateRateValue(
1742  std::wstring const& updateRateDesignator);
1743 
1752  virtual double getUpdateRateValueForAttribute(
1753  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1754  rti1516_2025::AttributeHandle const& attribute);
1755 
1763  virtual rti1516_2025::InteractionClassHandle getInteractionClassHandle(
1764  std::wstring const& interactionClassName);
1765 
1773  virtual std::wstring getInteractionClassName(
1774  rti1516_2025::InteractionClassHandle const& interactionClass);
1775 
1784  virtual rti1516_2025::ParameterHandle getParameterHandle(
1785  rti1516_2025::InteractionClassHandle const& interactionClass,
1786  std::wstring const& parameterName);
1787 
1797  virtual std::wstring getParameterName(
1798  rti1516_2025::InteractionClassHandle const& interactionClass,
1799  rti1516_2025::ParameterHandle const& parameter);
1800 
1808  virtual rti1516_2025::OrderType getOrderType(
1809  std::wstring const& orderTypeName);
1810 
1818  virtual std::wstring getOrderName(
1819  rti1516_2025::OrderType orderType);
1820 
1828  virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1829  std::wstring const& transportationTypeName);
1830 
1838  virtual std::wstring getTransportationTypeName(
1839  rti1516_2025::TransportationTypeHandle const& transportationType);
1840 
1848  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForObjectClass(
1849  rti1516_2025::ObjectClassHandle const& objectClass);
1850 
1858  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForInteractionClass(
1859  rti1516_2025::InteractionClassHandle const& interactionClass);
1860 
1868  virtual rti1516_2025::DimensionHandle getDimensionHandle(
1869  std::wstring const& dimensionName);
1870 
1878  virtual std::wstring getDimensionName(
1879  rti1516_2025::DimensionHandle const& dimension);
1880 
1888  virtual unsigned long getDimensionUpperBound(
1889  rti1516_2025::DimensionHandle const& dimension);
1890 
1900  virtual rti1516_2025::DimensionHandleSet getDimensionHandleSet(
1901  rti1516_2025::RegionHandle const& region);
1902 
1913  virtual rti1516_2025::RangeBounds getRangeBounds(
1914  rti1516_2025::RegionHandle const& region,
1915  rti1516_2025::DimensionHandle const& dimension);
1916 
1929  virtual void setRangeBounds(
1930  rti1516_2025::RegionHandle const& region,
1931  rti1516_2025::DimensionHandle const& dimension,
1932  rti1516_2025::RangeBounds const& rangeBounds);
1933 
1941  virtual unsigned long normalizeServiceGroup(
1942  rti1516_2025::ServiceGroup serviceGroup);
1943 
1951  virtual unsigned long normalizeFederateHandle(
1952  rti1516_2025::FederateHandle const& federate);
1953 
1961  virtual unsigned long normalizeObjectClassHandle(
1962  rti1516_2025::ObjectClassHandle const& objectClass);
1963 
1971  virtual unsigned long normalizeInteractionClassHandle(
1972  rti1516_2025::InteractionClassHandle const& interactionClass);
1973 
1981  virtual unsigned long normalizeObjectInstanceHandle(
1982  rti1516_2025::ObjectInstanceHandle const& objectInstance);
1983 
1992  virtual bool getObjectClassRelevanceAdvisorySwitch() const;
1993 
2002  virtual void setObjectClassRelevanceAdvisorySwitch(bool switchValue);
2003 
2012  virtual bool getAttributeRelevanceAdvisorySwitch() const;
2013 
2022  virtual void setAttributeRelevanceAdvisorySwitch(bool switchValue);
2023 
2032  virtual bool getAttributeScopeAdvisorySwitch() const;
2033 
2042  virtual void setAttributeScopeAdvisorySwitch(bool switchValue);
2043 
2052  virtual bool getInteractionRelevanceAdvisorySwitch() const;
2053 
2062  virtual void setInteractionRelevanceAdvisorySwitch(bool switchValue);
2063 
2072  virtual bool getConveyRegionDesignatorSetsSwitch() const;
2073 
2082  virtual void setConveyRegionDesignatorSetsSwitch(bool switchValue);
2083 
2092  virtual rti1516_2025::ResignAction getAutomaticResignDirective();
2093 
2103  virtual void setAutomaticResignDirective(
2104  rti1516_2025::ResignAction resignAction);
2105 
2114  virtual bool getServiceReportingSwitch() const;
2115 
2125  virtual void setServiceReportingSwitch(bool switchValue);
2126 
2135  virtual bool getExceptionReportingSwitch() const;
2136 
2145  virtual void setExceptionReportingSwitch(bool switchValue);
2146 
2155  virtual bool getSendServiceReportsToFileSwitch() const;
2156 
2165  virtual void setSendServiceReportsToFileSwitch(bool switchValue);
2166 
2175  virtual bool getAutoProvideSwitch() const;
2176 
2185  virtual bool getDelaySubscriptionEvaluationSwitch() const;
2186 
2195  virtual bool getAdvisoriesUseKnownClassSwitch() const;
2196 
2205  virtual bool getAllowRelaxedDDMSwitch() const;
2206 
2215  virtual bool getNonRegulatedGrantSwitch() const;
2216 
2222  virtual bool evokeCallback(
2223  double approximateMinimumTimeInSeconds,
2224  bool unlockWhileWaiting = false);
2225 
2231  virtual bool evokeMultipleCallbacks(
2232  double approximateMinimumTimeInSeconds,
2233  double approximateMaximumTimeInSeconds,
2234  bool unlockWhileWaiting = false);
2235 
2242  virtual void enableCallbacks();
2243 
2250  virtual void disableCallbacks();
2251 
2252  // API-specific services
2253 
2255  virtual DtRtiApiUniquePtr<rti1516_2025::LogicalTimeFactory> getTimeFactory() const;
2256 
2258  virtual rti1516_2025::FederateHandle decodeFederateHandle(
2259  rti1516_2025::VariableLengthData const& encodedValue) const;
2260 
2261  virtual rti1516_2025::ObjectClassHandle decodeObjectClassHandle(
2262  rti1516_2025::VariableLengthData const& encodedValue) const;
2263 
2264  virtual rti1516_2025::InteractionClassHandle decodeInteractionClassHandle(
2265  rti1516_2025::VariableLengthData const& encodedValue) const;
2266 
2267  virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2268  rti1516_2025::VariableLengthData const& encodedValue) const;
2269 
2270  virtual rti1516_2025::AttributeHandle decodeAttributeHandle(
2271  rti1516_2025::VariableLengthData const& encodedValue) const;
2272 
2273  virtual rti1516_2025::ParameterHandle decodeParameterHandle(
2274  rti1516_2025::VariableLengthData const& encodedValue) const;
2275 
2276  virtual rti1516_2025::DimensionHandle decodeDimensionHandle(
2277  rti1516_2025::VariableLengthData const& encodedValue) const;
2278 
2279  virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2280  rti1516_2025::VariableLengthData const& encodedValue) const;
2281 
2282  virtual rti1516_2025::RegionHandle decodeRegionHandle(
2283  rti1516_2025::VariableLengthData const& encodedValue) const;
2284 
2285  //---------------------------------------------------------
2287  //---------------------------------------------------------
2288 
2289 public:
2290 
2294  static DtRtiAmbassadorImplementor* create(rti1516_2025::RTIambassador* topLevelAmbPtr);
2295 
2299  static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
2300 
2301 protected:
2302 
2306  virtual bool makeInternalHandle(rti1516_2025::ObjectClassHandle const& objectClassHandle, DtObjectClassHandle& objectClass,
2307  DtFomClassMgr* fomMgr);
2308 
2312  virtual bool makeInternalHandles(rti1516_2025::InteractionClassHandleSet const& interactionClasses,
2313  DtInteractionClassHandleStdSet& internalInteractionClasses, DtFomClassMgr* fomMgr);
2314 
2316  virtual void throwInternalError(const MAKRti::DtString & errorMessage) const;
2317 
2319  virtual void throwNotConnected(const MAKRti::DtString & errorMessage) const;
2320 
2322  virtual void throwNotJoined(const MAKRti::DtString & errorMessage) const;
2323 
2325  virtual DtRtiAmbassadorImplementor* self() const;
2326 
2327 protected:
2328 
2330  rti1516_2025::RTIambassador* myTopLevelAmb;
2331 
2333  bool myCallbacksEnabled;
2334 
2336  DtRIDParameters::DtAsynchronousIOModeEnum myInitialProcModel;
2337 
2341  bool myThrowCallNotAllowedFromWithinCallback;
2342 
2343 protected:
2344 
2346  static DtRtiAmbassadorImplementorCreator theCreator;
2347  static rti1516_2025::TransportationTypeHandle theReliable;
2348  static rti1516_2025::TransportationTypeHandle theBestEffort;
2349 
2350 
2351 };
2352 
2353 inline DtRtiAmbassadorImplementor* DtRtiAmbassadorImplementor::self() const
2354 {
2355  return const_cast<DtRtiAmbassadorImplementor*>(this);
2356 }
2357 
2358 #endif
A convenience header provided for developers that would like to include everything all at once...
OrderType
Definition: datatypes.pb.h:472
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.
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
DtAsynchronousIOModeEnum
0 == no Async IO 1 == Asynchronous IO, (same as old parameter RTI_asynchronousIO ) 2 == Asynchronous ...
Definition: RIDparams.h:111
bool myCallbacksEnabled
Indicates callbacks enabled status.
Definition: ambImpBase.h:252
DtRtiAmbassadorBaseImplementor & operator=(const DtRtiAmbassadorBaseImplementor &)
Assignment not implemented – Assignment Not Allowed!
ServiceGroup
Definition: datatypes.pb.h:497
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
CallbackModel
Definition: datatypes.pb.h:280
virtual void throwInternalError(const MAKRti::DtString &errorMessage) const =0
Throw an RTI internal exception.
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:39
Definition: fomMgr.h:49
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:57
An abstract base class which must be implemented, and used by a federate.
ResignAction
Definition: datatypes.pb.h:305
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:44
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37
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 &amp; 1516)
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
The declaration of internal types.
Contains the DtRtiAmbassadorBaseImplementor class declaration.
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:38
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)