MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbCallbackQueue1516_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 #ifdef DtIFSPEC1516_2025
8 
11 
12 #include <queue>
13 #include <RTI/Typedefs.h>
14 #include "fedAmbWrap1516_2025.h"
15 #include "rtiMsg.h"
16 
17 class DtFederateMgr;
19 
20 typedef std::queue<DtRtiMsg*> DtFedAmbMsgQueue;
21 
25 class DT_DLL_LRC DtCallbackQueue : public DtFedAmbWrapper
26 {
27 public:
28 
30  DtCallbackQueue(DtFederateMgr* fedMgr = 0);
31 
33  virtual ~DtCallbackQueue();
34 
35 private:
37  DtCallbackQueue(DtCallbackQueue const& orig);
39  DtCallbackQueue& operator = (DtCallbackQueue const& orig);
40 
41 public:
42 
44  virtual void enableQueue();
45 
47  virtual void disableQueue();
48 
50  MAKRti::DtString const& name() const;
51 
53  virtual DtRtiMsg* popMessage();
54 
56  virtual bool isEmpty();
57 
61 
62 
63  // 4.4
64  virtual void connectionLost (
65  std::wstring const& faultDescription) override;
66 
67  // 4.8
68  virtual void reportFederationExecutions (
69  rti1516_2025::FederationExecutionInformationVector const& theFederationExecutionInformationList) override;;
70 
71  // 4.10
72  virtual void reportFederationExecutionMembers(
73  std::wstring const& thefederationExecutionName,
74  rti1516_2025::FederationExecutionMemberInformationVector const& theFederationExecutionMemberInformationList) override;
75 
76  // 4.12
78  std::wstring const& label) override;
79 
81  std::wstring const& label,
83 
84  // 4.13
85  virtual void announceSynchronizationPoint (
86  std::wstring const& label,
87  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
88 
89  // 4.15
90  virtual void federationSynchronized (
91  std::wstring const& label,
92  rti1516_2025::FederateHandleSet const& failedToSyncSet) override;
93 
94  // 4.17
95  virtual void initiateFederateSave (
96  std::wstring const& label) override;
97 
98  virtual void initiateFederateSave (
99  std::wstring const& label,
100  rti1516_2025::LogicalTime const& theTime) override;
101 
102  // 4.20
103  virtual void federationSaved () override;
104 
105  virtual void federationNotSaved (
106  rti1516_2025::SaveFailureReason theSaveFailureReason) override;
107 
108 
109  // 4.23
110  virtual void federationSaveStatusResponse (
111  rti1516_2025::FederateHandleSaveStatusPairVector const&
112  theFederateStatusVector) override;
113 
114  // 4.25
115  virtual void requestFederationRestoreSucceeded (
116  std::wstring const& label) override;
117 
118  virtual void requestFederationRestoreFailed (
119  std::wstring const& label) override;
120 
121  // 4.26
122  virtual void federationRestoreBegun () override;
123 
124  // 4.27
125  virtual void initiateFederateRestore (
126  std::wstring const& label,
127  std::wstring const& federateName,
128  rti1516_2025::FederateHandle const& handle) override;
129 
130  // 4.29
131  virtual void federationRestored () override;
132 
133  virtual void federationNotRestored (
134  rti1516_2025::RestoreFailureReason theRestoreFailureReason) override;
135 
136  // 4.32
137  virtual void federationRestoreStatusResponse (
138  rti1516_2025::FederateRestoreStatusVector const&
139  theFederateRestoreStatusVector) override;
140 
142  // Declaration Management Services //
144 
145  // 5.10
146  virtual void startRegistrationForObjectClass (
147  rti1516_2025::ObjectClassHandle const& theClass) override;
148 
149  // 5.11
150  virtual void stopRegistrationForObjectClass (
151  rti1516_2025::ObjectClassHandle const& theClass) override;
152 
153  // 5.12
154  virtual void turnInteractionsOn (
155  rti1516_2025::InteractionClassHandle const& theHandle) override;
156 
157  // 5.13
158  virtual void turnInteractionsOff (
159  rti1516_2025::InteractionClassHandle const& theHandle) override;
160 
162  // Object Management Services //
164 
165  // 6.3
166  virtual void objectInstanceNameReservationSucceeded (
167  std::wstring const& theObjectInstanceName) override;
168 
169  virtual void objectInstanceNameReservationFailed (
170  std::wstring const& theObjectInstanceName) override;
171 
172  // 6.6
173  virtual void multipleObjectInstanceNameReservationSucceeded (
174  std::set<std::wstring> const& theObjectInstanceNames) override;
175 
176  virtual void multipleObjectInstanceNameReservationFailed (
177  std::set<std::wstring> const& theObjectInstanceNames) override;
178 
179  // 6.9
180  virtual void discoverObjectInstance (
181  rti1516_2025::ObjectInstanceHandle const& theObject,
182  rti1516_2025::ObjectClassHandle const& theObjectClass,
183  std::wstring const& theObjectInstanceName,
184  rti1516_2025::FederateHandle const& producingFederate) override;
185 
186  // 6.11
187  virtual void reflectAttributeValues(
188  rti1516_2025::ObjectInstanceHandle const& theObject,
189  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
190  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
191  rti1516_2025::TransportationTypeHandle const& theType,
192  rti1516_2025::FederateHandle const& theProducingFederate,
193  rti1516_2025::RegionHandleSet const* theOptionalSentRegions) override;
194 
195  virtual void reflectAttributeValues(
196  rti1516_2025::ObjectInstanceHandle const& theObject,
197  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
198  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
199  rti1516_2025::TransportationTypeHandle const& theType,
200  rti1516_2025::FederateHandle const& theProducingFederate,
201  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
202  rti1516_2025::LogicalTime const& theTime,
203  rti1516_2025::OrderType theSentOrder,
204  rti1516_2025::OrderType theReceivedOrder,
205  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction) override;
206 
207  // 6.13
208  virtual void receiveInteraction(
209  rti1516_2025::InteractionClassHandle const& theInteraction,
210  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
211  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
212  rti1516_2025::TransportationTypeHandle const& theType,
213  rti1516_2025::FederateHandle const& theProducingFederate,
214  const rti1516_2025::RegionHandleSet* theOptionalSentRegions) override;
215 
216  virtual void receiveInteraction(
217  rti1516_2025::InteractionClassHandle const& theInteraction,
218  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
219  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
220  rti1516_2025::TransportationTypeHandle const& theType,
221  rti1516_2025::FederateHandle const& theProducingFederate,
222  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
223  rti1516_2025::LogicalTime const& theTime,
224  rti1516_2025::OrderType theSentOrder,
225  rti1516_2025::OrderType theReceivedOrder,
226  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction) override;
227 
228  // 6.13
229  virtual void receiveDirectedInteraction(
230  rti1516_2025::InteractionClassHandle const& theInteraction,
231  rti1516_2025::ObjectInstanceHandle const& theObject,
232  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
233  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
234  rti1516_2025::TransportationTypeHandle const& theType,
235  rti1516_2025::FederateHandle const& producingFederate) override;
236 
237  virtual void receiveDirectedInteraction(
238  rti1516_2025::InteractionClassHandle const& theInteraction,
239  rti1516_2025::ObjectInstanceHandle const& theObject,
240  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
241  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
242  rti1516_2025::TransportationTypeHandle const& theType,
243  rti1516_2025::FederateHandle const& theProducingFederate,
244  rti1516_2025::LogicalTime const& theTime,
245  rti1516_2025::OrderType theSentOrder,
246  rti1516_2025::OrderType theReceivedOrder,
247  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction) override;
248 
249  // 6.15
250  virtual void removeObjectInstance(
251  rti1516_2025::ObjectInstanceHandle const& theObject,
252  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
253  rti1516_2025::FederateHandle const& theProducingFederate) override;
254 
255  virtual void removeObjectInstance(
256  rti1516_2025::ObjectInstanceHandle const& theObject,
257  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
258  rti1516_2025::FederateHandle const& theProducingFederate,
259  rti1516_2025::LogicalTime const& theTime,
260  rti1516_2025::OrderType theSentOrder,
261  rti1516_2025::OrderType theReceivedOrder,
262  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction) override;
263 
264  // 6.17
265  virtual void attributesInScope (
266  rti1516_2025::ObjectInstanceHandle const& theObject,
267  rti1516_2025::AttributeHandleSet const& theAttributes) override;
268 
269  // 6.18
270  virtual void attributesOutOfScope (
271  rti1516_2025::ObjectInstanceHandle const& theObject,
272  rti1516_2025::AttributeHandleSet const& theAttributes) override;
273 
274  // 6.20
275  virtual void provideAttributeValueUpdate (
276  rti1516_2025::ObjectInstanceHandle const& theObject,
277  rti1516_2025::AttributeHandleSet const& theAttributes,
278  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
279 
280  // 6.21
281  virtual void turnUpdatesOnForObjectInstance (
282  rti1516_2025::ObjectInstanceHandle const& theObject,
283  rti1516_2025::AttributeHandleSet const& theAttributes) override;
284 
285  virtual void turnUpdatesOnForObjectInstance (
286  rti1516_2025::ObjectInstanceHandle const& theObject,
287  rti1516_2025::AttributeHandleSet const& theAttributes,
288  std::wstring const& updateRateDesignator) override;
289 
290  // 6.22
291  virtual void turnUpdatesOffForObjectInstance (
292  rti1516_2025::ObjectInstanceHandle const& theObject,
293  rti1516_2025::AttributeHandleSet const& theAttributes) override;
294 
295  // 6.24
296  virtual void confirmAttributeTransportationTypeChange (
297  rti1516_2025::ObjectInstanceHandle const& theObject,
298  rti1516_2025::AttributeHandleSet const& theAttributes,
299  rti1516_2025::TransportationTypeHandle const& theTransportation) override;
300 
301  // 6.26
302  virtual void reportAttributeTransportationType (
303  rti1516_2025::ObjectInstanceHandle const& theObject,
304  rti1516_2025::AttributeHandle const& theAttribute,
305  rti1516_2025::TransportationTypeHandle const& theTransportation) override;
306 
307  // 6.28
308  virtual void confirmInteractionTransportationTypeChange (
309  rti1516_2025::InteractionClassHandle const& theInteraction,
310  rti1516_2025::TransportationTypeHandle const& theTransportation) override;
311 
312  // 6.30
313  virtual void reportInteractionTransportationType (
314  rti1516_2025::FederateHandle const& federateHandle,
315  rti1516_2025::InteractionClassHandle const& theInteraction,
316  rti1516_2025::TransportationTypeHandle const& theTransportation) override;
317 
318 
320  // Ownership Management Services //
322 
323  // 7.4
325  rti1516_2025::ObjectInstanceHandle const& theObject,
326  rti1516_2025::AttributeHandleSet const& offeredAttributes,
327  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
328 
329  // 7.5
330  virtual void requestDivestitureConfirmation (
331  rti1516_2025::ObjectInstanceHandle const& theObject,
332  rti1516_2025::AttributeHandleSet const& releasedAttributes,
333  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
334 
335  // 7.7
337  rti1516_2025::ObjectInstanceHandle const& theObject,
338  rti1516_2025::AttributeHandleSet const& securedAttributes,
339  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
340 
341  // 7.10
342  virtual void attributeOwnershipUnavailable (
343  rti1516_2025::ObjectInstanceHandle const& theObject,
344  rti1516_2025::AttributeHandleSet const& theAttributes,
345  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
346 
347  // 7.11
348  virtual void requestAttributeOwnershipRelease (
349  rti1516_2025::ObjectInstanceHandle const& theObject,
350  rti1516_2025::AttributeHandleSet const& candidateAttributes,
351  rti1516_2025::VariableLengthData const& theUserSuppliedTag) override;
352 
353  // 7.16
355  rti1516_2025::ObjectInstanceHandle const& theObject,
356  rti1516_2025::AttributeHandleSet const& theAttributes) override;
357 
358  // 7.18
359  virtual void informAttributeOwnership (
360  rti1516_2025::ObjectInstanceHandle const& theObject,
361  rti1516_2025::AttributeHandleSet const& theAttributeSet,
362  rti1516_2025::FederateHandle const& theOwner) override;
363 
364  virtual void attributeIsNotOwned (
365  rti1516_2025::ObjectInstanceHandle const& theObject,
366  rti1516_2025::AttributeHandleSet const& theAttributeSet) override;
367 
368  virtual void attributeIsOwnedByRTI (
369  rti1516_2025::ObjectInstanceHandle const& theObject,
370  rti1516_2025::AttributeHandleSet const& theAttributeSet) override;
371 
373  // Time Management Services //
375 
376  // 8.3
377  virtual void timeRegulationEnabled (
378  rti1516_2025::LogicalTime const& theFederateTime) override;
379 
380  // 8.6
381  virtual void timeConstrainedEnabled (
382  rti1516_2025::LogicalTime const& theFederateTime) override;
383 
384  // 8.13
385  virtual void timeAdvanceGrant (
386  rti1516_2025::LogicalTime const& theTime) override;
387 
388  // 8.22
389  virtual void requestRetraction (
390  rti1516_2025::MessageRetractionHandle const& theHandle) override;
391 
392 protected:
393 
395  virtual DtRtiApiUniquePtrTime copyTime(rti1516_2025::LogicalTime const& timeValue);
396 
398  virtual void queueCallback(DtFedAmbCallbackMsg* callbackMsg, bool stampWithFedex = true);
399 
400 protected:
401 
402  DtFederateMgr* myFedMgr;
403  DtFedAmbMsgQueue myFedAmbQueue;
404  bool myQueueCallback;
405  const MAKRti::DtString myName;
406 };
407 
408 #endif
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)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
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
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
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
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
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
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
ULong FederateHandle
Definition: RTItypes13.h:120
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
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
A message that delivers stored callbacks generated by asynchronous thread.
Definition: fedAmbCallbackMsg.h:34
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
Handle AttributeHandle
Definition: RTItypes13.h:112
SynchronizationPointFailureReason
Definition: datatypes.pb.h:334

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)