MAK RTIspy API Documentation for HLA 1516
 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  FederateInternalError);
72 
73  // 4.8
74  virtual void reportFederationExecutions (
75  FederationExecutionInformationVector const &
76  theFederationExecutionInformationList)
77  throw (
78  FederateInternalError);
79 
80  // 4.12
82  std::wstring const & label)
83  throw (
84  FederateInternalError);
85 
87  std::wstring const & label,
88  SynchronizationPointFailureReason reason)
89  throw (
90  FederateInternalError);
91 
92  // 4.13
93  virtual void announceSynchronizationPoint (
94  std::wstring const & label,
95  VariableLengthData const & theUserSuppliedTag)
96  throw (
97  FederateInternalError);
98 
99  // 4.15
100  virtual void federationSynchronized (
101  std::wstring const & label,
102  FederateHandleSet const& failedToSyncSet)
103  throw (
104  FederateInternalError);
105 
106  // 4.17
107  virtual void initiateFederateSave (
108  std::wstring const & label)
109  throw (
110  FederateInternalError);
111 
112  virtual void initiateFederateSave (
113  std::wstring const & label,
114  LogicalTime const & theTime)
115  throw (
116  FederateInternalError);
117 
118  // 4.20
119  virtual void federationSaved ()
120  throw (
121  FederateInternalError);
122 
123  virtual void federationNotSaved (
124  SaveFailureReason theSaveFailureReason)
125  throw (
126  FederateInternalError);
127 
128 
129  // 4.23
130  virtual void federationSaveStatusResponse (
132  theFederateStatusVector)
133  throw (
134  FederateInternalError);
135 
136  // 4.25
137  virtual void requestFederationRestoreSucceeded (
138  std::wstring const & label)
139  throw (
140  FederateInternalError);
141 
142  virtual void requestFederationRestoreFailed (
143  std::wstring const & label)
144  throw (
145  FederateInternalError);
146 
147  // 4.26
148  virtual void federationRestoreBegun ()
149  throw (
150  FederateInternalError);
151 
152  // 4.27
153  virtual void initiateFederateRestore (
154  std::wstring const & label,
155  std::wstring const & federateName,
156  FederateHandle handle)
157  throw (
158  FederateInternalError);
159 
160  // 4.29
161  virtual void federationRestored ()
162  throw (
163  FederateInternalError);
164 
165  virtual void federationNotRestored (
166  RestoreFailureReason theRestoreFailureReason)
167  throw (
168  FederateInternalError);
169 
170  // 4.32
171  virtual void federationRestoreStatusResponse (
172  FederateRestoreStatusVector const &
173  theFederateRestoreStatusVector)
174  throw (
175  FederateInternalError);
176 
178  // Declaration Management Services //
180 
181  // 5.10
182  virtual void startRegistrationForObjectClass (
183  ObjectClassHandle theClass)
184  throw (
185  FederateInternalError);
186 
187  // 5.11
188  virtual void stopRegistrationForObjectClass (
189  ObjectClassHandle theClass)
190  throw (
191  FederateInternalError);
192 
193  // 5.12
194  virtual void turnInteractionsOn (
195  InteractionClassHandle theHandle)
196  throw (
197  FederateInternalError);
198 
199  // 5.13
200  virtual void turnInteractionsOff (
201  InteractionClassHandle theHandle)
202  throw (
203  FederateInternalError);
204 
206  // Object Management Services //
208 
209  // 6.3
210  virtual void objectInstanceNameReservationSucceeded (
211  std::wstring const & theObjectInstanceName)
212  throw (
213  FederateInternalError);
214 
215  virtual void objectInstanceNameReservationFailed (
216  std::wstring const & theObjectInstanceName)
217  throw (
218  FederateInternalError);
219 
220  // 6.6
221  virtual void multipleObjectInstanceNameReservationSucceeded (
222  std::set<std::wstring> const & theObjectInstanceNames)
223  throw (
224  FederateInternalError);
225 
226  virtual void multipleObjectInstanceNameReservationFailed (
227  std::set<std::wstring> const & theObjectInstanceNames)
228  throw (
229  FederateInternalError);
230 
231  // 6.9
232  virtual void discoverObjectInstance (
233  ObjectInstanceHandle theObject,
234  ObjectClassHandle theObjectClass,
235  std::wstring const & theObjectInstanceName)
236  throw (
237  FederateInternalError);
238 
239  virtual void discoverObjectInstance (
240  ObjectInstanceHandle theObject,
241  ObjectClassHandle theObjectClass,
242  std::wstring const & theObjectInstanceName,
243  FederateHandle producingFederate)
244  throw (
245  FederateInternalError);
246 
247  // 6.11
248  virtual void reflectAttributeValues (
249  ObjectInstanceHandle theObject,
250  AttributeHandleValueMap const & theAttributeValues,
251  VariableLengthData const & theUserSuppliedTag,
252  OrderType sentOrder,
253  TransportationType theType,
254  SupplementalReflectInfo theReflectInfo)
255  throw (
256  FederateInternalError);
257 
258  virtual void reflectAttributeValues (
259  ObjectInstanceHandle theObject,
260  AttributeHandleValueMap const & theAttributeValues,
261  VariableLengthData const & theUserSuppliedTag,
262  OrderType sentOrder,
263  TransportationType theType,
264  LogicalTime const & theTime,
265  OrderType receivedOrder,
266  SupplementalReflectInfo theReflectInfo)
267  throw (
268  FederateInternalError);
269 
270  virtual void reflectAttributeValues (
271  ObjectInstanceHandle theObject,
272  AttributeHandleValueMap const & theAttributeValues,
273  VariableLengthData const & theUserSuppliedTag,
274  OrderType sentOrder,
275  TransportationType theType,
276  LogicalTime const & theTime,
277  OrderType receivedOrder,
278  MessageRetractionHandle theHandle,
279  SupplementalReflectInfo theReflectInfo)
280  throw (
281  FederateInternalError);
282 
283  // 6.13
284  virtual void receiveInteraction (
285  InteractionClassHandle theInteraction,
286  ParameterHandleValueMap const & theParameterValues,
287  VariableLengthData const & theUserSuppliedTag,
288  OrderType sentOrder,
289  TransportationType theType,
290  SupplementalReceiveInfo theReceiveInfo)
291  throw (
292  FederateInternalError);
293 
294  virtual void receiveInteraction (
295  InteractionClassHandle theInteraction,
296  ParameterHandleValueMap const & theParameterValues,
297  VariableLengthData const & theUserSuppliedTag,
298  OrderType sentOrder,
299  TransportationType theType,
300  LogicalTime const & theTime,
301  OrderType receivedOrder,
302  SupplementalReceiveInfo theReceiveInfo)
303  throw (
304  FederateInternalError);
305 
306  virtual void receiveInteraction (
307  InteractionClassHandle theInteraction,
308  ParameterHandleValueMap const & theParameterValues,
309  VariableLengthData const & theUserSuppliedTag,
310  OrderType sentOrder,
311  TransportationType theType,
312  LogicalTime const & theTime,
313  OrderType receivedOrder,
314  MessageRetractionHandle theHandle,
315  SupplementalReceiveInfo theReceiveInfo)
316  throw (
317  FederateInternalError);
318 
319  // 6.15
320  virtual void removeObjectInstance (
321  ObjectInstanceHandle theObject,
322  VariableLengthData const & theUserSuppliedTag,
323  OrderType sentOrder,
324  SupplementalRemoveInfo theRemoveInfo)
325  throw (
326  FederateInternalError);
327 
328  virtual void removeObjectInstance (
329  ObjectInstanceHandle theObject,
330  VariableLengthData const & theUserSuppliedTag,
331  OrderType sentOrder,
332  LogicalTime const & theTime,
333  OrderType receivedOrder,
334  SupplementalRemoveInfo theRemoveInfo)
335  throw (
336  FederateInternalError);
337 
338  virtual void removeObjectInstance (
339  ObjectInstanceHandle theObject,
340  VariableLengthData const & theUserSuppliedTag,
341  OrderType sentOrder,
342  LogicalTime const & theTime,
343  OrderType receivedOrder,
344  MessageRetractionHandle theHandle,
345  SupplementalRemoveInfo theRemoveInfo)
346  throw (
347  FederateInternalError);
348 
349  // 6.17
350  virtual void attributesInScope (
351  ObjectInstanceHandle theObject,
352  AttributeHandleSet const & theAttributes)
353  throw (
354  FederateInternalError);
355 
356  // 6.18
357  virtual void attributesOutOfScope (
358  ObjectInstanceHandle theObject,
359  AttributeHandleSet const & theAttributes)
360  throw (
361  FederateInternalError);
362 
363  // 6.20
364  virtual void provideAttributeValueUpdate (
365  ObjectInstanceHandle theObject,
366  AttributeHandleSet const & theAttributes,
367  VariableLengthData const & theUserSuppliedTag)
368  throw (
369  FederateInternalError);
370 
371  // 6.21
372  virtual void turnUpdatesOnForObjectInstance (
373  ObjectInstanceHandle theObject,
374  AttributeHandleSet const & theAttributes)
375  throw (
376  FederateInternalError);
377 
378  virtual void turnUpdatesOnForObjectInstance (
379  ObjectInstanceHandle theObject,
380  AttributeHandleSet const & theAttributes,
381  std::wstring const & updateRateDesignator)
382  throw (
383  FederateInternalError);
384 
385  // 6.22
386  virtual void turnUpdatesOffForObjectInstance (
387  ObjectInstanceHandle theObject,
388  AttributeHandleSet const & theAttributes)
389  throw (
390  FederateInternalError);
391 
392  // 6.24
393  virtual void confirmAttributeTransportationTypeChange (
394  ObjectInstanceHandle theObject,
395  AttributeHandleSet theAttributes,
396  TransportationType theTransportation)
397  throw (
398  FederateInternalError);
399 
400  // 6.26
401  virtual void reportAttributeTransportationType (
402  ObjectInstanceHandle theObject,
403  AttributeHandle theAttribute,
404  TransportationType theTransportation)
405  throw (
406  FederateInternalError);
407 
408  // 6.28
409  virtual void confirmInteractionTransportationTypeChange (
410  InteractionClassHandle theInteraction,
411  TransportationType theTransportation)
412  throw (
413  FederateInternalError);
414 
415  // 6.30
416  virtual void reportInteractionTransportationType (
417  FederateHandle federateHandle,
418  InteractionClassHandle theInteraction,
419  TransportationType theTransportation)
420  throw (
421  FederateInternalError);
422 
423 
425  // Ownership Management Services //
427 
428  // 7.4
430  ObjectInstanceHandle theObject,
431  AttributeHandleSet const & offeredAttributes,
432  VariableLengthData const & theUserSuppliedTag)
433  throw (
434  FederateInternalError);
435 
436  // 7.5
437  virtual void requestDivestitureConfirmation (
438  ObjectInstanceHandle theObject,
439  AttributeHandleSet const & releasedAttributes)
440  throw (
441  FederateInternalError);
442 
443  // 7.7
445  ObjectInstanceHandle theObject,
446  AttributeHandleSet const & securedAttributes,
447  VariableLengthData const & theUserSuppliedTag)
448  throw (
449  FederateInternalError);
450 
451  // 7.10
452  virtual void attributeOwnershipUnavailable (
453  ObjectInstanceHandle theObject,
454  AttributeHandleSet const & theAttributes)
455  throw (
456  FederateInternalError);
457 
458  // 7.11
459  virtual void requestAttributeOwnershipRelease (
460  ObjectInstanceHandle theObject,
461  AttributeHandleSet const & candidateAttributes,
462  VariableLengthData const & theUserSuppliedTag)
463  throw (
464  FederateInternalError);
465 
466  // 7.16
468  ObjectInstanceHandle theObject,
469  AttributeHandleSet const & theAttributes)
470  throw (
471  FederateInternalError);
472 
473  // 7.18
474  virtual void informAttributeOwnership (
475  ObjectInstanceHandle theObject,
476  AttributeHandle theAttribute,
477  FederateHandle theOwner)
478  throw (
479  FederateInternalError);
480 
481  virtual void attributeIsNotOwned (
482  ObjectInstanceHandle theObject,
483  AttributeHandle theAttribute)
484  throw (
485  FederateInternalError);
486 
487  virtual void attributeIsOwnedByRTI (
488  ObjectInstanceHandle theObject,
489  AttributeHandle theAttribute)
490  throw (
491  FederateInternalError);
492 
494  // Time Management Services //
496 
497  // 8.3
498  virtual void timeRegulationEnabled (
499  LogicalTime const & theFederateTime)
500  throw (
501  FederateInternalError);
502 
503  // 8.6
504  virtual void timeConstrainedEnabled (
505  LogicalTime const & theFederateTime)
506  throw (
507  FederateInternalError);
508 
509  // 8.13
510  virtual void timeAdvanceGrant (
511  LogicalTime const & theTime)
512  throw (
513  FederateInternalError);
514 
515  // 8.22
516  virtual void requestRetraction (
517  MessageRetractionHandle theHandle)
518  throw (
519  FederateInternalError);
520 
521 protected:
522 
524  virtual std::auto_ptr<rti1516e::LogicalTime> 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
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:57
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
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
OrderType
Definition: Enums.h:13
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
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
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:88
virtual void initiateFederateSave(const char *label)=0
4.12
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
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
This file contains the standard RTI types that are defined in namespace rti1516.
virtual void federationSynchronized(const char *label)=0
4.10
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:41
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
RestoreFailureReason
Definition: Enums.h:29
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
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:126
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 //!
A message that delivers stored callbacks generated by asynchronous thread.
Definition: fedAmbCallbackMsg.h:38
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
TransportationType
Definition: Enums.h:84
SaveFailureReason
Definition: Enums.h:47

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)