VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrlFederateAmbassador1516e.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
7 #pragma once
8 
12 
13 #if DtHLA
14 #if DtHLA_1516_EVOLVED
15 
16 
17 #include "callbacks.h"
18 
19 #include "rtiNamespace.h"
21 #include <list>
22 
23 typedef void (*DtFederateSaveCb)(
24  const char* label,
25  void* usr);
26 
27 typedef void (*DtFederateRestoreCb)(
28  const char* label,
29  void* usr);
30 
31 typedef void (*DtSynchPointCb)(
32  const char* label,
33  void* usr);
34 
35 typedef void (*DtAnnounceSynchPointCb)(
36  const char* label,
37  const RTI::VariableLengthData& tag,
38  void* usr);
39 
42 
47 {
48  struct DtScopeChangeCallbackData
49  {
51  RTI::ObjectInstanceHandle handle;
52  };
53 
54 public:
57  throw (RTI::FederateInternalError);
59  virtual ~DtVrlFederateAmbassador()
60  throw( );
61 
62 protected:
65 
67  DtVrlFederateAmbassador& operator=(const DtVrlFederateAmbassador& src );
68 
69 public:
72  virtual void init( DtExerciseConn* exConn,
73  DtHlaObjectManager* hlaObjMgr,
74  DtInteractionManager* interMgr );
75 
76 public:
78  static DtVrlFederateAmbassador* create();
79 
80 public:
83  virtual void addReflectAttributeValuesCb(
84  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
85  virtual void removeReflectAttributeValuesCb(
86  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
87 
90  virtual void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
91  DtDiscoverObjectCb cb, void* usr );
92  virtual void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
93  DtDiscoverObjectCb cb, void* usr );
94 
97  virtual void addRemoveObjectCb( RTI::ObjectInstanceHandle id,
98  DtRemoveObjectCb cb, void* usr );
99  virtual void removeRemoveObjectCb( RTI::ObjectInstanceHandle id,
100  DtRemoveObjectCb cb, void* usr );
101 
104  virtual void addStartRegCb( RTI::ObjectClassHandle hand,
105  DtStartRegCb cb, void* usr );
106  virtual void removeStartRegCb( RTI::ObjectClassHandle hand,
107  DtStartRegCb cb, void* usr );
108 
111  virtual void addStopRegCb( RTI::ObjectClassHandle hand,
112  DtStopRegCb cb, void* usr );
113  virtual void removeStopRegCb( RTI::ObjectClassHandle hand,
114  DtStopRegCb cb, void* usr );
115 
118  virtual void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
119  DtUpdatesOnCb cb, void* usr );
120  virtual void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
121  DtUpdatesOnCb cb, void* usr );
122 
125  virtual void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
126  DtUpdatesOffCb cb, void* usr );
127  virtual void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
128  DtUpdatesOffCb cb, void* usr );
129 
132  virtual void addStartInteractionsCb( RTI::InteractionClassHandle hand,
133  DtStartStopInterCb cb, void* usr );
134  virtual void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
135  DtStartStopInterCb cb, void* usr );
136 
139  virtual void addStopInteractionsCb( RTI::InteractionClassHandle hand,
140  DtStartStopInterCb cb, void* usr );
141  virtual void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
142  DtStartStopInterCb cb, void* usr );
143 
146  virtual void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
147  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
148  virtual void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
149  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP() );
150 
153  virtual void addTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
154  virtual void removeTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
155 
158  virtual void addTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
159  virtual void removeTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
160 
163  virtual void addTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
164  virtual void removeTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
165 
168  virtual void addNameReservationSucceeded( DtReserveNameCb cb, void* usr );
169  virtual void removeNameReservationSucceeded( DtReserveNameCb cb, void* usr );
170 
173  virtual void addNameReservationFailed( DtReserveNameCb cb, void* usr );
174  virtual void removeNameReservationFailed( DtReserveNameCb cb, void* usr );
175 
176 
179  virtual void addMultipleNameReservationSucceeded( DtReserveMultipleNamesCb cb, void* usr );
180  virtual void removeNameReservationSucceeded( DtReserveMultipleNamesCb, void* usr );
181 
184  virtual void addMultipleNameReservationFailed( DtReserveMultipleNamesCb cb, void* usr );
185  virtual void removeMultipleNameReservationFailed( DtReserveMultipleNamesCb, void* usr );
186 
188  virtual void addSynchPointRegSucceededCb(const DtString& label,
189  DtSynchPointCb func, void* usr);
190  virtual void addSynchPointRegSucceededCb(DtSynchPointCb func,
191  void* usr);
192 
193  virtual void removeSynchPointRegSucceededCb(const DtString& label,
194  DtSynchPointCb func, void* usr);
195  virtual void removeSynchPointRegSucceededCb(DtSynchPointCb func,
196  void* usr);
197 
198  virtual void addSynchPointRegFailedCb(const DtString& label,
199  DtSynchPointCb func, void* usr);
200  virtual void addSynchPointRegFailedCb(DtSynchPointCb func,
201  void* usr);
202 
203  virtual void removeSynchPointRegFailedCb(const DtString& label,
204  DtSynchPointCb func, void* usr);
205  virtual void removeSynchPointRegFailedCb(DtSynchPointCb func,
206  void* usr);
207 
208  virtual void addFederationSynchedCb(const DtString& label,
209  DtSynchPointCb func, void* usr);
210  virtual void addFederationSynchedCb(DtSynchPointCb func,
211  void* usr);
212 
213  virtual void removeFederationSynchedCb(const DtString& label,
214  DtSynchPointCb func, void* usr);
215  virtual void removeFederationSynchedCb(DtSynchPointCb func,
216  void* usr);
217 
218  virtual void addAnnounceSynchPointCb(const DtString& label,
219  DtAnnounceSynchPointCb func, void* usr);
220  virtual void addAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
221  void* usr);
222 
223  virtual void removeAnnounceSynchPointCb(const DtString& label,
224  DtAnnounceSynchPointCb func, void* usr);
225  virtual void removeAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
226  void* usr);
227 
228  virtual void setRemoveObjectOnAttOutOfScope(bool remove);
229  virtual bool removeObjectOnAttOutOfScope() const;
230 
231  virtual void addConnectionLostCb( DtConnectionLostCb func, void* usr );
232  virtual void removeConnectionLostCb(DtConnectionLostCb func, void* usr );
233 
234 
235 
237 
238  virtual void addFederateSaveCb(const DtString& label,
239  DtFederateSaveCb func, void* usr);
240  virtual void addFederateSaveCb(DtFederateSaveCb func,
241  void* usr);
242 
243  virtual void removeFederateSaveCb(const DtString& label,
244  DtFederateSaveCb func, void* usr);
245  virtual void removeFederateSaveCb(DtFederateSaveCb func,
246  void* usr);
248 
250 
251  virtual void addFederateRestoreCb(const DtString& label,
252  DtFederateRestoreCb func, void* usr);
253  virtual void addFederateRestoreCb(DtFederateRestoreCb func,
254  void* usr);
255 
256  virtual void removeFederateRestoreCb(const DtString& label,
257  DtFederateRestoreCb func, void* usr);
258  virtual void removeFederateRestoreCb(DtFederateRestoreCb func,
259  void* usr);
261  virtual bool waitingForSaveOrRestore() const;
262 
263 #if DtHLA_1516_EVOLVED
264 
265  virtual DtString getFederateNameFromHandle(const RTI::FederateHandle&) const;
266 #endif
267 
268 
269 
270 protected:
272  struct DtFederateSaveCbInfo
273  {
274  DtFederateSaveCb cbFunction;
275  void* userData;
276  };
277 
278  struct DtFederateRestoreCbInfo
279  {
280  DtFederateRestoreCb cbFunction;
281  void* userData;
282  };
283 
284  struct DtLabelledFederateSaveCbInfo
285  {
286  DtString label;
287  DtFederateSaveCb cbFunction;
288  void* userData;
289  };
290 
291  struct DtLabelledFederateRestoreCbInfo
292  {
293  DtString label;
294  DtFederateRestoreCb cbFunction;
295  void* userData;
296  };
297 
298  struct DtGeneralSynchPointCbInfo
299  {
300  DtSynchPointCb cbFunction;
301  void* userData;
302  };
303 
304  struct DtLabelledSynchPointCbInfo
305  {
306  DtString label;
307  DtSynchPointCb cbFunction;
308  void* userData;
309  };
310 
311  struct DtGeneralAnnounceCbInfo
312  {
313  DtAnnounceSynchPointCb cbFunction;
314  void* userData;
315  };
316 
317  struct DtLabelledAnnounceCbInfo
318  {
319  DtString label;
320  DtAnnounceSynchPointCb cbFunction;
321  void* userData;
322  };
323 
324  static void attributesOutOfScopeCb(void* usr);
325 
326  virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
327 
328  DtExerciseConn* myExConn;
329  DtInteractionManager* myInteractionManager;
330  DtHlaObjectManager* myHlaObjectManager;
331 
332  DtReflectAttributeValuesCbList myRavCbList;
333  DtUpdatesOnCbList myUpdatesOnCbList;
334  DtUpdatesOffCbList myUpdatesOffCbList;
335  DtStartRegCbList myStartRegCbList;
336  DtStopRegCbList myStopRegCbList;
337  DtStartStopInterCbList myStartIntCbList;
338  DtStartStopInterCbList myStopIntCbList;
339  DtFedTimeCbList myTimeAdvanceGrantCbList;
340  DtFedTimeCbList myRegulationEnabledCbList;
341  DtFedTimeCbList myConstrainedEnabledCbList;
342  DtConnectionLostCbList myConnectionLostCbList;
343  DtReserveNameCbList myNameReservationSucceededCbList;
344  DtReserveNameCbList myNameReservationFailedCbList;
345 
346  DtReserveMultipleNamesCbList myMultipleNamesReservationSucceededCbList;
347  DtReserveMultipleNamesCbList myMultipleNamesReservationFailedCbList;
348 
350  std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
351  std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
352  std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
353  std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
354 
355  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
356  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
357  std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
358  std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
359 
360  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
361  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
362  std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
363  std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
364 
365  bool myRemoveObjectOnAttOutOfScope;
366 
368  virtual void applyFedsSynchedCallbacks(const DtString& label);
369  virtual void applyRegistrationSucceededCallbacks(const DtString& label);
370  virtual void applyRegistrationFailedCallbacks(const DtString& label);
371 
373  virtual bool applyAnnounceCallbacks(const DtString& label, const RTI::VariableLengthData& tag);
374 
375 
376 public:
377 
378  // 4.4
379  virtual void connectionLost (
380  std::wstring const & faultDescription)
381  throw (
382  RTI::FederateInternalError);
383 
384  // 4.8
385  virtual void reportFederationExecutions (
386  RTI::FederationExecutionInformationVector const &
387  theFederationExecutionInformationList)
388  throw (
389  RTI::FederateInternalError);
390 
391  // 4.12
393  std::wstring const & label)
394  throw (
395  RTI::FederateInternalError);
396 
398  std::wstring const & label,
399  RTI::SynchronizationPointFailureReason reason)
400  throw (
401  RTI::FederateInternalError);
402 
403  // 4.13
404  virtual void announceSynchronizationPoint (
405  std::wstring const & label,
406  RTI::VariableLengthData const & theUserSuppliedTag)
407  throw (
408  RTI::FederateInternalError);
409 
410  // 4.15
411  virtual void federationSynchronized (
412  std::wstring const & label,
413  RTI::FederateHandleSet const& failedToSyncSet)
414  throw (
415  RTI::FederateInternalError);
416 
417  // 4.17
418  virtual void initiateFederateSave (
419  std::wstring const & label)
420  throw (
421  RTI::FederateInternalError);
422 
423  virtual void initiateFederateSave (
424  std::wstring const & label,
425  RTI::LogicalTime const & theTime)
426  throw (
427  RTI::FederateInternalError);
428 
429  // 4.20
430  virtual void federationSaved ()
431  throw (
432  RTI::FederateInternalError);
433 
434  virtual void federationNotSaved (
435  RTI::SaveFailureReason theSaveFailureReason)
436  throw (
437  RTI::FederateInternalError);
438 
439 
440  // 4.23
441  virtual void federationSaveStatusResponse (
442  RTI::FederateHandleSaveStatusPairVector const &
443  theFederateStatusVector)
444  throw (
445  RTI::FederateInternalError);
446 
447  // 4.25
448  virtual void requestFederateRestoreSucceeded (
449  std::wstring const & label)
450  throw (
451  RTI::FederateInternalError);
452 
453  virtual void requestFederateRestoreFailed (
454  std::wstring const & label)
455  throw (
456  RTI::FederateInternalError);
457 
458  // 4.26
459  virtual void federationRestoreBegun ()
460  throw (
461  RTI::FederateInternalError);
462 
463  // 4.27
464  virtual void initiateFederateRestore (
465  std::wstring const & label,
466  std::wstring const & federateName,
467  RTI::FederateHandle handle)
468  throw (
469  RTI::FederateInternalError);
470 
471  // 4.29
472  virtual void federationRestored ()
473  throw (
474  RTI::FederateInternalError);
475 
476  virtual void federationNotRestored (
477  RTI::RestoreFailureReason theRestoreFailureReason)
478  throw (
479  RTI::FederateInternalError);
480 
481  // 4.32
482  virtual void federationRestoreStatusResponse (
483  RTI::FederateRestoreStatusVector const &
484  theFederateRestoreStatusVector)
485  throw (
486  RTI::FederateInternalError);
487 
489  // Declaration Management Services //
491 
492  // 5.10
493  virtual void startRegistrationForObjectClass (
494  RTI::ObjectClassHandle theClass)
495  throw (
496  RTI::FederateInternalError);
497 
498  // 5.11
499  virtual void stopRegistrationForObjectClass (
500  RTI::ObjectClassHandle theClass)
501  throw (
502  RTI::FederateInternalError);
503 
504  // 5.12
505  virtual void turnInteractionsOn (
506  RTI::InteractionClassHandle theHandle)
507  throw (
508  RTI::FederateInternalError);
509 
510  // 5.13
511  virtual void turnInteractionsOff (
512  RTI::InteractionClassHandle theHandle)
513  throw (
514  RTI::FederateInternalError);
515 
517  // Object Management Services //
519 
520  // 6.3
521  virtual void objectInstanceNameReservationSucceeded (
522  std::wstring const & theObjectInstanceName)
523  throw (
524  RTI::FederateInternalError);
525 
526  virtual void objectInstanceNameReservationFailed (
527  std::wstring const & theObjectInstanceName)
528  throw (
529  RTI::FederateInternalError);
530 
531  // 6.6
532  virtual void multipleObjectInstanceNameReservationSucceeded (
533  std::set<std::wstring> const & theObjectInstanceNames)
534  throw (
535  RTI::FederateInternalError);
536 
537  virtual void multipleObjectInstanceNameReservationFailed (
538  std::set<std::wstring> const & theObjectInstanceNames)
539  throw (
540  RTI::FederateInternalError);
541 
542 
543  // 6.9
544  virtual void discoverObjectInstance (
545  RTI::ObjectInstanceHandle theObject,
546  RTI::ObjectClassHandle theObjectClass,
547  std::wstring const & theObjectInstanceName)
548  throw (
549  RTI::FederateInternalError);
550 
551  virtual void discoverObjectInstance (
552  RTI::ObjectInstanceHandle theObject,
553  RTI::ObjectClassHandle theObjectClass,
554  std::wstring const & theObjectInstanceName,
555  RTI::FederateHandle producingFederate)
556  throw (
557  RTI::FederateInternalError);
558 
559  // 6.11
560  virtual void reflectAttributeValues (
561  RTI::ObjectInstanceHandle theObject,
562  RTI::AttributeHandleValueMap const & theAttributeValues,
563  RTI::VariableLengthData const & theUserSuppliedTag,
564  RTI::OrderType sentOrder,
565  RTI::TransportationType theType,
566  RTI::SupplementalReflectInfo theReflectInfo)
567  throw (
568  RTI::FederateInternalError);
569 
570  virtual void reflectAttributeValues (
571  RTI::ObjectInstanceHandle theObject,
572  RTI::AttributeHandleValueMap const & theAttributeValues,
573  RTI::VariableLengthData const & theUserSuppliedTag,
574  RTI::OrderType sentOrder,
575  RTI::TransportationType theType,
576  RTI::LogicalTime const & theTime,
577  RTI::OrderType receivedOrder,
578  RTI::SupplementalReflectInfo theReflectInfo)
579  throw (
580  RTI::FederateInternalError);
581 
582  virtual void reflectAttributeValues (
583  RTI::ObjectInstanceHandle theObject,
584  RTI::AttributeHandleValueMap const & theAttributeValues,
585  RTI::VariableLengthData const & theUserSuppliedTag,
586  RTI::OrderType sentOrder,
587  RTI::TransportationType theType,
588  RTI::LogicalTime const & theTime,
589  RTI::OrderType receivedOrder,
590  RTI::MessageRetractionHandle theHandle,
591  RTI::SupplementalReflectInfo theReflectInfo)
592  throw (
593  RTI::FederateInternalError);
594 
595  // 6.13
596  virtual void receiveInteraction (
597  RTI::InteractionClassHandle theInteraction,
598  RTI::ParameterHandleValueMap const & theParameterValues,
599  RTI::VariableLengthData const & theUserSuppliedTag,
600  RTI::OrderType sentOrder,
601  RTI::TransportationType theType,
602  RTI::SupplementalReceiveInfo theReceiveInfo)
603  throw (
604  RTI::FederateInternalError);
605 
606  virtual void receiveInteraction (
607  RTI::InteractionClassHandle theInteraction,
608  RTI::ParameterHandleValueMap const & theParameterValues,
609  RTI::VariableLengthData const & theUserSuppliedTag,
610  RTI::OrderType sentOrder,
611  RTI::TransportationType theType,
612  RTI::LogicalTime const & theTime,
613  RTI::OrderType receivedOrder,
614  RTI::SupplementalReceiveInfo theReceiveInfo)
615  throw (
616  RTI::FederateInternalError);
617 
618  virtual void receiveInteraction (
619  RTI::InteractionClassHandle theInteraction,
620  RTI::ParameterHandleValueMap const & theParameterValues,
621  RTI::VariableLengthData const & theUserSuppliedTag,
622  RTI::OrderType sentOrder,
623  RTI::TransportationType theType,
624  RTI::LogicalTime const & theTime,
625  RTI::OrderType receivedOrder,
626  RTI::MessageRetractionHandle theHandle,
627  RTI::SupplementalReceiveInfo theReceiveInfo)
628  throw (
629  RTI::FederateInternalError);
630 
631  // 6.15
632  virtual void removeObjectInstance (
633  RTI::ObjectInstanceHandle theObject,
634  RTI::VariableLengthData const & theUserSuppliedTag,
635  RTI::OrderType sentOrder,
636  RTI::SupplementalRemoveInfo theRemoveInfo)
637  throw (
638  RTI::FederateInternalError);
639 
640  virtual void removeObjectInstance (
641  RTI::ObjectInstanceHandle theObject,
642  RTI::VariableLengthData const & theUserSuppliedTag,
643  RTI::OrderType sentOrder,
644  RTI::LogicalTime const & theTime,
645  RTI::OrderType receivedOrder,
646  RTI::SupplementalRemoveInfo theRemoveInfo)
647  throw (
648  RTI::FederateInternalError);
649 
650  virtual void removeObjectInstance (
651  RTI::ObjectInstanceHandle theObject,
652  RTI::VariableLengthData const & theUserSuppliedTag,
653  RTI::OrderType sentOrder,
654  RTI::LogicalTime const & theTime,
655  RTI::OrderType receivedOrder,
656  RTI::MessageRetractionHandle theHandle,
657  RTI::SupplementalRemoveInfo theRemoveInfo)
658  throw (
659  RTI::FederateInternalError);
660 
661  // 6.17
662  virtual void attributesInScope (
663  RTI::ObjectInstanceHandle theObject,
664  RTI::AttributeHandleSet const & theAttributes)
665  throw (
666  RTI::FederateInternalError);
667 
668  // 6.18
669  virtual void attributesOutOfScope (
670  RTI::ObjectInstanceHandle theObject,
671  RTI::AttributeHandleSet const & theAttributes)
672  throw (
673  RTI::FederateInternalError);
674 
675  // 6.20
676  virtual void provideAttributeValueUpdate (
677  RTI::ObjectInstanceHandle theObject,
678  RTI::AttributeHandleSet const & theAttributes,
679  RTI::VariableLengthData const & theUserSuppliedTag)
680  throw (
681  RTI::FederateInternalError);
682 
683  // 6.21
684  virtual void turnUpdatesOnForObjectInstance (
685  RTI::ObjectInstanceHandle theObject,
686  RTI::AttributeHandleSet const & theAttributes)
687  throw (
688  RTI::FederateInternalError);
689 
690  virtual void turnUpdatesOnForObjectInstance (
691  RTI::ObjectInstanceHandle theObject,
692  RTI::AttributeHandleSet const & theAttributes,
693  std::wstring const & updateRateDesignator)
694  throw (
695  RTI::FederateInternalError);
696 
697  // 6.22
698  virtual void turnUpdatesOffForObjectInstance (
699  RTI::ObjectInstanceHandle theObject,
700  RTI::AttributeHandleSet const & theAttributes)
701  throw (
702  RTI::FederateInternalError);
703 
704  // 6.24
705  virtual void confirmAttributeTransportationTypeChange (
706  RTI::ObjectInstanceHandle theObject,
707  RTI::AttributeHandleSet theAttributes,
708  RTI::TransportationType theTransportation)
709  throw (
710  RTI::FederateInternalError);
711 
712  // 6.26
713  virtual void reportAttributeTransportationType (
714  RTI::ObjectInstanceHandle theObject,
715  RTI::AttributeHandle theAttribute,
716  RTI::TransportationType theTransportation)
717  throw (
718  RTI::FederateInternalError);
719 
720  // 6.28
721  virtual void confirmInteractionTransportationTypeChange (
722  RTI::InteractionClassHandle theInteraction,
723  RTI::TransportationType theTransportation)
724  throw (
725  RTI::FederateInternalError);
726 
727  // 6.30
728  virtual void reportInteractionTransportationType (
729  RTI::FederateHandle federateHandle,
730  RTI::InteractionClassHandle theInteraction,
731  RTI::TransportationType theTransportation)
732  throw (
733  RTI::FederateInternalError);
734 
735 
737  // Ownership Management Services //
739 
740  // 7.4
741  virtual void requestAttributeOwnershipAssumption (
742  RTI::ObjectInstanceHandle theObject,
743  RTI::AttributeHandleSet const & offeredAttributes,
744  RTI::VariableLengthData const & theUserSuppliedTag)
745  throw (
746  RTI::FederateInternalError);
747 
748  // 7.5
749  virtual void requestDivestitureConfirmation (
750  RTI::ObjectInstanceHandle theObject,
751  RTI::AttributeHandleSet const & releasedAttributes)
752  throw (
753  RTI::FederateInternalError);
754 
755  // 7.7
756  virtual void attributeOwnershipAcquisitionNotification (
757  RTI::ObjectInstanceHandle theObject,
758  RTI::AttributeHandleSet const & securedAttributes,
759  RTI::VariableLengthData const & theUserSuppliedTag)
760  throw (
761  RTI::FederateInternalError);
762 
763  // 7.10
764  virtual void attributeOwnershipUnavailable (
765  RTI::ObjectInstanceHandle theObject,
766  RTI::AttributeHandleSet const & theAttributes)
767  throw (
768  RTI::FederateInternalError);
769 
770  // 7.11
771  virtual void requestAttributeOwnershipRelease (
772  RTI::ObjectInstanceHandle theObject,
773  RTI::AttributeHandleSet const & candidateAttributes,
774  RTI::VariableLengthData const & theUserSuppliedTag)
775  throw (
776  RTI::FederateInternalError);
777 
778  // 7.16
779  virtual void confirmAttributeOwnershipAcquisitionCancellation (
780  RTI::ObjectInstanceHandle theObject,
781  RTI::AttributeHandleSet const & theAttributes)
782  throw (
783  RTI::FederateInternalError);
784 
785  // 7.18
786  virtual void informAttributeOwnership (
787  RTI::ObjectInstanceHandle theObject,
788  RTI::AttributeHandle theAttribute,
789  RTI::FederateHandle theOwner)
790  throw (
791  RTI::FederateInternalError);
792 
793  virtual void attributeIsNotOwned (
794  RTI::ObjectInstanceHandle theObject,
795  RTI::AttributeHandle theAttribute)
796  throw (
797  RTI::FederateInternalError);
798 
799  virtual void attributeIsOwnedByRTI (
800  RTI::ObjectInstanceHandle theObject,
801  RTI::AttributeHandle theAttribute)
802  throw (
803  RTI::FederateInternalError);
804 
806  // Time Management Services //
808 
809  // 8.3
810  virtual void timeRegulationEnabled (
811  RTI::LogicalTime const & theFederateTime)
812  throw (
813  RTI::FederateInternalError);
814 
815  // 8.6
816  virtual void timeConstrainedEnabled (
817  RTI::LogicalTime const & theFederateTime)
818  throw (
819  RTI::FederateInternalError);
820 
821  // 8.13
822  virtual void timeAdvanceGrant (
823  RTI::LogicalTime const & theTime)
824  throw (
825  RTI::FederateInternalError);
826 
827  // 8.22
828  virtual void requestRetraction (
829  RTI::MessageRetractionHandle theHandle)
830  throw (
831  RTI::FederateInternalError);
832 
833 protected:
834 
835  bool myWaitingForSave;
836  bool myWaitingForRestore;
837 };
838 
839 #endif
840 #endif
841 
842 

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)