MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
netStatsRtiAmb1516_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 
10 #include "ambImp1516_2025.h"
11 #include "netStatsMonitor.h"
12 #include <vlutil/vlTime.h>
13 
14 class DtNetStatsFedAmbWrapper;
15 
16 //
17 // The DtNetStatsRtiAmbImpl adds statistics gathering and logging
18 // capabilities to the DtRtiAmbassadorImplementor class
19 //
20 // DtNetStatsRtiAmbImpl overrides each RTI Ambassador API call
21 // to track its calls and cpu usage
22 //
23 class DtNetStatsRtiAmbImpl : public DtRtiAmbassadorImplementor
24 {
25 
26 protected:
27 
28  DtNetStatsRtiAmbImpl(rti1516_2025::RTIambassador* topLevelAmbPtr);
29 
30 public:
31 
32  // Set the handle to the Network Traffic Monitor
33  virtual void setTrafficMonitor(DtNetStatsMonitor* stats);
34 
35  // Over-ridden RTI API Calls
36 
37  virtual ~DtNetStatsRtiAmbImpl();
38 
39  virtual bool netStatsEnabled() const;
40  virtual void setNetStatsEnabled(bool shouldEnable);
41 
42  // Initializes the high performance timer (must be paired with endTimerAndRecord)
43  virtual void startTimer();
44  virtual void startTimer() const;
45 
46  // Records the service and the elapsed time (must be paired with startTimer)
47  virtual void endTimerAndRecord(DtRtiAmbAPIType rtiAmbType);
48  virtual void endTimerAndRecord(DtRtiAmbAPIType rtiAmbType) const;
49 
53 
54 #if 0
55  // All the connect calls use protected doConnect which is overridden below
65  virtual rti1516_2025::ConfigurationResult connect(
66  rti1516_2025::FederateAmbassador& federateAmbassador,
67  rti1516_2025::CallbackModel callbackModel) override;
68 
78  virtual rti1516_2025::ConfigurationResult connect(
79  rti1516_2025::FederateAmbassador& federateAmbassador,
80  rti1516_2025::CallbackModel callbackModel,
81  rti1516_2025::RtiConfiguration const& configuration) override;
82 
93  virtual rti1516_2025::ConfigurationResult connect(
94  rti1516_2025::FederateAmbassador& federateAmbassador,
95  rti1516_2025::CallbackModel callbackModel,
96  rti1516_2025::Credentials const& credentials) override;
97 
108  virtual rti1516_2025::ConfigurationResult connect(
109  rti1516_2025::FederateAmbassador& federateAmbassador,
110  rti1516_2025::CallbackModel callbackModel,
111  rti1516_2025::RtiConfiguration const& configuration,
112  rti1516_2025::Credentials const& credentials) override;
113 #endif
114 
121  virtual void disconnect() override;
122 
139  virtual void createFederationExecution(
140  std::wstring const& federationName,
141  std::wstring const& fomModule,
142  std::wstring const& logicalTimeImplementationName = L"") override;
143 
156  virtual void createFederationExecution(
157  std::wstring const& federationName,
158  std::vector<std::wstring> const& fomModules,
159  std::wstring const& logicalTimeImplementationName = L"") override;
160 
176  virtual void createFederationExecutionWithMIM(
177  std::wstring const& federationName,
178  std::vector<std::wstring> const& fomModules,
179  std::wstring const& mimModule,
180  std::wstring const& logicalTimeImplementationName = L"") override;
181 
190  virtual void destroyFederationExecution(
191  std::wstring const& federationName) override;
192 
198  virtual void listFederationExecutions() override;
199 
205  virtual void listFederationExecutionMembers(std::wstring const& federationName) override;
206 
223  virtual rti1516_2025::FederateHandle joinFederationExecution(
224  std::wstring const& federateType,
225  std::wstring const& federationName,
226  std::vector<std::wstring> const& additionalFomModules,
227  unsigned long flags) override;
228 
246  virtual rti1516_2025::FederateHandle joinFederationExecution(
247  std::wstring const& federateName,
248  std::wstring const& federateType,
249  std::wstring const& federationName,
250  std::vector<std::wstring> const& additionalFomModules,
251  unsigned long flags) override;
252 
263  virtual void resignFederationExecution(
264  rti1516_2025::ResignAction resignAction) override;
265 
274  virtual void registerFederationSynchronizationPoint(
275  std::wstring const& synchronizationPointLabel,
276  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
277 
287  virtual void registerFederationSynchronizationPoint(
288  std::wstring const& synchronizationPointLabel,
289  rti1516_2025::VariableLengthData const& userSuppliedTag,
290  rti1516_2025::FederateHandleSet const& synchronizationSet) override;
291 
301  virtual void synchronizationPointAchieved(
302  std::wstring const& synchronizationPointLabel,
303  bool successfully = true) override;
304 
313  virtual void requestFederationSave(
314  std::wstring const& label) override;
315 
327  virtual void requestFederationSave(
328  std::wstring const& label,
329  rti1516_2025::LogicalTime const& time) override;
330 
339  virtual void federateSaveBegun() override;
340 
349  virtual void federateSaveComplete() override;
350 
359  virtual void federateSaveNotComplete() override;
360 
368  virtual void abortFederationSave() override;
369 
377  virtual void queryFederationSaveStatus() override;
378 
387  virtual void requestFederationRestore(
388  std::wstring const& label) override;
389 
398  virtual void federateRestoreComplete() override;
399 
408  virtual void federateRestoreNotComplete() override;
409 
417  virtual void abortFederationRestore() override;
418 
426  virtual void queryFederationRestoreStatus() override;
427 
431 
442  virtual void publishObjectClassAttributes(
443  rti1516_2025::ObjectClassHandle const& objectClass,
444  rti1516_2025::AttributeHandleSet const& attributes) override;
445 
456  virtual void unpublishObjectClass(
457  rti1516_2025::ObjectClassHandle const& objectClass) override;
458 
470  virtual void unpublishObjectClassAttributes(
471  rti1516_2025::ObjectClassHandle const& objectClass,
472  rti1516_2025::AttributeHandleSet const& attributes) override;
473 
483  virtual void publishInteractionClass(
484  rti1516_2025::InteractionClassHandle const& interactionClass) override;
485 
495  virtual void unpublishInteractionClass(
496  rti1516_2025::InteractionClassHandle const& interactionClass) override;
497 
508  virtual void publishObjectClassDirectedInteractions(
509  rti1516_2025::ObjectClassHandle const& objectClass,
510  rti1516_2025::InteractionClassHandleSet const& interactionClasses) override;
511 
521  virtual void unpublishObjectClassDirectedInteractions(
522  rti1516_2025::ObjectClassHandle const& objectClass) override;
523 
534  virtual void unpublishObjectClassDirectedInteractions(
535  rti1516_2025::ObjectClassHandle const& objectClass,
536  rti1516_2025::InteractionClassHandleSet const& interactionClasses) override;
537 
548  virtual void subscribeObjectClassAttributes(
549  rti1516_2025::ObjectClassHandle const& objectClass,
550  rti1516_2025::AttributeHandleSet const& attributes,
551  bool active = true,
552  std::wstring const& updateRateDesignator = L"") override;
553 
563  virtual void unsubscribeObjectClass(
564  rti1516_2025::ObjectClassHandle const& objectClass) override;
565 
576  virtual void unsubscribeObjectClassAttributes(
577  rti1516_2025::ObjectClassHandle const& objectClass,
578  rti1516_2025::AttributeHandleSet const& attributes) override;
579 
590  virtual void subscribeInteractionClass(
591  rti1516_2025::InteractionClassHandle const& interactionClass,
592  bool active = true) override;
593 
603  virtual void unsubscribeInteractionClass(
604  rti1516_2025::InteractionClassHandle const& interactionClass) override;
605 
616  virtual void subscribeObjectClassDirectedInteractions(
617  rti1516_2025::ObjectClassHandle const& objectClass,
618  rti1516_2025::InteractionClassHandleSet const& interactionClasses,
619  bool universally = false) override;
620 
630  virtual void unsubscribeObjectClassDirectedInteractions(
631  rti1516_2025::ObjectClassHandle const& objectClass) override;
632 
643  virtual void unsubscribeObjectClassDirectedInteractions(
644  rti1516_2025::ObjectClassHandle const& objectClass,
645  rti1516_2025::InteractionClassHandleSet const& interactionClasses) override;
646 
650 
660  virtual void reserveObjectInstanceName(
661  std::wstring const& objectInstanceName) override;
662 
672  virtual void releaseObjectInstanceName(
673  std::wstring const& objectInstanceName) override;
674 
685  virtual void reserveMultipleObjectInstanceNames(
686  std::set<std::wstring> const& objectInstanceNames) override;
687 
697  virtual void releaseMultipleObjectInstanceNames(
698  std::set<std::wstring> const& objectInstanceNames) override;
699 
710  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
711  rti1516_2025::ObjectClassHandle const& objectClass) override;
712 
725  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstance(
726  rti1516_2025::ObjectClassHandle const& objectClass,
727  std::wstring const& objectInstanceName) override;
728 
740  virtual void updateAttributeValues(
741  rti1516_2025::ObjectInstanceHandle const& objectInstance,
742  rti1516_2025::AttributeHandleValueMap const& attributeValues,
743  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
744 
757  virtual rti1516_2025::MessageRetractionHandle updateAttributeValues(
758  rti1516_2025::ObjectInstanceHandle const& objectInstance,
759  rti1516_2025::AttributeHandleValueMap const& attributeValues,
760  rti1516_2025::VariableLengthData const& userSuppliedTag,
761  rti1516_2025::LogicalTime const& time) override;
762 
774  virtual void sendInteraction(
775  rti1516_2025::InteractionClassHandle const& interactionClass,
776  rti1516_2025::ParameterHandleValueMap const& parameterValues,
777  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
778 
791  virtual rti1516_2025::MessageRetractionHandle sendInteraction(
792  rti1516_2025::InteractionClassHandle const& interactionClass,
793  rti1516_2025::ParameterHandleValueMap const& parameterValues,
794  rti1516_2025::VariableLengthData const& userSuppliedTag,
795  rti1516_2025::LogicalTime const& time) override;
796 
809  virtual void sendDirectedInteraction(
810  rti1516_2025::InteractionClassHandle const& interactionClass,
811  rti1516_2025::ObjectInstanceHandle const& objectInstance,
812  rti1516_2025::ParameterHandleValueMap const& parameterValues,
813  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
814 
828  virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
829  rti1516_2025::InteractionClassHandle const& interactionClass,
830  rti1516_2025::ObjectInstanceHandle const& objectInstance,
831  rti1516_2025::ParameterHandleValueMap const& parameterValues,
832  rti1516_2025::VariableLengthData const& userSuppliedTag,
833  rti1516_2025::LogicalTime const& time) override;
834 
845  virtual void deleteObjectInstance(
846  rti1516_2025::ObjectInstanceHandle const& objectInstance,
847  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
848 
860  virtual rti1516_2025::MessageRetractionHandle deleteObjectInstance(
861  rti1516_2025::ObjectInstanceHandle const& objectInstance,
862  rti1516_2025::VariableLengthData const& userSuppliedTag,
863  rti1516_2025::LogicalTime const& time) override;
864 
876  virtual void localDeleteObjectInstance(
877  rti1516_2025::ObjectInstanceHandle const& objectInstance) override;
878 
889  virtual void requestAttributeValueUpdate(
890  rti1516_2025::ObjectInstanceHandle const& objectInstance,
891  rti1516_2025::AttributeHandleSet const& attributes,
892  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
893 
904  virtual void requestAttributeValueUpdate(
905  rti1516_2025::ObjectClassHandle const& objectClass,
906  rti1516_2025::AttributeHandleSet const& attributes,
907  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
908 
922  virtual void requestAttributeTransportationTypeChange(
923  rti1516_2025::ObjectInstanceHandle const& objectInstance,
924  rti1516_2025::AttributeHandleSet const& attributes,
925  rti1516_2025::TransportationTypeHandle const& transportationType) override;
926 
938  virtual void changeDefaultAttributeTransportationType(
939  rti1516_2025::ObjectClassHandle const& objectClass,
940  rti1516_2025::AttributeHandleSet const& attributes,
941  rti1516_2025::TransportationTypeHandle const& transportationType) override;
942 
953  virtual void queryAttributeTransportationType(
954  rti1516_2025::ObjectInstanceHandle const& objectInstance,
955  rti1516_2025::AttributeHandle const& attribute) override;
956 
969  virtual void requestInteractionTransportationTypeChange(
970  rti1516_2025::InteractionClassHandle const& interactionClass,
971  rti1516_2025::TransportationTypeHandle const& transportationType) override;
972 
982  virtual void queryInteractionTransportationType(
983  rti1516_2025::FederateHandle const& federate,
984  rti1516_2025::InteractionClassHandle const& interactionClass) override;
985 
986 
990 
1002  virtual void unconditionalAttributeOwnershipDivestiture(
1003  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1004  rti1516_2025::AttributeHandleSet const& attributes,
1005  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1006 
1019  virtual void negotiatedAttributeOwnershipDivestiture(
1020  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1021  rti1516_2025::AttributeHandleSet const& attributes,
1022  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1023 
1037  virtual void confirmDivestiture(
1038  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1039  rti1516_2025::AttributeHandleSet const& confirmedAttributes,
1040  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1041 
1055  virtual void attributeOwnershipAcquisition(
1056  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1057  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1058  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1059 
1074  virtual void attributeOwnershipAcquisitionIfAvailable(
1075  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1076  rti1516_2025::AttributeHandleSet const& desiredAttributes,
1077  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1078 
1090  virtual void attributeOwnershipReleaseDenied(
1091  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1092  rti1516_2025::AttributeHandleSet const& attributes,
1093  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1094 
1106  virtual void attributeOwnershipDivestitureIfWanted(
1107  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1108  rti1516_2025::AttributeHandleSet const& attributes,
1109  rti1516_2025::VariableLengthData const& userSuppliedTag,
1110  rti1516_2025::AttributeHandleSet& divestedAttributes) override; // filled by RTI
1111 
1124  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
1125  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1126  rti1516_2025::AttributeHandleSet const& attributes) override;
1127 
1140  virtual void cancelAttributeOwnershipAcquisition(
1141  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1142  rti1516_2025::AttributeHandleSet const& attributes) override;
1143 
1154  virtual void queryAttributeOwnership(
1155  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1156  rti1516_2025::AttributeHandleSet const& attributes) override;
1157 
1168  virtual bool isAttributeOwnedByFederate(
1169  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1170  rti1516_2025::AttributeHandle const& attribute) override;
1171 
1175 
1188  virtual void enableTimeRegulation(
1189  rti1516_2025::LogicalTimeInterval const& lookahead) override;
1190 
1200  virtual void disableTimeRegulation() override;
1201 
1213  virtual void enableTimeConstrained() override;
1214 
1224  virtual void disableTimeConstrained() override;
1225 
1239  virtual void timeAdvanceRequest(
1240  rti1516_2025::LogicalTime const& time) override;
1241 
1255  virtual void timeAdvanceRequestAvailable(
1256  rti1516_2025::LogicalTime const& time) override;
1257 
1271  virtual void nextMessageRequest(
1272  rti1516_2025::LogicalTime const& time) override;
1273 
1287  virtual void nextMessageRequestAvailable(
1288  rti1516_2025::LogicalTime const& time) override;
1289 
1303  virtual void flushQueueRequest(
1304  rti1516_2025::LogicalTime const& time) override;
1305 
1315  virtual void enableAsynchronousDelivery() override;
1316 
1326  virtual void disableAsynchronousDelivery() override;
1327 
1336  virtual bool queryGALT(rti1516_2025::LogicalTime& time) override;
1337 
1346  virtual void queryLogicalTime(rti1516_2025::LogicalTime& time) override;
1347 
1356  virtual bool queryLITS(rti1516_2025::LogicalTime& time) override;
1357 
1369  virtual void modifyLookahead(
1370  rti1516_2025::LogicalTimeInterval const& lookahead) override;
1371 
1381  virtual void queryLookahead(rti1516_2025::LogicalTimeInterval& interval) override;
1382 
1394  virtual void retract(
1395  rti1516_2025::MessageRetractionHandle const& retraction) override;
1396 
1408  virtual void changeAttributeOrderType(
1409  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1410  rti1516_2025::AttributeHandleSet const& attributes,
1411  rti1516_2025::OrderType orderType) override;
1412 
1423  virtual void changeDefaultAttributeOrderType(
1424  rti1516_2025::ObjectClassHandle const& objectClass,
1425  rti1516_2025::AttributeHandleSet const& attributes,
1426  rti1516_2025::OrderType orderType) override;
1427 
1438  virtual void changeInteractionOrderType(
1439  rti1516_2025::InteractionClassHandle const& interactionClass,
1440  rti1516_2025::OrderType orderType) override;
1441 
1445 
1455  virtual rti1516_2025::RegionHandle createRegion(
1456  rti1516_2025::DimensionHandleSet const& dimensions) override;
1457 
1468  virtual void commitRegionModifications(
1469  rti1516_2025::RegionHandleSet const& regions) override;
1470 
1482  virtual void deleteRegion(
1483  rti1516_2025::RegionHandle const& region) override;
1484 
1500  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1501  rti1516_2025::ObjectClassHandle const& objectClass,
1502  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) override;
1503 
1521  virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1522  rti1516_2025::ObjectClassHandle const& objectClass,
1524  std::wstring const& objectInstanceName) override;
1525 
1539  virtual void associateRegionsForUpdates(
1540  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1541  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) override;
1542 
1555  virtual void unassociateRegionsForUpdates(
1556  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1557  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) override;
1558 
1572  virtual void subscribeObjectClassAttributesWithRegions(
1573  rti1516_2025::ObjectClassHandle const& objectClass,
1575  bool active = true,
1576  std::wstring const& updateRateDesignator = L"") override;
1577 
1578 
1591  virtual void unsubscribeObjectClassAttributesWithRegions(
1592  rti1516_2025::ObjectClassHandle const& objectClass,
1593  rti1516_2025::AttributeHandleSetRegionHandleSetPairVector const& attributesAndRegions) override;
1594 
1608  virtual void subscribeInteractionClassWithRegions(
1609  rti1516_2025::InteractionClassHandle const& interactionClass,
1610  rti1516_2025::RegionHandleSet const& regions,
1611  bool active = true) override;
1612 
1626  virtual void unsubscribeInteractionClassWithRegions(
1627  rti1516_2025::InteractionClassHandle const& interactionClass,
1628  rti1516_2025::RegionHandleSet const& regions) override;
1629 
1644  virtual void sendInteractionWithRegions(
1645  rti1516_2025::InteractionClassHandle const& interactionClass,
1646  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1647  rti1516_2025::RegionHandleSet const& regions,
1648  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1649 
1665  virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1666  rti1516_2025::InteractionClassHandle const& interactionClass,
1667  rti1516_2025::ParameterHandleValueMap const& parameterValues,
1668  rti1516_2025::RegionHandleSet const& regions,
1669  rti1516_2025::VariableLengthData const& userSuppliedTag,
1670  rti1516_2025::LogicalTime const& time) override;
1671 
1685  virtual void requestAttributeValueUpdateWithRegions(
1686  rti1516_2025::ObjectClassHandle const& objectClass,
1688  rti1516_2025::VariableLengthData const& userSuppliedTag) override;
1689 
1693 
1701  virtual rti1516_2025::FederateHandle getFederateHandle(
1702  std::wstring const& federateName) override;
1703 
1712  virtual std::wstring getFederateName(
1713  rti1516_2025::FederateHandle const& federate) override;
1714 
1722  virtual rti1516_2025::ObjectClassHandle getObjectClassHandle(
1723  std::wstring const& objectClassName) override;
1724 
1732  virtual std::wstring getObjectClassName(
1733  rti1516_2025::ObjectClassHandle const& objectClass) override;
1734 
1742  virtual rti1516_2025::ObjectClassHandle getKnownObjectClassHandle(
1743  rti1516_2025::ObjectInstanceHandle const& objectInstance) override;
1744 
1752  virtual rti1516_2025::ObjectInstanceHandle getObjectInstanceHandle(
1753  std::wstring const& objectInstanceName) override;
1754 
1762  virtual std::wstring getObjectInstanceName(
1763  rti1516_2025::ObjectInstanceHandle const& objectInstance) override;
1764 
1773  virtual rti1516_2025::AttributeHandle getAttributeHandle(
1774  rti1516_2025::ObjectClassHandle const& objectClass,
1775  std::wstring const& attributeName) override;
1776 
1786  virtual std::wstring getAttributeName(
1787  rti1516_2025::ObjectClassHandle const& objectClass,
1788  rti1516_2025::AttributeHandle const& attribute) override;
1789 
1797  virtual double getUpdateRateValue(
1798  std::wstring const& updateRateDesignator) override;
1799 
1808  virtual double getUpdateRateValueForAttribute(
1809  rti1516_2025::ObjectInstanceHandle const& objectInstance,
1810  rti1516_2025::AttributeHandle const& attribute) override;
1811 
1819  virtual rti1516_2025::InteractionClassHandle getInteractionClassHandle(
1820  std::wstring const& interactionClassName) override;
1821 
1829  virtual std::wstring getInteractionClassName(
1830  rti1516_2025::InteractionClassHandle const& interactionClass) override;
1831 
1840  virtual rti1516_2025::ParameterHandle getParameterHandle(
1841  rti1516_2025::InteractionClassHandle const& interactionClass,
1842  std::wstring const& parameterName) override;
1843 
1853  virtual std::wstring getParameterName(
1854  rti1516_2025::InteractionClassHandle const& interactionClass,
1855  rti1516_2025::ParameterHandle const& parameter) override;
1856 
1864  virtual rti1516_2025::OrderType getOrderType(
1865  std::wstring const& orderTypeName) override;
1866 
1874  virtual std::wstring getOrderName(
1875  rti1516_2025::OrderType orderType) override;
1876 
1884  virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1885  std::wstring const& transportationTypeName) override;
1886 
1894  virtual std::wstring getTransportationTypeName(
1895  rti1516_2025::TransportationTypeHandle const& transportationType) override;
1896 
1904  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForObjectClass(
1905  rti1516_2025::ObjectClassHandle const& objectClass) override;
1906 
1914  virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForInteractionClass(
1915  rti1516_2025::InteractionClassHandle const& interactionClass) override;
1916 
1924  virtual rti1516_2025::DimensionHandle getDimensionHandle(
1925  std::wstring const& dimensionName) override;
1926 
1934  virtual std::wstring getDimensionName(
1935  rti1516_2025::DimensionHandle const& dimension) override;
1936 
1944  virtual unsigned long getDimensionUpperBound(
1945  rti1516_2025::DimensionHandle const& dimension) override;
1946 
1956  virtual rti1516_2025::DimensionHandleSet getDimensionHandleSet(
1957  rti1516_2025::RegionHandle const& region) override;
1958 
1969  virtual rti1516_2025::RangeBounds getRangeBounds(
1970  rti1516_2025::RegionHandle const& region,
1971  rti1516_2025::DimensionHandle const& dimension) override;
1972 
1985  virtual void setRangeBounds(
1986  rti1516_2025::RegionHandle const& region,
1987  rti1516_2025::DimensionHandle const& dimension,
1988  rti1516_2025::RangeBounds const& rangeBounds) override;
1989 
1997  virtual unsigned long normalizeServiceGroup(
1998  rti1516_2025::ServiceGroup serviceGroup) override;
1999 
2007  virtual unsigned long normalizeFederateHandle(
2008  rti1516_2025::FederateHandle const& federate) override;
2009 
2017  virtual unsigned long normalizeObjectClassHandle(
2018  rti1516_2025::ObjectClassHandle const& objectClass) override;
2019 
2027  virtual unsigned long normalizeInteractionClassHandle(
2028  rti1516_2025::InteractionClassHandle const& interactionClass) override;
2029 
2037  virtual unsigned long normalizeObjectInstanceHandle(
2038  rti1516_2025::ObjectInstanceHandle const& objectInstance) override;
2039 
2048  virtual bool getObjectClassRelevanceAdvisorySwitch() const override;
2049 
2058  virtual void setObjectClassRelevanceAdvisorySwitch(bool switchValue) override;
2059 
2068  virtual bool getAttributeRelevanceAdvisorySwitch() const override;
2069 
2078  virtual void setAttributeRelevanceAdvisorySwitch(bool switchValue) override;
2079 
2088  virtual bool getAttributeScopeAdvisorySwitch() const override;
2089 
2098  virtual void setAttributeScopeAdvisorySwitch(bool switchValue) override;
2099 
2108  virtual bool getInteractionRelevanceAdvisorySwitch() const override;
2109 
2118  virtual void setInteractionRelevanceAdvisorySwitch(bool switchValue) override;
2119 
2128  virtual bool getConveyRegionDesignatorSetsSwitch() const override;
2129 
2138  virtual void setConveyRegionDesignatorSetsSwitch(bool switchValue) override;
2139 
2148  virtual rti1516_2025::ResignAction getAutomaticResignDirective() override;
2149 
2159  virtual void setAutomaticResignDirective(
2160  rti1516_2025::ResignAction resignAction) override;
2161 
2170  virtual bool getServiceReportingSwitch() const override;
2171 
2181  virtual void setServiceReportingSwitch(bool switchValue) override;
2182 
2191  virtual bool getExceptionReportingSwitch() const override;
2192 
2201  virtual void setExceptionReportingSwitch(bool switchValue) override;
2202 
2211  virtual bool getSendServiceReportsToFileSwitch() const override;
2212 
2221  virtual void setSendServiceReportsToFileSwitch(bool switchValue) override;
2222 
2231  virtual bool getAutoProvideSwitch() const override;
2232 
2241  virtual bool getDelaySubscriptionEvaluationSwitch() const override;
2242 
2251  virtual bool getAdvisoriesUseKnownClassSwitch() const override;
2252 
2261  virtual bool getAllowRelaxedDDMSwitch() const override;
2262 
2271  virtual bool getNonRegulatedGrantSwitch() const override;
2272 
2278  virtual bool evokeCallback(
2279  double approximateMinimumTimeInSeconds,
2280  bool unlockWhileWaiting = false) override;
2281 
2287  virtual bool evokeMultipleCallbacks(
2288  double approximateMinimumTimeInSeconds,
2289  double approximateMaximumTimeInSeconds,
2290  bool unlockWhileWaiting = false) override;
2291 
2298  virtual void enableCallbacks() override;
2299 
2306  virtual void disableCallbacks() override;
2307 
2311 
2313 
2317  virtual std::unique_ptr<rti1516_2025::LogicalTimeFactory> getTimeFactory() const override;
2318 
2320 
2321 
2328  virtual rti1516_2025::FederateHandle decodeFederateHandle(
2329  rti1516_2025::VariableLengthData const& encodedValue) const override;
2330 
2337  virtual rti1516_2025::ObjectClassHandle decodeObjectClassHandle(
2338  rti1516_2025::VariableLengthData const& encodedValue) const override;
2339 
2346  virtual rti1516_2025::InteractionClassHandle decodeInteractionClassHandle(
2347  rti1516_2025::VariableLengthData const& encodedValue) const override;
2348 
2355  virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2356  rti1516_2025::VariableLengthData const& encodedValue) const override;
2357 
2364  virtual rti1516_2025::AttributeHandle decodeAttributeHandle(
2365  rti1516_2025::VariableLengthData const& encodedValue) const override;
2366 
2373  virtual rti1516_2025::ParameterHandle decodeParameterHandle(
2374  rti1516_2025::VariableLengthData const& encodedValue) const override;
2375 
2382  virtual rti1516_2025::DimensionHandle decodeDimensionHandle(
2383  rti1516_2025::VariableLengthData const& encodedValue) const override;
2384 
2391  virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2392  rti1516_2025::VariableLengthData const& encodedValue) const override;
2393 
2400  virtual rti1516_2025::RegionHandle decodeRegionHandle(
2401  rti1516_2025::VariableLengthData const& encodedValue) const override;
2402 
2403 public:
2404 
2405  // Creates an instance of a DtRtiAmbassadorImplementor
2406  static DtRtiAmbassadorImplementor* create(rti1516_2025::RTIambassador* topLevelAmbPtr);
2407 
2408 protected:
2409 
2411  virtual rti1516_2025::ConfigurationResult doConnect(
2412  rti1516_2025::FederateAmbassador& federateAmbassador,
2413  rti1516_2025::CallbackModel theCallbackModel,
2414  rti1516_2025::RtiConfiguration const* configuration = nullptr,
2415  rti1516_2025::Credentials const* credentials = nullptr) override;
2416 
2418  virtual void clearManagers();
2419 
2420 protected:
2421 
2422  // Wrapper to capture statistics for federate ambassador calls
2423  DtNetStatsFedAmbWrapper* myStatisticsFedAmb;
2424  const DtString myStatisticsFedAmbName;
2425 
2426  // Statistics Log
2427  DtNetStatsMonitor* myNetStats;
2428 
2429  // API Call Timer
2430  MAKRti::DtClock myTimer;
2431 
2432  DtTime myStartTime;
2433 
2434  // Enable/Disable flag for network statistics
2435  bool myNetStatsEnabled;
2436 
2437 };
2438 
2439 #endif // DtIFSPEC1516_2025
OrderType
Definition: datatypes.pb.h:472
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
Definition: netStatsMonitor.h:33
ServiceGroup
Definition: datatypes.pb.h:497
CallbackModel
Definition: datatypes.pb.h:280
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:39
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:57
An abstract base class which must be implemented, and used by a federate.
DtRtiAmbAPIType
Definition: rtiAmbAPITypes.h:12
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< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:38
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49

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)