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

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)