MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
momServices1516_2025.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2025 MAK Technologies
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 #ifdef DtMOM
7 #ifdef DtIFSPEC1516_2025
8 
11 
12 #include "rtiMsConfig.h"
13 #include "momInters.h"
14 
18 class DT_DLL_LRC DtMomServices
19 {
20 public:
22  typedef DtMomServices* (*DtMomServicesCreator)(DtMomMgr* momMgrPtr);
23 
24 protected:
25 
27  DtMomServices(DtMomMgr* momMgrPtr);
28 
29 public:
30 
32  virtual ~DtMomServices();
33 
34 private:
35 
37  DtMomServices(DtMomServices const& );
38 
40  DtMomServices& operator= (DtMomServices const& );
41 
42 public:
43 
45  DtMomMgr* momMgr() const;
46 
48  rti1516_2025::RTIambassador* rtiAmb() const;
49 
51  virtual rti1516_2025::FederateAmbassador* fedAmb() const;
52 
55 
56  virtual void changeAttributeOrderTypeInteraction(
57  const DtChangeAttributeOrderTypeInteraction& interaction);
58  virtual void changeAttributeTransportationTypeInteraction(
59  const DtChangeAttributeTransportationTypeInteraction& interaction);
60  virtual void changeInteractionOrderTypeInteraction(
61  const DtChangeInteractionOrderTypeInteraction& interaction);
62  virtual void changeInteractionTransportationTypeInteraction(
63  const DtChangeInteractionTransportationTypeInteraction& interaction);
64  virtual void deleteObjectInstanceInteraction(
65  const DtDeleteObjectInstanceInteraction& interaction);
66  virtual void disableAsynchronousDeliveryInteraction(
67  const DtDisableAsynchronousDeliveryInteraction& interaction);
68  virtual void disableTimeConstrainedInteraction(
69  const DtDisableTimeConstrainedInteraction& interaction);
70  virtual void disableTimeRegulationInteraction(
71  const DtDisableTimeRegulationInteraction& interaction);
72  virtual void enableAsynchronousDeliveryInteraction(
73  const DtEnableAsynchronousDeliveryInteraction& interaction);
74  virtual void enableTimeConstrainedInteraction(
75  const DtEnableTimeConstrainedInteraction& interaction);
76  virtual void enableTimeRegulationInteraction(
77  const DtEnableTimeRegulationInteraction& interaction);
78  virtual void federateRestoreCompleteInteraction(
79  const DtFederateRestoreCompleteInteraction& interaction);
80  virtual void federateSaveBegunInteraction(
81  const DtFederateSaveBegunInteraction& interaction);
82  virtual void federateSaveCompleteInteraction(
83  const DtFederateSaveCompleteInteraction& interaction);
84  virtual void flushQueueRequestInteraction(
85  const DtFlushQueueRequestInteraction& interaction);
86  virtual void localDeleteObjectInstanceInteraction(
87  const DtLocalDeleteObjectInstanceInteraction& interaction);
88  virtual void modifyLookaheadInteraction(
89  const DtModifyLookaheadInteraction& interaction);
90  virtual void nextEventRequestInteraction(
91  const DtNextEventRequestInteraction& interaction);
92  virtual void nextEventRequestAvailableInteraction(
93  const DtNextEventRequestAvailableInteraction& interaction);
94  virtual void publishInteractionClassInteraction(
95  const DtPublishInteractionClassInteraction& interaction);
96  virtual void publishObjectClassInteraction(
97  const DtPublishObjectClassInteraction& interaction);
98  virtual void subscribeInteractionClassInteraction(
99  const DtSubscribeInteractionClassInteraction& interaction);
100  virtual void subscribeObjectClassAttributesInteraction(
101  const DtSubscribeObjectClassAttributesInteraction& interaction);
102  virtual void synchronizationPointAchievedInteraction(
103  const DtSynchronizationPointAchievedInteraction& interaction);
104  virtual void timeAdvanceRequestInteraction(
105  const DtTimeAdvanceRequestInteraction& interaction);
106  virtual void timeAdvanceRequestAvailableInteraction(
107  const DtTimeAdvanceRequestAvailableInteraction& interaction);
108  virtual void unconditionalAttributeOwnershipDivestitureInteraction(
109  const DtUnconditionalAttributeOwnershipDivestitureInteraction& interaction);
110  virtual void unpublishInteractionClassInteraction(
111  const DtUnpublishInteractionClassInteraction& interaction);
112  virtual void unpublishObjectClassInteraction(
113  const DtUnpublishObjectClassInteraction& interaction);
114  virtual void unsubscribeInteractionClassInteraction(
115  const DtUnsubscribeInteractionClassInteraction& interaction);
116  virtual void unsubscribeObjectClassInteraction(
117  const DtUnsubscribeObjectClassInteraction& interaction);
119 
120 
121 
122 public:
123 
127  static DtMomServices* create(DtMomMgr* momMgrPtr);
128 
131  static void setCreatorFunction(DtMomServicesCreator fn);
132 
133 protected:
134 
136  DtMomMgr* myMomMgr;
137 
139  DtRtiApiUniquePtr<rti1516_2025::LogicalTime> myTime;
140 
142  DtRtiApiUniquePtr<rti1516_2025::LogicalTimeInterval> myInterval;
143 
144 protected:
146  static DtMomServicesCreator theCreator;
147 };
148 
149 #endif
150 #endif
An abstract base class which must be implemented, and used by a federate.
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

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)