MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbCallbackQueue1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2010 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fedAmbCallbackQueue1516e.h,v $ $Revision: 1.0 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtFedAmbCallbackQueue1516e_h
10 #define DtFedAmbCallbackQueue1516e_h
11 #ifdef DtIFSPEC1516E
12 
15 
16 #include <queue>
17 #include <RTI/Typedefs.h>
18 #include "fedAmbWrap1516e.h"
19 #include "rtiMsg.h"
20 
21 class DtFederateMgr;
23 
24 typedef std::queue<DtRtiMsg*> DtFedAmbMsgQueue;
25 
29 class DT_DLL_LRC DtCallbackQueue : public DtFedAmbWrapper
30 {
31 public:
32 
34  DtCallbackQueue(DtFederateMgr* fedMgr = 0);
35 
37  virtual ~DtCallbackQueue() throw ();
38 
39 private:
41  DtCallbackQueue(DtCallbackQueue const& orig);
43  DtCallbackQueue& operator = (DtCallbackQueue const& orig);
44 
45 public:
46 
48  virtual void enableQueue();
49 
51  virtual void disableQueue();
52 
54  MAKRti::DtString const& name() const;
55 
57  virtual DtRtiMsg* popMessage();
58 
60  virtual bool isEmpty();
61 
65 
66 
67  // 4.4
68  virtual void connectionLost (
69  std::wstring const & faultDescription)
70  throw (
71  rti1516e::FederateInternalError);
72 
73  // 4.8
74  virtual void reportFederationExecutions (
75  rti1516e::FederationExecutionInformationVector const &
76  theFederationExecutionInformationList)
77  throw (
78  rti1516e::FederateInternalError);
79 
80  // 4.12
82  std::wstring const & label)
83  throw (
84  rti1516e::FederateInternalError);
85 
87  std::wstring const & label,
88  rti1516e::SynchronizationPointFailureReason reason)
89  throw (
90  rti1516e::FederateInternalError);
91 
92  // 4.13
93  virtual void announceSynchronizationPoint (
94  std::wstring const & label,
95  rti1516e::VariableLengthData const & theUserSuppliedTag)
96  throw (
97  rti1516e::FederateInternalError);
98 
99  // 4.15
100  virtual void federationSynchronized (
101  std::wstring const & label,
102  rti1516e::FederateHandleSet const& failedToSyncSet)
103  throw (
104  rti1516e::FederateInternalError);
105 
106  // 4.17
107  virtual void initiateFederateSave (
108  std::wstring const & label)
109  throw (
110  rti1516e::FederateInternalError);
111 
112  virtual void initiateFederateSave (
113  std::wstring const & label,
114  rti1516e::LogicalTime const & theTime)
115  throw (
116  rti1516e::FederateInternalError);
117 
118  // 4.20
119  virtual void federationSaved ()
120  throw (
121  rti1516e::FederateInternalError);
122 
123  virtual void federationNotSaved (
124  rti1516e::SaveFailureReason theSaveFailureReason)
125  throw (
126  rti1516e::FederateInternalError);
127 
128 
129  // 4.23
130  virtual void federationSaveStatusResponse (
131  rti1516e::FederateHandleSaveStatusPairVector const &
132  theFederateStatusVector)
133  throw (
134  rti1516e::FederateInternalError);
135 
136  // 4.25
137  virtual void requestFederationRestoreSucceeded (
138  std::wstring const & label)
139  throw (
140  rti1516e::FederateInternalError);
141 
142  virtual void requestFederationRestoreFailed (
143  std::wstring const & label)
144  throw (
145  rti1516e::FederateInternalError);
146 
147  // 4.26
148  virtual void federationRestoreBegun ()
149  throw (
150  rti1516e::FederateInternalError);
151 
152  // 4.27
153  virtual void initiateFederateRestore (
154  std::wstring const & label,
155  std::wstring const & federateName,
156  rti1516e::FederateHandle handle)
157  throw (
158  rti1516e::FederateInternalError);
159 
160  // 4.29
161  virtual void federationRestored ()
162  throw (
163  rti1516e::FederateInternalError);
164 
165  virtual void federationNotRestored (
166  rti1516e::RestoreFailureReason theRestoreFailureReason)
167  throw (
168  rti1516e::FederateInternalError);
169 
170  // 4.32
171  virtual void federationRestoreStatusResponse (
172  rti1516e::FederateRestoreStatusVector const &
173  theFederateRestoreStatusVector)
174  throw (
175  rti1516e::FederateInternalError);
176 
178  // Declaration Management Services //
180 
181  // 5.10
182  virtual void startRegistrationForObjectClass (
183  rti1516e::ObjectClassHandle theClass)
184  throw (
185  rti1516e::FederateInternalError);
186 
187  // 5.11
188  virtual void stopRegistrationForObjectClass (
189  rti1516e::ObjectClassHandle theClass)
190  throw (
191  rti1516e::FederateInternalError);
192 
193  // 5.12
194  virtual void turnInteractionsOn (
195  rti1516e::InteractionClassHandle theHandle)
196  throw (
197  rti1516e::FederateInternalError);
198 
199  // 5.13
200  virtual void turnInteractionsOff (
201  rti1516e::InteractionClassHandle theHandle)
202  throw (
203  rti1516e::FederateInternalError);
204 
206  // Object Management Services //
208 
209  // 6.3
210  virtual void objectInstanceNameReservationSucceeded (
211  std::wstring const & theObjectInstanceName)
212  throw (
213  rti1516e::FederateInternalError);
214 
215  virtual void objectInstanceNameReservationFailed (
216  std::wstring const & theObjectInstanceName)
217  throw (
218  rti1516e::FederateInternalError);
219 
220  // 6.6
221  virtual void multipleObjectInstanceNameReservationSucceeded (
222  std::set<std::wstring> const & theObjectInstanceNames)
223  throw (
224  rti1516e::FederateInternalError);
225 
226  virtual void multipleObjectInstanceNameReservationFailed (
227  std::set<std::wstring> const & theObjectInstanceNames)
228  throw (
229  rti1516e::FederateInternalError);
230 
231  // 6.9
232  virtual void discoverObjectInstance (
233  rti1516e::ObjectInstanceHandle theObject,
234  rti1516e::ObjectClassHandle theObjectClass,
235  std::wstring const & theObjectInstanceName)
236  throw (
237  rti1516e::FederateInternalError);
238 
239  virtual void discoverObjectInstance (
240  rti1516e::ObjectInstanceHandle theObject,
241  rti1516e::ObjectClassHandle theObjectClass,
242  std::wstring const & theObjectInstanceName,
243  rti1516e::FederateHandle producingFederate)
244  throw (
245  rti1516e::FederateInternalError);
246 
247  // 6.11
248  virtual void reflectAttributeValues (
249  rti1516e::ObjectInstanceHandle theObject,
250  rti1516e::AttributeHandleValueMap const & theAttributeValues,
251  rti1516e::VariableLengthData const & theUserSuppliedTag,
252  rti1516e::OrderType sentOrder,
253  rti1516e::TransportationType theType,
254  rti1516e::SupplementalReflectInfo theReflectInfo)
255  throw (
256  rti1516e::FederateInternalError);
257 
258  virtual void reflectAttributeValues (
259  rti1516e::ObjectInstanceHandle theObject,
260  rti1516e::AttributeHandleValueMap const & theAttributeValues,
261  rti1516e::VariableLengthData const & theUserSuppliedTag,
262  rti1516e::OrderType sentOrder,
263  rti1516e::TransportationType theType,
264  rti1516e::LogicalTime const & theTime,
265  rti1516e::OrderType receivedOrder,
266  rti1516e::SupplementalReflectInfo theReflectInfo)
267  throw (
268  rti1516e::FederateInternalError);
269 
270  virtual void reflectAttributeValues (
271  rti1516e::ObjectInstanceHandle theObject,
272  rti1516e::AttributeHandleValueMap const & theAttributeValues,
273  rti1516e::VariableLengthData const & theUserSuppliedTag,
274  rti1516e::OrderType sentOrder,
275  rti1516e::TransportationType theType,
276  rti1516e::LogicalTime const & theTime,
277  rti1516e::OrderType receivedOrder,
278  rti1516e::MessageRetractionHandle theHandle,
279  rti1516e::SupplementalReflectInfo theReflectInfo)
280  throw (
281  rti1516e::FederateInternalError);
282 
283  // 6.13
284  virtual void receiveInteraction (
285  rti1516e::InteractionClassHandle theInteraction,
286  rti1516e::ParameterHandleValueMap const & theParameterValues,
287  rti1516e::VariableLengthData const & theUserSuppliedTag,
288  rti1516e::OrderType sentOrder,
289  rti1516e::TransportationType theType,
290  rti1516e::SupplementalReceiveInfo theReceiveInfo)
291  throw (
292  rti1516e::FederateInternalError);
293 
294  virtual void receiveInteraction (
295  rti1516e::InteractionClassHandle theInteraction,
296  rti1516e::ParameterHandleValueMap const & theParameterValues,
297  rti1516e::VariableLengthData const & theUserSuppliedTag,
298  rti1516e::OrderType sentOrder,
299  rti1516e::TransportationType theType,
300  rti1516e::LogicalTime const & theTime,
301  rti1516e::OrderType receivedOrder,
302  rti1516e::SupplementalReceiveInfo theReceiveInfo)
303  throw (
304  rti1516e::FederateInternalError);
305 
306  virtual void receiveInteraction (
307  rti1516e::InteractionClassHandle theInteraction,
308  rti1516e::ParameterHandleValueMap const & theParameterValues,
309  rti1516e::VariableLengthData const & theUserSuppliedTag,
310  rti1516e::OrderType sentOrder,
311  rti1516e::TransportationType theType,
312  rti1516e::LogicalTime const & theTime,
313  rti1516e::OrderType receivedOrder,
314  rti1516e::MessageRetractionHandle theHandle,
315  rti1516e::SupplementalReceiveInfo theReceiveInfo)
316  throw (
317  rti1516e::FederateInternalError);
318 
319  // 6.15
320  virtual void removeObjectInstance (
321  rti1516e::ObjectInstanceHandle theObject,
322  rti1516e::VariableLengthData const & theUserSuppliedTag,
323  rti1516e::OrderType sentOrder,
324  rti1516e::SupplementalRemoveInfo theRemoveInfo)
325  throw (
326  rti1516e::FederateInternalError);
327 
328  virtual void removeObjectInstance (
329  rti1516e::ObjectInstanceHandle theObject,
330  rti1516e::VariableLengthData const & theUserSuppliedTag,
331  rti1516e::OrderType sentOrder,
332  rti1516e::LogicalTime const & theTime,
333  rti1516e::OrderType receivedOrder,
334  rti1516e::SupplementalRemoveInfo theRemoveInfo)
335  throw (
336  rti1516e::FederateInternalError);
337 
338  virtual void removeObjectInstance (
339  rti1516e::ObjectInstanceHandle theObject,
340  rti1516e::VariableLengthData const & theUserSuppliedTag,
341  rti1516e::OrderType sentOrder,
342  rti1516e::LogicalTime const & theTime,
343  rti1516e::OrderType receivedOrder,
344  rti1516e::MessageRetractionHandle theHandle,
345  rti1516e::SupplementalRemoveInfo theRemoveInfo)
346  throw (
347  rti1516e::FederateInternalError);
348 
349  // 6.17
350  virtual void attributesInScope (
351  rti1516e::ObjectInstanceHandle theObject,
352  rti1516e::AttributeHandleSet const & theAttributes)
353  throw (
354  rti1516e::FederateInternalError);
355 
356  // 6.18
357  virtual void attributesOutOfScope (
358  rti1516e::ObjectInstanceHandle theObject,
359  rti1516e::AttributeHandleSet const & theAttributes)
360  throw (
361  rti1516e::FederateInternalError);
362 
363  // 6.20
364  virtual void provideAttributeValueUpdate (
365  rti1516e::ObjectInstanceHandle theObject,
366  rti1516e::AttributeHandleSet const & theAttributes,
367  rti1516e::VariableLengthData const & theUserSuppliedTag)
368  throw (
369  rti1516e::FederateInternalError);
370 
371  // 6.21
372  virtual void turnUpdatesOnForObjectInstance (
373  rti1516e::ObjectInstanceHandle theObject,
374  rti1516e::AttributeHandleSet const & theAttributes)
375  throw (
376  rti1516e::FederateInternalError);
377 
378  virtual void turnUpdatesOnForObjectInstance (
379  rti1516e::ObjectInstanceHandle theObject,
380  rti1516e::AttributeHandleSet const & theAttributes,
381  std::wstring const & updateRateDesignator)
382  throw (
383  rti1516e::FederateInternalError);
384 
385  // 6.22
386  virtual void turnUpdatesOffForObjectInstance (
387  rti1516e::ObjectInstanceHandle theObject,
388  rti1516e::AttributeHandleSet const & theAttributes)
389  throw (
390  rti1516e::FederateInternalError);
391 
392  // 6.24
393  virtual void confirmAttributeTransportationTypeChange (
394  rti1516e::ObjectInstanceHandle theObject,
395  rti1516e::AttributeHandleSet theAttributes,
396  rti1516e::TransportationType theTransportation)
397  throw (
398  rti1516e::FederateInternalError);
399 
400  // 6.26
401  virtual void reportAttributeTransportationType (
402  rti1516e::ObjectInstanceHandle theObject,
403  rti1516e::AttributeHandle theAttribute,
404  rti1516e::TransportationType theTransportation)
405  throw (
406  rti1516e::FederateInternalError);
407 
408  // 6.28
409  virtual void confirmInteractionTransportationTypeChange (
410  rti1516e::InteractionClassHandle theInteraction,
411  rti1516e::TransportationType theTransportation)
412  throw (
413  rti1516e::FederateInternalError);
414 
415  // 6.30
416  virtual void reportInteractionTransportationType (
417  rti1516e::FederateHandle federateHandle,
418  rti1516e::InteractionClassHandle theInteraction,
419  rti1516e::TransportationType theTransportation)
420  throw (
421  rti1516e::FederateInternalError);
422 
423 
425  // Ownership Management Services //
427 
428  // 7.4
430  rti1516e::ObjectInstanceHandle theObject,
431  rti1516e::AttributeHandleSet const & offeredAttributes,
432  rti1516e::VariableLengthData const & theUserSuppliedTag)
433  throw (
434  rti1516e::FederateInternalError);
435 
436  // 7.5
437  virtual void requestDivestitureConfirmation (
438  rti1516e::ObjectInstanceHandle theObject,
439  rti1516e::AttributeHandleSet const & releasedAttributes)
440  throw (
441  rti1516e::FederateInternalError);
442 
443  // 7.7
445  rti1516e::ObjectInstanceHandle theObject,
446  rti1516e::AttributeHandleSet const & securedAttributes,
447  rti1516e::VariableLengthData const & theUserSuppliedTag)
448  throw (
449  rti1516e::FederateInternalError);
450 
451  // 7.10
452  virtual void attributeOwnershipUnavailable (
453  rti1516e::ObjectInstanceHandle theObject,
454  rti1516e::AttributeHandleSet const & theAttributes)
455  throw (
456  rti1516e::FederateInternalError);
457 
458  // 7.11
459  virtual void requestAttributeOwnershipRelease (
460  rti1516e::ObjectInstanceHandle theObject,
461  rti1516e::AttributeHandleSet const & candidateAttributes,
462  rti1516e::VariableLengthData const & theUserSuppliedTag)
463  throw (
464  rti1516e::FederateInternalError);
465 
466  // 7.16
468  rti1516e::ObjectInstanceHandle theObject,
469  rti1516e::AttributeHandleSet const & theAttributes)
470  throw (
471  rti1516e::FederateInternalError);
472 
473  // 7.18
474  virtual void informAttributeOwnership (
475  rti1516e::ObjectInstanceHandle theObject,
476  rti1516e::AttributeHandle theAttribute,
477  rti1516e::FederateHandle theOwner)
478  throw (
479  rti1516e::FederateInternalError);
480 
481  virtual void attributeIsNotOwned (
482  rti1516e::ObjectInstanceHandle theObject,
483  rti1516e::AttributeHandle theAttribute)
484  throw (
485  rti1516e::FederateInternalError);
486 
487  virtual void attributeIsOwnedByRTI (
488  rti1516e::ObjectInstanceHandle theObject,
489  rti1516e::AttributeHandle theAttribute)
490  throw (
491  rti1516e::FederateInternalError);
492 
494  // Time Management Services //
496 
497  // 8.3
498  virtual void timeRegulationEnabled (
499  rti1516e::LogicalTime const & theFederateTime)
500  throw (
501  rti1516e::FederateInternalError);
502 
503  // 8.6
504  virtual void timeConstrainedEnabled (
505  rti1516e::LogicalTime const & theFederateTime)
506  throw (
507  rti1516e::FederateInternalError);
508 
509  // 8.13
510  virtual void timeAdvanceGrant (
511  rti1516e::LogicalTime const & theTime)
512  throw (
513  rti1516e::FederateInternalError);
514 
515  // 8.22
516  virtual void requestRetraction (
517  rti1516e::MessageRetractionHandle theHandle)
518  throw (
519  rti1516e::FederateInternalError);
520 
521 protected:
522 
524  DtRtiApiUniquePtrTime copyTime(rti1516e::LogicalTime const& timeValue);
525 
527  virtual void queueCallback(DtFedAmbCallbackMsg* callbackMsg, bool stampWithFedex = true);
528 
529 protected:
530 
531  DtFederateMgr* myFedMgr;
532  DtFedAmbMsgQueue myFedAmbQueue;
533  bool myQueueCallback;
534  const MAKRti::DtString myName;
535 };
536 
537 #endif
538 #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
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
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 Boolean throw(SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted, RTIinternalError)
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 Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)