MAK RTIspy API Documentation for HLA 1516
 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 
73  virtual rti1516_2025::ConfigurationResult connect(
74  rti1516_2025::FederateAmbassador& federateAmbassador,
75  rti1516_2025::CallbackModel callbackModel);
76 
86  virtual rti1516_2025::ConfigurationResult connect(
87  rti1516_2025::FederateAmbassador& federateAmbassador,
88  rti1516_2025::CallbackModel callbackModel,
89  rti1516_2025::RtiConfiguration const& configuration);
90 
101  virtual rti1516_2025::ConfigurationResult connect(
102  rti1516_2025::FederateAmbassador& federateAmbassador,
103  rti1516_2025::CallbackModel callbackModel,
104  rti1516_2025::Credentials const& credentials);
105 
116  virtual rti1516_2025::ConfigurationResult connect(
117  rti1516_2025::FederateAmbassador& federateAmbassador,
118  rti1516_2025::CallbackModel callbackModel,
119  rti1516_2025::RtiConfiguration const& configuration,
120  rti1516_2025::Credentials const& credentials);
121 
128  virtual void disconnect();
129 
146  virtual void createFederationExecution(
147  std::wstring const& federationName,
148  std::wstring const& fomModule,
149  std::wstring const& logicalTimeImplementationName = L"");
150 
163  virtual void createFederationExecution(
164  std::wstring const& federationName,
165  std::vector<std::wstring> const& fomModules,
166  std::wstring const& logicalTimeImplementationName = L"");
167 
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"");
188 
197  virtual void destroyFederationExecution(
198  std::wstring const& federationName);
199 
205  virtual void listFederationExecutions();
206 
212  virtual void listFederationExecutionMembers(std::wstring const& federationName);
213 
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);
235 
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);
259 
270  virtual void resignFederationExecution(
271  rti1516_2025::ResignAction resignAction);
272 
281  virtual void registerFederationSynchronizationPoint(
282  std::wstring const& synchronizationPointLabel,
283  rti1516_2025::VariableLengthData const& userSuppliedTag);
284 
294  virtual void registerFederationSynchronizationPoint(
295  std::wstring const& synchronizationPointLabel,
296  rti1516_2025::VariableLengthData const& userSuppliedTag,
297  rti1516_2025::FederateHandleSet const& synchronizationSet);
298 
308  virtual void synchronizationPointAchieved(
309  std::wstring const& synchronizationPointLabel,
310  bool successfully = true);
311 
320  virtual void requestFederationSave(
321  std::wstring const& label);
322 
334  virtual void requestFederationSave(
335  std::wstring const& label,
336  rti1516_2025::LogicalTime const& time);
337 
346  virtual void federateSaveBegun();
347 
356  virtual void federateSaveComplete();
357 
366  virtual void federateSaveNotComplete();
367 
375  virtual void abortFederationSave();
376 
384  virtual void queryFederationSaveStatus();
385 
394  virtual void requestFederationRestore(
395  std::wstring const& label);
396 
405  virtual void federateRestoreComplete();
406 
415  virtual void federateRestoreNotComplete();
416 
424  virtual void abortFederationRestore();
425 
433  virtual void queryFederationRestoreStatus();
434 
438 
449  virtual void publishObjectClassAttributes(
450  rti1516_2025::ObjectClassHandle const& objectClass,
451  rti1516_2025::AttributeHandleSet const& attributes);
452 
463  virtual void unpublishObjectClass(
464  rti1516_2025::ObjectClassHandle const& objectClass);
465 
477  virtual void unpublishObjectClassAttributes(
478  rti1516_2025::ObjectClassHandle const& objectClass,
479  rti1516_2025::AttributeHandleSet const& attributes);
480 
490  virtual void publishInteractionClass(
491  rti1516_2025::InteractionClassHandle const& interactionClass);
492 
502  virtual void unpublishInteractionClass(
503  rti1516_2025::InteractionClassHandle const& interactionClass);
504 
515  virtual void publishObjectClassDirectedInteractions(
516  rti1516_2025::ObjectClassHandle const& objectClass,
517  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
518 
528  virtual void unpublishObjectClassDirectedInteractions(
529  rti1516_2025::ObjectClassHandle const& objectClass);
530 
541  virtual void unpublishObjectClassDirectedInteractions(
542  rti1516_2025::ObjectClassHandle const& objectClass,
543  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
544 
555  virtual void subscribeObjectClassAttributes(
556  rti1516_2025::ObjectClassHandle const& objectClass,
557  rti1516_2025::AttributeHandleSet const& attributes,
558  bool active = true,
559  std::wstring const& updateRateDesignator = L"");
560 
570  virtual void unsubscribeObjectClass(
571  rti1516_2025::ObjectClassHandle const& objectClass);
572 
583  virtual void unsubscribeObjectClassAttributes(
584  rti1516_2025::ObjectClassHandle const& objectClass,
585  rti1516_2025::AttributeHandleSet const& attributes);
586 
597  virtual void subscribeInteractionClass(
598  rti1516_2025::InteractionClassHandle const& interactionClass,
599  bool active = true);
600 
610  virtual void unsubscribeInteractionClass(
611  rti1516_2025::InteractionClassHandle const& interactionClass);
612 
623  virtual void subscribeObjectClassDirectedInteractions(
624  rti1516_2025::ObjectClassHandle const& objectClass,
625  rti1516_2025::InteractionClassHandleSet const& interactionClasses,
626  bool universally = false);
627 
637  virtual void unsubscribeObjectClassDirectedInteractions(
638  rti1516_2025::ObjectClassHandle const& objectClass);
639 
650  virtual void unsubscribeObjectClassDirectedInteractions(
651  rti1516_2025::ObjectClassHandle const& objectClass,
652  rti1516_2025::InteractionClassHandleSet const& interactionClasses);
653 
657 
667  virtual void reserveObjectInstanceName(
668  std::wstring const& objectInstanceName);
669 
679  virtual void releaseObjectInstanceName(
680  std::wstring const& objectInstanceName);
681 
692  virtual void reserveMultipleObjectInstanceNames(
693  std::set<std::wstring> const& objectInstanceNames);
694 
704  virtual void releaseMultipleObjectInstanceNames(
705  std::set<std::wstring> const& objectInstanceNames);
706 
717  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
718  rti1516_2025::ObjectClassHandle const& objectClass);
719 
732  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
733  rti1516_2025::ObjectClassHandle const& objectClass,
734  std::wstring const& objectInstanceName);
735 
747  virtual void updateAttributeValues(
748  rti1516_2025::ObjectInstanceHandle const& objectInstance,
749  rti1516_2025::AttributeHandleValueMap const& attributeValues,
750  rti1516_2025::VariableLengthData const& userSuppliedTag);
751 
764  virtual rti1516_2025::MessageRetractionHandle updateAttributeValues(
765  rti1516_2025::ObjectInstanceHandle const& objectInstance,
766  rti1516_2025::AttributeHandleValueMap const& attributeValues,
767  rti1516_2025::VariableLengthData const& userSuppliedTag,
768  rti1516_2025::LogicalTime const& time);
769 
781  virtual void sendInteraction(
782  rti1516_2025::InteractionClassHandle const& interactionClass,
783  rti1516_2025::ParameterHandleValueMap const& parameterValues,
784  rti1516_2025::VariableLengthData const& userSuppliedTag);
785 
798  virtual rti1516_2025::MessageRetractionHandle sendInteraction(
799  rti1516_2025::InteractionClassHandle const& interactionClass,
800  rti1516_2025::ParameterHandleValueMap const& parameterValues,
801  rti1516_2025::VariableLengthData const& userSuppliedTag,
802  rti1516_2025::LogicalTime const& time);
803 
816  virtual void sendDirectedInteraction(
817  rti1516_2025::InteractionClassHandle const& interactionClass,
818  rti1516_2025::ObjectInstanceHandle const& objectInstance,
819  rti1516_2025::ParameterHandleValueMap const& parameterValues,
820  rti1516_2025::VariableLengthData const& userSuppliedTag);
821 
835  virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
836  rti1516_2025::InteractionClassHandle const& interactionClass,
837  rti1516_2025::ObjectInstanceHandle const& objectInstance,
838  rti1516_2025::ParameterHandleValueMap const& parameterValues,
839  rti1516_2025::VariableLengthData const& userSuppliedTag,
840  rti1516_2025::LogicalTime const& time);
841 
852  virtual void deleteObjectInstance(
853  rti1516_2025::ObjectInstanceHandle const& objectInstance,
854  rti1516_2025::VariableLengthData const& userSuppliedTag);
855 
867  virtual rti1516_2025::MessageRetractionHandle deleteObjectInstance(
868  rti1516_2025::ObjectInstanceHandle const& objectInstance,
869  rti1516_2025::VariableLengthData const& userSuppliedTag,
870  rti1516_2025::LogicalTime const& time);
871 
883  virtual void localDeleteObjectInstance(
884  rti1516_2025::ObjectInstanceHandle const& objectInstance);
885 
896  virtual void requestAttributeValueUpdate(
897  rti1516_2025::ObjectInstanceHandle const& objectInstance,
898  rti1516_2025::AttributeHandleSet const& attributes,
899  rti1516_2025::VariableLengthData const& userSuppliedTag);
900 
911  virtual void requestAttributeValueUpdate(
912  rti1516_2025::ObjectClassHandle const& objectClass,
913  rti1516_2025::AttributeHandleSet const& attributes,
914  rti1516_2025::VariableLengthData const& userSuppliedTag);
915 
929  virtual void requestAttributeTransportationTypeChange(
930  rti1516_2025::ObjectInstanceHandle const& objectInstance,
931  rti1516_2025::AttributeHandleSet const& attributes,
932  rti1516_2025::TransportationTypeHandle const& transportationType);
933 
945  virtual void changeDefaultAttributeTransportationType(
946  rti1516_2025::ObjectClassHandle const& objectClass,
947  rti1516_2025::AttributeHandleSet const& attributes,
948  rti1516_2025::TransportationTypeHandle const& transportationType);
949 
960  virtual void queryAttributeTransportationType(
961  rti1516_2025::ObjectInstanceHandle const& objectInstance,
962  rti1516_2025::AttributeHandle const& attribute);
963 
976  virtual void requestInteractionTransportationTypeChange(
977  rti1516_2025::InteractionClassHandle const& interactionClass,
978  rti1516_2025::TransportationTypeHandle const& transportationType);
979 
989  virtual void queryInteractionTransportationType(
990  rti1516_2025::FederateHandle const& federate,
991  rti1516_2025::InteractionClassHandle const& interactionClass);
992 
993 
997 
1009  virtual void unconditionalAttributeOwnershipDivestiture(
1010  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1011  rti1516_2025::AttributeHandleSet const& attributes,
1012  rti1516_2025::VariableLengthData const& userSuppliedTag);
1013 
1026  virtual void negotiatedAttributeOwnershipDivestiture(
1027  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1028  rti1516_2025::AttributeHandleSet const& attributes,
1029  rti1516_2025::VariableLengthData const& userSuppliedTag);
1030 
1044  virtual void confirmDivestiture(
1045  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1046  rti1516_2025::AttributeHandleSet const& confirmedAttributes,
1047  rti1516_2025::VariableLengthData const& userSuppliedTag);
1048 
1062  virtual void attributeOwnershipAcquisition(
1063  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1064  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1065  rti1516_2025::VariableLengthData const& userSuppliedTag);
1066 
1081  virtual void attributeOwnershipAcquisitionIfAvailable(
1082  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1083  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1084  rti1516_2025::VariableLengthData const& userSuppliedTag);
1085 
1097  virtual void attributeOwnershipReleaseDenied(
1098  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1099  rti1516_2025::AttributeHandleSet const& attributes,
1100  rti1516_2025::VariableLengthData const& userSuppliedTag);
1101 
1113  virtual void attributeOwnershipDivestitureIfWanted(
1114  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1115  rti1516_2025::AttributeHandleSet const& attributes,
1116  rti1516_2025::VariableLengthData const& userSuppliedTag,
1117  rti1516_2025::AttributeHandleSet& divestedAttributes); // filled by RTI
1118 
1131  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
1132  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1133  rti1516_2025::AttributeHandleSet const& attributes);
1134 
1147  virtual void cancelAttributeOwnershipAcquisition(
1148  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1149  rti1516_2025::AttributeHandleSet const& attributes);
1150 
1161  virtual void queryAttributeOwnership(
1162  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1163  rti1516_2025::AttributeHandleSet const& attributes);
1164 
1175  virtual bool isAttributeOwnedByFederate(
1176  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1177  rti1516_2025::AttributeHandle const& attribute);
1178 
1182 
1195  virtual void enableTimeRegulation(
1196  rti1516_2025::LogicalTimeInterval const& lookahead);
1197 
1207  virtual void disableTimeRegulation();
1208 
1220  virtual void enableTimeConstrained();
1221 
1231  virtual void disableTimeConstrained();
1232 
1246  virtual void timeAdvanceRequest(
1247  rti1516_2025::LogicalTime const& time);
1248 
1262  virtual void timeAdvanceRequestAvailable(
1263  rti1516_2025::LogicalTime const& time);
1264 
1278  virtual void nextMessageRequest(
1279  rti1516_2025::LogicalTime const& time);
1280 
1294  virtual void nextMessageRequestAvailable(
1295  rti1516_2025::LogicalTime const& time);
1296 
1310  virtual void flushQueueRequest(
1311  rti1516_2025::LogicalTime const& time);
1312 
1322  virtual void enableAsynchronousDelivery();
1323 
1333  virtual void disableAsynchronousDelivery();
1334 
1343  virtual bool queryGALT(rti1516_2025::LogicalTime& time);
1344 
1353  virtual void queryLogicalTime(rti1516_2025::LogicalTime& time);
1354 
1363  virtual bool queryLITS(rti1516_2025::LogicalTime& time);
1364 
1376  virtual void modifyLookahead(
1377  rti1516_2025::LogicalTimeInterval const& lookahead);
1378 
1388  virtual void queryLookahead(rti1516_2025::LogicalTimeInterval& interval);
1389 
1401  virtual void retract(
1402  rti1516_2025::MessageRetractionHandle const& retraction);
1403 
1415  virtual void changeAttributeOrderType(
1416  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1417  rti1516_2025::AttributeHandleSet const& attributes,
1418  rti1516_2025::OrderType orderType);
1419 
1430  virtual void changeDefaultAttributeOrderType(
1431  rti1516_2025::ObjectClassHandle const& objectClass,
1432  rti1516_2025::AttributeHandleSet const& attributes,
1433  rti1516_2025::OrderType orderType);
1434 
1445  virtual void changeInteractionOrderType(
1446  rti1516_2025::InteractionClassHandle const& interactionClass,
1447  rti1516_2025::OrderType orderType);
1448 
1452 
1462  virtual rti1516_2025::RegionHandle createRegion(
1463  rti1516_2025::DimensionHandleSet const& dimensions);
1464 
1475  virtual void commitRegionModifications(
1476  rti1516_2025::RegionHandleSet const& regions);
1477 
1489  virtual void deleteRegion(
1490  rti1516_2025::RegionHandle const& region);
1491 
1507  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1508  rti1516_2025::ObjectClassHandle const& objectClass,
1509  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1510 
1528  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1529  rti1516_2025::ObjectClassHandle const& objectClass,
1531  std::wstring const& objectInstanceName);
1532 
1546  virtual void associateRegionsForUpdates(
1547  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1548  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1549 
1562  virtual void unassociateRegionsForUpdates(
1563  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1564  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1565 
1579  virtual void subscribeObjectClassAttributesWithRegions(
1580  rti1516_2025::ObjectClassHandle const& objectClass,
1582  bool active = true,
1583  std::wstring const& updateRateDesignator = L"");
1584 
1585 
1598  virtual void unsubscribeObjectClassAttributesWithRegions(
1599  rti1516_2025::ObjectClassHandle const& objectClass,
1600  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions);
1601 
1615  virtual void subscribeInteractionClassWithRegions(
1616  rti1516_2025::InteractionClassHandle const& interactionClass,
1617  rti1516_2025::RegionHandleSet const& regions,
1618  bool active = true);
1619 
1633  virtual void unsubscribeInteractionClassWithRegions(
1634  rti1516_2025::InteractionClassHandle const& interactionClass,
1635  rti1516_2025::RegionHandleSet const& regions);
1636 
1651  virtual void sendInteractionWithRegions(
1652  rti1516_2025::InteractionClassHandle const& interactionClass,
1653  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1654  rti1516_2025::RegionHandleSet const& regions,
1655  rti1516_2025::VariableLengthData const& userSuppliedTag);
1656 
1672  virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1673  rti1516_2025::InteractionClassHandle const& interactionClass,
1674  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1675  rti1516_2025::RegionHandleSet const& regions,
1676  rti1516_2025::VariableLengthData const& userSuppliedTag,
1677  rti1516_2025::LogicalTime const& time);
1678 
1692  virtual void requestAttributeValueUpdateWithRegions(
1693  rti1516_2025::ObjectClassHandle const& objectClass,
1695  rti1516_2025::VariableLengthData const& userSuppliedTag);
1696 
1700 
1708  virtual rti1516_2025::FederateHandle getFederateHandle(
1709  std::wstring const& federateName);
1710 
1719  virtual std::wstring getFederateName(
1720  rti1516_2025::FederateHandle const& federate);
1721 
1729  virtual rti1516_2025::ObjectClassHandle getObjectClassHandle(
1730  std::wstring const& objectClassName);
1731 
1739  virtual std::wstring getObjectClassName(
1740  rti1516_2025::ObjectClassHandle const& objectClass);
1741 
1749  virtual rti1516_2025::ObjectClassHandle getKnownObjectClassHandle(
1750  rti1516_2025::ObjectInstanceHandle const& objectInstance);
1751 
1759  virtual rti1516_2025::ObjectInstanceHandle getObjectInstanceHandle(
1760  std::wstring const& objectInstanceName);
1761 
1769  virtual std::wstring getObjectInstanceName(
1770  rti1516_2025::ObjectInstanceHandle const& objectInstance);
1771 
1780  virtual rti1516_2025::AttributeHandle getAttributeHandle(
1781  rti1516_2025::ObjectClassHandle const& objectClass,
1782  std::wstring const& attributeName);
1783 
1793  virtual std::wstring getAttributeName(
1794  rti1516_2025::ObjectClassHandle const& objectClass,
1795  rti1516_2025::AttributeHandle const& attribute);
1796 
1804  virtual double getUpdateRateValue(
1805  std::wstring const& updateRateDesignator);
1806 
1815  virtual double getUpdateRateValueForAttribute(
1816  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1817  rti1516_2025::AttributeHandle const& attribute);
1818 
1826  virtual rti1516_2025::InteractionClassHandle getInteractionClassHandle(
1827  std::wstring const& interactionClassName);
1828 
1836  virtual std::wstring getInteractionClassName(
1837  rti1516_2025::InteractionClassHandle const& interactionClass);
1838 
1847  virtual rti1516_2025::ParameterHandle getParameterHandle(
1848  rti1516_2025::InteractionClassHandle const& interactionClass,
1849  std::wstring const& parameterName);
1850 
1860  virtual std::wstring getParameterName(
1861  rti1516_2025::InteractionClassHandle const& interactionClass,
1862  rti1516_2025::ParameterHandle const& parameter);
1863 
1871  virtual rti1516_2025::OrderType getOrderType(
1872  std::wstring const& orderTypeName);
1873 
1881  virtual std::wstring getOrderName(
1882  rti1516_2025::OrderType orderType);
1883 
1891  virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1892  std::wstring const& transportationTypeName);
1893 
1901  virtual std::wstring getTransportationTypeName(
1902  rti1516_2025::TransportationTypeHandle const& transportationType);
1903 
1911  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForObjectClass(
1912  rti1516_2025::ObjectClassHandle const& objectClass);
1913 
1921  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForInteractionClass(
1922  rti1516_2025::InteractionClassHandle const& interactionClass);
1923 
1931  virtual rti1516_2025::DimensionHandle getDimensionHandle(
1932  std::wstring const& dimensionName);
1933 
1941  virtual std::wstring getDimensionName(
1942  rti1516_2025::DimensionHandle const& dimension);
1943 
1951  virtual unsigned long getDimensionUpperBound(
1952  rti1516_2025::DimensionHandle const& dimension);
1953 
1963  virtual rti1516_2025::DimensionHandleSet getDimensionHandleSet(
1964  rti1516_2025::RegionHandle const& region);
1965 
1976  virtual rti1516_2025::RangeBounds getRangeBounds(
1977  rti1516_2025::RegionHandle const& region,
1978  rti1516_2025::DimensionHandle const& dimension);
1979 
1992  virtual void setRangeBounds(
1993  rti1516_2025::RegionHandle const& region,
1994  rti1516_2025::DimensionHandle const& dimension,
1995  rti1516_2025::RangeBounds const& rangeBounds);
1996 
2004  virtual unsigned long normalizeServiceGroup(
2005  rti1516_2025::ServiceGroup serviceGroup);
2006 
2014  virtual unsigned long normalizeFederateHandle(
2015  rti1516_2025::FederateHandle const& federate);
2016 
2024  virtual unsigned long normalizeObjectClassHandle(
2025  rti1516_2025::ObjectClassHandle const& objectClass);
2026 
2034  virtual unsigned long normalizeInteractionClassHandle(
2035  rti1516_2025::InteractionClassHandle const& interactionClass);
2036 
2044  virtual unsigned long normalizeObjectInstanceHandle(
2045  rti1516_2025::ObjectInstanceHandle const& objectInstance);
2046 
2055  virtual bool getObjectClassRelevanceAdvisorySwitch() const;
2056 
2065  virtual void setObjectClassRelevanceAdvisorySwitch(bool switchValue);
2066 
2075  virtual bool getAttributeRelevanceAdvisorySwitch() const;
2076 
2085  virtual void setAttributeRelevanceAdvisorySwitch(bool switchValue);
2086 
2095  virtual bool getAttributeScopeAdvisorySwitch() const;
2096 
2105  virtual void setAttributeScopeAdvisorySwitch(bool switchValue);
2106 
2115  virtual bool getInteractionRelevanceAdvisorySwitch() const;
2116 
2125  virtual void setInteractionRelevanceAdvisorySwitch(bool switchValue);
2126 
2135  virtual bool getConveyRegionDesignatorSetsSwitch() const;
2136 
2145  virtual void setConveyRegionDesignatorSetsSwitch(bool switchValue);
2146 
2155  virtual rti1516_2025::ResignAction getAutomaticResignDirective();
2156 
2166  virtual void setAutomaticResignDirective(
2167  rti1516_2025::ResignAction resignAction);
2168 
2177  virtual bool getServiceReportingSwitch() const;
2178 
2188  virtual void setServiceReportingSwitch(bool switchValue);
2189 
2198  virtual bool getExceptionReportingSwitch() const;
2199 
2208  virtual void setExceptionReportingSwitch(bool switchValue);
2209 
2218  virtual bool getSendServiceReportsToFileSwitch() const;
2219 
2228  virtual void setSendServiceReportsToFileSwitch(bool switchValue);
2229 
2238  virtual bool getAutoProvideSwitch() const;
2239 
2248  virtual bool getDelaySubscriptionEvaluationSwitch() const;
2249 
2258  virtual bool getAdvisoriesUseKnownClassSwitch() const;
2259 
2268  virtual bool getAllowRelaxedDDMSwitch() const;
2269 
2278  virtual bool getNonRegulatedGrantSwitch() const;
2279 
2285  virtual bool evokeCallback(
2286  double approximateMinimumTimeInSeconds,
2287  bool unlockWhileWaiting = false);
2288 
2294  virtual bool evokeMultipleCallbacks(
2295  double approximateMinimumTimeInSeconds,
2296  double approximateMaximumTimeInSeconds,
2297  bool unlockWhileWaiting = false);
2298 
2305  virtual void enableCallbacks();
2306 
2313  virtual void disableCallbacks();
2314 
2318 
2320 
2324  virtual std::unique_ptr<rti1516_2025::LogicalTimeFactory> getTimeFactory() const;
2325 
2327 
2328 
2335  virtual rti1516_2025::FederateHandle decodeFederateHandle(
2336  rti1516_2025::VariableLengthData const& encodedValue) const;
2337 
2344  virtual rti1516_2025::ObjectClassHandle decodeObjectClassHandle(
2345  rti1516_2025::VariableLengthData const& encodedValue) const;
2346 
2353  virtual rti1516_2025::InteractionClassHandle decodeInteractionClassHandle(
2354  rti1516_2025::VariableLengthData const& encodedValue) const;
2355 
2362  virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2363  rti1516_2025::VariableLengthData const& encodedValue) const;
2364 
2371  virtual rti1516_2025::AttributeHandle decodeAttributeHandle(
2372  rti1516_2025::VariableLengthData const& encodedValue) const;
2373 
2380  virtual rti1516_2025::ParameterHandle decodeParameterHandle(
2381  rti1516_2025::VariableLengthData const& encodedValue) const;
2382 
2389  virtual rti1516_2025::DimensionHandle decodeDimensionHandle(
2390  rti1516_2025::VariableLengthData const& encodedValue) const;
2391 
2398  virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2399  rti1516_2025::VariableLengthData const& encodedValue) const;
2400 
2407  virtual rti1516_2025::RegionHandle decodeRegionHandle(
2408  rti1516_2025::VariableLengthData const& encodedValue) const;
2409 
2410  //---------------------------------------------------------
2412  //---------------------------------------------------------
2413 
2414 public:
2415 
2419  static DtRtiAmbassadorImplementor* create(rti1516_2025::RTIambassador* topLevelAmbPtr);
2420 
2424  static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
2425 
2426 protected:
2427 
2429  virtual rti1516_2025::ConfigurationResult doConnect(
2430  rti1516_2025::FederateAmbassador& federateAmbassador,
2431  rti1516_2025::CallbackModel theCallbackModel,
2432  rti1516_2025::RtiConfiguration const* configuration = nullptr,
2433  rti1516_2025::Credentials const* credentials = nullptr);
2434 
2438  virtual bool makeInternalHandle(rti1516_2025::ObjectClassHandle const& objectClassHandle, DtObjectClassHandle& objectClass,
2439  DtFomClassMgr* fomMgr);
2440 
2444  virtual bool makeInternalHandles(rti1516_2025::InteractionClassHandleSet const& interactionClasses,
2445  DtInteractionClassHandleStdSet& internalInteractionClasses, DtFomClassMgr* fomMgr);
2446 
2448  virtual void throwInternalError(const MAKRti::DtString & errorMessage) const;
2449 
2451  virtual void throwNotConnected(const MAKRti::DtString & errorMessage) const;
2452 
2454  virtual void throwNotJoined(const MAKRti::DtString & errorMessage) const;
2455 
2457  virtual DtRtiAmbassadorImplementor* self() const;
2458 
2459 protected:
2460 
2462  rti1516_2025::RTIambassador* myTopLevelAmb;
2463 
2465  bool myCallbacksEnabled;
2466 
2468  DtRIDParameters::DtAsynchronousIOModeEnum myInitialProcModel;
2469 
2473  bool myThrowCallNotAllowedFromWithinCallback;
2474 
2475 protected:
2476 
2478  static DtRtiAmbassadorImplementorCreator theCreator;
2479  static rti1516_2025::TransportationTypeHandle theReliable;
2480  static rti1516_2025::TransportationTypeHandle theBestEffort;
2481 
2482 
2483 };
2484 
2485 inline DtRtiAmbassadorImplementor* DtRtiAmbassadorImplementor::self() const
2486 {
2487  return const_cast<DtRtiAmbassadorImplementor*>(this);
2488 }
2489 
2490 #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.
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
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:31
DtRtiAmbassadorBaseImplementor & operator=(const DtRtiAmbassadorBaseImplementor &)
Assignment not implemented – Assignment Not Allowed!
ServiceGroup
Definition: datatypes.pb.h:497
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:30
CallbackModel
Definition: datatypes.pb.h:280
virtual void throwInternalError(const MAKRti::DtString &errorMessage) const =0
Throw an RTI internal exception.
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:41
Definition: fomMgr.h:49
An abstract base class which must be implemented, and used by a federate.
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:36
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
ResignAction
Definition: datatypes.pb.h:305
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:49
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)
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:29
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
The declaration of internal types.
Contains the DtRtiAmbassadorBaseImplementor class declaration.

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)