MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
momWrapper1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #ifdef DtMOM
12 #ifdef DtIFSPEC1516E
13 
14 #include "rtiMsConfig.h"
15 #include "fedAmbWrap1516e.h"
16 #include "momArgument.h"
17 
18 class DtFederateMgr;
19 class DtFomClassMgr;
20 class DtMomMgr;
21 class DtObjectMgr;
22 class DtMomWrapper;
23 
25 typedef DtMomWrapper* (*DtMomWrapperCreator)(DtMomMgr* momMgrPtr);
26 
27 class DT_DLL_LRC DtMomWrapper : public DtFedAmbWrapper
28 {
29 public:
30 
32 
33  static DtMomWrapper* create(DtMomMgr* momMgrPtr);
34  static void setCreator(DtMomWrapperCreator functionPtr);
36 
38  DtMomWrapper(DtMomMgr* momMgrPtr);
39 
41  virtual ~DtMomWrapper() throw ();
42 
44  virtual DtMomMgr* momMgr();
45 
47  virtual void reset();
48 
49  // Get the verbose level
50  virtual int verboseLevel() const;
51 
52  virtual DtFederateMgr* fedMgr();
53  virtual DtFomClassMgr* fomMgr();
54  virtual DtObjectMgr* objMgr();
55 
58  virtual unsigned long objectRemoveCount() const;
59 
62  virtual unsigned long objectDiscoverCount() const;
63 
65 
66 
67 
68  // 4.8
69  virtual void reportFederationExecutions (
70  rti1516e::FederationExecutionInformationVector const & theFederationExecutionInformationList)
71  throw (
72  rti1516e::FederateInternalError);
73 
74  // 4.12
76  std::wstring const & label)
77  throw (
78  rti1516e::FederateInternalError);
79 
81  std::wstring const & label,
82  rti1516e::SynchronizationPointFailureReason reason)
83  throw (
84  rti1516e::FederateInternalError);
85 
86  // 4.13
87  virtual void announceSynchronizationPoint (
88  std::wstring const & label,
89  rti1516e::VariableLengthData const & theUserSuppliedTag)
90  throw (
91  rti1516e::FederateInternalError);
92 
93  // 4.15
94  virtual void federationSynchronized (
95  std::wstring const & label,
96  rti1516e::FederateHandleSet const& failedToSyncSet)
97  throw (
98  rti1516e::FederateInternalError);
99 
100  // 4.17
101  virtual void initiateFederateSave (
102  std::wstring const & label)
103  throw (
104  rti1516e::FederateInternalError);
105 
106  virtual void initiateFederateSave (
107  std::wstring const & label,
108  rti1516e::LogicalTime const & theTime)
109  throw (
110  rti1516e::FederateInternalError);
111 
112  // 4.20
113  virtual void federationSaved ()
114  throw (
115  rti1516e::FederateInternalError);
116 
117  virtual void federationNotSaved (
118  rti1516e::SaveFailureReason theSaveFailureReason)
119  throw (
120  rti1516e::FederateInternalError);
121 
122 
123  // 4.23
124  virtual void federationSaveStatusResponse (
125  rti1516e::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
126  throw (
127  rti1516e::FederateInternalError);
128 
129  // 4.25
130  virtual void requestFederationRestoreSucceeded (
131  std::wstring const & label)
132  throw (
133  rti1516e::FederateInternalError);
134 
135  virtual void requestFederationRestoreFailed (
136  std::wstring const & label)
137  throw (
138  rti1516e::FederateInternalError);
139 
140  // 4.26
141  virtual void federationRestoreBegun ()
142  throw (
143  rti1516e::FederateInternalError);
144 
145  // 4.27
146  virtual void initiateFederateRestore (
147  std::wstring const & label,
148  std::wstring const & federateName,
149  rti1516e::FederateHandle handle)
150  throw (
151  rti1516e::FederateInternalError);
152 
153  // 4.29
154  virtual void federationRestored ()
155  throw (
156  rti1516e::FederateInternalError);
157 
158  virtual void federationNotRestored (
159  rti1516e::RestoreFailureReason theRestoreFailureReason)
160  throw (
161  rti1516e::FederateInternalError);
162 
163  // 4.32
164  virtual void federationRestoreStatusResponse (
165  rti1516e::FederateRestoreStatusVector const & theFederateRestoreStatusVector)
166  throw (
167  rti1516e::FederateInternalError);
168 
170  // Declaration Management Services //
172 
173  // 5.10
174  virtual void startRegistrationForObjectClass (
175  rti1516e::ObjectClassHandle theClass)
176  throw (
177  rti1516e::FederateInternalError);
178 
179  // 5.11
180  virtual void stopRegistrationForObjectClass (
181  rti1516e::ObjectClassHandle theClass)
182  throw (
183  rti1516e::FederateInternalError);
184 
185  // 5.12
186  virtual void turnInteractionsOn (
187  rti1516e::InteractionClassHandle theHandle)
188  throw (
189  rti1516e::FederateInternalError);
190 
191  // 5.13
192  virtual void turnInteractionsOff (
193  rti1516e::InteractionClassHandle theHandle)
194  throw (
195  rti1516e::FederateInternalError);
196 
198  // Object Management Services //
200 
201  // 6.3
202  virtual void objectInstanceNameReservationSucceeded (
203  std::wstring const & theObjectInstanceName)
204  throw (
205  rti1516e::FederateInternalError);
206 
207  virtual void objectInstanceNameReservationFailed (
208  std::wstring const & theObjectInstanceName)
209  throw (
210  rti1516e::FederateInternalError);
211 
212  // 6.6
213  virtual void multipleObjectInstanceNameReservationSucceeded (
214  std::set<std::wstring> const & theObjectInstanceNames)
215  throw (
216  rti1516e::FederateInternalError);
217 
218  virtual void multipleObjectInstanceNameReservationFailed (
219  std::set<std::wstring> const & theObjectInstanceNames)
220  throw (
221  rti1516e::FederateInternalError);
222 
223  // 6.9
224  virtual void discoverObjectInstance (
225  rti1516e::ObjectInstanceHandle theObject,
226  rti1516e::ObjectClassHandle theObjectClass,
227  std::wstring const & theObjectInstanceName)
228  throw (
229  rti1516e::FederateInternalError);
230 
231  virtual void discoverObjectInstance (
232  rti1516e::ObjectInstanceHandle theObject,
233  rti1516e::ObjectClassHandle theObjectClass,
234  std::wstring const & theObjectInstanceName,
235  rti1516e::FederateHandle producingFederate)
236  throw (
237  rti1516e::FederateInternalError);
238 
239  // 6.11
240  virtual void reflectAttributeValues (
241  rti1516e::ObjectInstanceHandle theObject,
242  rti1516e::AttributeHandleValueMap const & theAttributeValues,
243  rti1516e::VariableLengthData const & theUserSuppliedTag,
244  rti1516e::OrderType sentOrder,
245  rti1516e::TransportationType theType,
246  rti1516e::SupplementalReflectInfo theReflectInfo)
247  throw (
248  rti1516e::FederateInternalError);
249 
250  virtual void reflectAttributeValues (
251  rti1516e::ObjectInstanceHandle theObject,
252  rti1516e::AttributeHandleValueMap const & theAttributeValues,
253  rti1516e::VariableLengthData const & theUserSuppliedTag,
254  rti1516e::OrderType sentOrder,
255  rti1516e::TransportationType theType,
256  rti1516e::LogicalTime const & theTime,
257  rti1516e::OrderType receivedOrder,
258  rti1516e::SupplementalReflectInfo theReflectInfo)
259  throw (
260  rti1516e::FederateInternalError);
261 
262  virtual void reflectAttributeValues (
263  rti1516e::ObjectInstanceHandle theObject,
264  rti1516e::AttributeHandleValueMap const & theAttributeValues,
265  rti1516e::VariableLengthData const & theUserSuppliedTag,
266  rti1516e::OrderType sentOrder,
267  rti1516e::TransportationType theType,
268  rti1516e::LogicalTime const & theTime,
269  rti1516e::OrderType receivedOrder,
270  rti1516e::MessageRetractionHandle theHandle,
271  rti1516e::SupplementalReflectInfo theReflectInfo)
272  throw (
273  rti1516e::FederateInternalError);
274 
275  // 6.13
276  virtual void receiveInteraction (
277  rti1516e::InteractionClassHandle theInteraction,
278  rti1516e::ParameterHandleValueMap const & theParameterValues,
279  rti1516e::VariableLengthData const & theUserSuppliedTag,
280  rti1516e::OrderType sentOrder,
281  rti1516e::TransportationType theType,
282  rti1516e::SupplementalReceiveInfo theReceiveInfo)
283  throw (
284  rti1516e::FederateInternalError);
285 
286  virtual void receiveInteraction (
287  rti1516e::InteractionClassHandle theInteraction,
288  rti1516e::ParameterHandleValueMap const & theParameterValues,
289  rti1516e::VariableLengthData const & theUserSuppliedTag,
290  rti1516e::OrderType sentOrder,
291  rti1516e::TransportationType theType,
292  rti1516e::LogicalTime const & theTime,
293  rti1516e::OrderType receivedOrder,
294  rti1516e::SupplementalReceiveInfo theReceiveInfo)
295  throw (
296  rti1516e::FederateInternalError);
297 
298  virtual void receiveInteraction (
299  rti1516e::InteractionClassHandle theInteraction,
300  rti1516e::ParameterHandleValueMap const & theParameterValues,
301  rti1516e::VariableLengthData const & theUserSuppliedTag,
302  rti1516e::OrderType sentOrder,
303  rti1516e::TransportationType theType,
304  rti1516e::LogicalTime const & theTime,
305  rti1516e::OrderType receivedOrder,
306  rti1516e::MessageRetractionHandle theHandle,
307  rti1516e::SupplementalReceiveInfo theReceiveInfo)
308  throw (
309  rti1516e::FederateInternalError);
310 
311  // 6.15
312  virtual void removeObjectInstance (
313  rti1516e::ObjectInstanceHandle theObject,
314  rti1516e::VariableLengthData const & theUserSuppliedTag,
315  rti1516e::OrderType sentOrder,
316  rti1516e::SupplementalRemoveInfo theRemoveInfo)
317  throw (
318  rti1516e::FederateInternalError);
319 
320  virtual void removeObjectInstance (
321  rti1516e::ObjectInstanceHandle theObject,
322  rti1516e::VariableLengthData const & theUserSuppliedTag,
323  rti1516e::OrderType sentOrder,
324  rti1516e::LogicalTime const & theTime,
325  rti1516e::OrderType receivedOrder,
326  rti1516e::SupplementalRemoveInfo theRemoveInfo)
327  throw (
328  rti1516e::FederateInternalError);
329 
330  virtual void removeObjectInstance (
331  rti1516e::ObjectInstanceHandle theObject,
332  rti1516e::VariableLengthData const & theUserSuppliedTag,
333  rti1516e::OrderType sentOrder,
334  rti1516e::LogicalTime const & theTime,
335  rti1516e::OrderType receivedOrder,
336  rti1516e::MessageRetractionHandle theHandle,
337  rti1516e::SupplementalRemoveInfo theRemoveInfo)
338  throw (
339  rti1516e::FederateInternalError);
340 
341  // 6.17
342  virtual void attributesInScope (
343  rti1516e::ObjectInstanceHandle theObject,
344  rti1516e::AttributeHandleSet const & theAttributes)
345  throw (
346  rti1516e::FederateInternalError);
347 
348  // 6.18
349  virtual void attributesOutOfScope (
350  rti1516e::ObjectInstanceHandle theObject,
351  rti1516e::AttributeHandleSet const & theAttributes)
352  throw (
353  rti1516e::FederateInternalError);
354 
355  // 6.20
356  virtual void provideAttributeValueUpdate (
357  rti1516e::ObjectInstanceHandle theObject,
358  rti1516e::AttributeHandleSet const & theAttributes,
359  rti1516e::VariableLengthData const & theUserSuppliedTag)
360  throw (
361  rti1516e::FederateInternalError);
362 
363  // 6.21
364  virtual void turnUpdatesOnForObjectInstance (
365  rti1516e::ObjectInstanceHandle theObject,
366  rti1516e::AttributeHandleSet const & theAttributes)
367  throw (
368  rti1516e::FederateInternalError);
369 
370  virtual void turnUpdatesOnForObjectInstance (
371  rti1516e::ObjectInstanceHandle theObject,
372  rti1516e::AttributeHandleSet const & theAttributes,
373  std::wstring const & updateRateDesignator)
374  throw (
375  rti1516e::FederateInternalError);
376 
377  // 6.22
378  virtual void turnUpdatesOffForObjectInstance (
379  rti1516e::ObjectInstanceHandle theObject,
380  rti1516e::AttributeHandleSet const & theAttributes)
381  throw (
382  rti1516e::FederateInternalError);
383 
384  // 6.24
385  virtual void confirmAttributeTransportationTypeChange (
386  rti1516e::ObjectInstanceHandle theObject,
387  rti1516e::AttributeHandleSet theAttributes,
388  rti1516e::TransportationType theTransportation)
389  throw (
390  rti1516e::FederateInternalError);
391 
392  // 6.26
393  virtual void reportAttributeTransportationType (
394  rti1516e::ObjectInstanceHandle theObject,
395  rti1516e::AttributeHandle theAttribute,
396  rti1516e::TransportationType theTransportation)
397  throw (
398  rti1516e::FederateInternalError);
399 
400  // 6.28
401  virtual void confirmInteractionTransportationTypeChange (
402  rti1516e::InteractionClassHandle theInteraction,
403  rti1516e::TransportationType theTransportation)
404  throw (
405  rti1516e::FederateInternalError);
406 
407  // 6.30
408  virtual void reportInteractionTransportationType (
409  rti1516e::FederateHandle federateHandle,
410  rti1516e::InteractionClassHandle theInteraction,
411  rti1516e::TransportationType theTransportation)
412  throw (
413  rti1516e::FederateInternalError);
414 
415 
417  // Ownership Management Services //
419 
420  // 7.4
422  rti1516e::ObjectInstanceHandle theObject,
423  rti1516e::AttributeHandleSet const & offeredAttributes,
424  rti1516e::VariableLengthData const & theUserSuppliedTag)
425  throw (
426  rti1516e::FederateInternalError);
427 
428  // 7.5
429  virtual void requestDivestitureConfirmation (
430  rti1516e::ObjectInstanceHandle theObject,
431  rti1516e::AttributeHandleSet const & releasedAttributes)
432  throw (
433  rti1516e::FederateInternalError);
434 
435  // 7.7
437  rti1516e::ObjectInstanceHandle theObject,
438  rti1516e::AttributeHandleSet const & securedAttributes,
439  rti1516e::VariableLengthData const & theUserSuppliedTag)
440  throw (
441  rti1516e::FederateInternalError);
442 
443  // 7.10
444  virtual void attributeOwnershipUnavailable (
445  rti1516e::ObjectInstanceHandle theObject,
446  rti1516e::AttributeHandleSet const & theAttributes)
447  throw (
448  rti1516e::FederateInternalError);
449 
450  // 7.11
451  virtual void requestAttributeOwnershipRelease (
452  rti1516e::ObjectInstanceHandle theObject,
453  rti1516e::AttributeHandleSet const & candidateAttributes,
454  rti1516e::VariableLengthData const & theUserSuppliedTag)
455  throw (
456  rti1516e::FederateInternalError);
457 
458  // 7.16
460  rti1516e::ObjectInstanceHandle theObject,
461  rti1516e::AttributeHandleSet const & theAttributes)
462  throw (
463  rti1516e::FederateInternalError);
464 
465  // 7.18
466  virtual void informAttributeOwnership (
467  rti1516e::ObjectInstanceHandle theObject,
468  rti1516e::AttributeHandle theAttribute,
469  rti1516e::FederateHandle theOwner)
470  throw (
471  rti1516e::FederateInternalError);
472 
473  virtual void attributeIsNotOwned (
474  rti1516e::ObjectInstanceHandle theObject,
475  rti1516e::AttributeHandle theAttribute)
476  throw (
477  rti1516e::FederateInternalError);
478 
479  virtual void attributeIsOwnedByRTI (
480  rti1516e::ObjectInstanceHandle theObject,
481  rti1516e::AttributeHandle theAttribute)
482  throw (
483  rti1516e::FederateInternalError);
484 
486  // Time Management Services //
488 
489  // 8.3
490  virtual void timeRegulationEnabled (
491  rti1516e::LogicalTime const & theFederateTime)
492  throw (
493  rti1516e::FederateInternalError);
494 
495  // 8.6
496  virtual void timeConstrainedEnabled (
497  rti1516e::LogicalTime const & theFederateTime)
498  throw (
499  rti1516e::FederateInternalError);
500 
501  // 8.13
502  virtual void timeAdvanceGrant (
503  rti1516e::LogicalTime const & theTime)
504  throw (
505  rti1516e::FederateInternalError);
506 
507  // 8.22
508  virtual void requestRetraction (
509  rti1516e::MessageRetractionHandle theHandle)
510  throw (
511  rti1516e::FederateInternalError);
513 
514 private:
516  DtMomWrapper( const DtMomWrapper& src );
517 
519  DtMomWrapper& operator=( const DtMomWrapper& src );
520 
521 protected:
522  DtMomMgr* myMomMgr;
523  unsigned long myDiscoverCount;
524  unsigned long myRemoveCount;
525 
526 protected:
527  static const DtMomArgument theDfltMomArgument;
528  static const DtMomArgument theDfltRetVal;
529  static DtMomWrapperCreator theCreator;
530 };
531 
532 #endif
533 #endif
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:57
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
OrderType
Definition: datatypes.pb.h:472
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
virtual void informAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)=0
7.16
virtual void initiateFederateRestore(const char *label, FederateHandle handle)=0
4.19
virtual void confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.14
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
TransportationType
Definition: rtiAmbassadorFedProBase.h:43
virtual void federationNotRestored()=0
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
RestoreFailureReason
Definition: datatypes.pb.h:388
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
virtual void removeObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.9
virtual void synchronizationPointRegistrationSucceeded(const char *label)=0
RTI Parameter Passing Memory Conventions.
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
virtual void initiateFederateSave(const char *label)=0
4.12
virtual void timeAdvanceGrant(const FedTime &theTime)=0
8.13
virtual void announceSynchronizationPoint(const char *label, const char *tag)=0
4.8
virtual void requestFederationRestoreFailed(const char *label, const char *reason)=0
supplied C4
virtual void federationNotSaved()=0
virtual void federationSynchronized(const char *label)=0
4.10
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:41
Definition: fomMgr.h:49
SaveFailureReason
Definition: datatypes.pb.h:359
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
virtual void attributeOwnershipAcquisitionNotification(ObjectHandle theObject, const AttributeHandleSet &securedAttributes)=0
7.6
virtual void reflectAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.5
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:36
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
The object manager class processes the object management services.
Definition: objMgr.h:81
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
virtual void federationRestored()=0
4.21
virtual void provideAttributeValueUpdate(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.16
virtual void turnUpdatesOffForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.18
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:29
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
SynchronizationPointFailureReason
Definition: datatypes.pb.h:334

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)