VR-Link API Documentation for DIS
vrlFederateAmbassador1516.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
12 #if DtHLA
13 #if DtHLA_1516
14 #ifndef DtHLA_1516_EVOLVED
15 
16 
17 #include "callbacks.h"
18 
19 #include "rtiNamespace.h"
21 #include <list>
22 
23 typedef void (*DtSynchPointCb)(
24  const char* label,
25  void* usr);
26 
27 typedef void (*DtAnnounceSynchPointCb)(
28  const char* label,
29  const RTI::VariableLengthData& tag,
30  void* usr);
31 
32 class DT_DLL_VL DtInteractionManager;
33 class DT_DLL_VL DtHlaObjectManager;
34 
38 class DT_DLL_VL DtVrlFederateAmbassador : public DtNullFederateAmbassador
39 {
40  struct DtScopeChangeCallbackData
41  {
42  DtVrlFederateAmbassador* fedAmb;
43  RTI::ObjectInstanceHandle handle;
44  };
45 
46 public:
48  DtVrlFederateAmbassador()
49  throw (RTI::FederateInternalError);
51  virtual ~DtVrlFederateAmbassador()
52  throw( );
53 
54 protected:
56  DtVrlFederateAmbassador( const DtVrlFederateAmbassador& src );
57 
59  DtVrlFederateAmbassador& operator=(const DtVrlFederateAmbassador& src );
60 
61 public:
64  virtual void init( DtExerciseConn* exConn,
65  DtHlaObjectManager* hlaObjMgr,
66  DtInteractionManager* interMgr );
67 
68 public:
70  static DtVrlFederateAmbassador* create();
71 
72 public:
75  virtual void addReflectAttributeValuesCb(
76  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
77  virtual void removeReflectAttributeValuesCb(
78  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
79 
82  virtual void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
83  DtDiscoverObjectCb cb, void* usr );
84  virtual void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
85  DtDiscoverObjectCb cb, void* usr );
86 
89  virtual void addRemoveObjectCb( RTI::ObjectInstanceHandle id,
90  DtRemoveObjectCb cb, void* usr );
91  virtual void removeRemoveObjectCb( RTI::ObjectInstanceHandle id,
92  DtRemoveObjectCb cb, void* usr );
93 
96  virtual void addStartRegCb( RTI::ObjectClassHandle hand,
97  DtStartRegCb cb, void* usr );
98  virtual void removeStartRegCb( RTI::ObjectClassHandle hand,
99  DtStartRegCb cb, void* usr );
100 
103  virtual void addStopRegCb( RTI::ObjectClassHandle hand,
104  DtStopRegCb cb, void* usr );
105  virtual void removeStopRegCb( RTI::ObjectClassHandle hand,
106  DtStopRegCb cb, void* usr );
107 
110  virtual void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
111  DtUpdatesOnCb cb, void* usr );
112  virtual void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
113  DtUpdatesOnCb cb, void* usr );
114 
117  virtual void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
118  DtUpdatesOffCb cb, void* usr );
119  virtual void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
120  DtUpdatesOffCb cb, void* usr );
121 
124  virtual void addStartInteractionsCb( RTI::InteractionClassHandle hand,
125  DtStartStopInterCb cb, void* usr );
126  virtual void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
127  DtStartStopInterCb cb, void* usr );
128 
131  virtual void addStopInteractionsCb( RTI::InteractionClassHandle hand,
132  DtStartStopInterCb cb, void* usr );
133  virtual void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
134  DtStartStopInterCb cb, void* usr );
135 
138  virtual void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
139  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
140  virtual void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
141  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP() );
142 
145  virtual void addTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
146  virtual void removeTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
147 
150  virtual void addTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
151  virtual void removeTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
152 
155  virtual void addTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
156  virtual void removeTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
157 
160  virtual void addNameReservationSucceeded( DtReserveNameCb cb, void* usr );
161  virtual void removeNameReservationSucceeded( DtReserveNameCb cb, void* usr );
162 
165  virtual void addNameReservationFailed( DtReserveNameCb cb, void* usr );
166  virtual void removeNameReservationFailed( DtReserveNameCb cb, void* usr );
167 
169  virtual void addSynchPointRegSucceededCb(const DtString& label,
170  DtSynchPointCb func, void* usr);
171  virtual void addSynchPointRegSucceededCb(DtSynchPointCb func,
172  void* usr);
173 
174  virtual void removeSynchPointRegSucceededCb(const DtString& label,
175  DtSynchPointCb func, void* usr);
176  virtual void removeSynchPointRegSucceededCb(DtSynchPointCb func,
177  void* usr);
178 
179  virtual void addSynchPointRegFailedCb(const DtString& label,
180  DtSynchPointCb func, void* usr);
181  virtual void addSynchPointRegFailedCb(DtSynchPointCb func,
182  void* usr);
183 
184  virtual void removeSynchPointRegFailedCb(const DtString& label,
185  DtSynchPointCb func, void* usr);
186  virtual void removeSynchPointRegFailedCb(DtSynchPointCb func,
187  void* usr);
188 
189  virtual void addFederationSynchedCb(const DtString& label,
190  DtSynchPointCb func, void* usr);
191  virtual void addFederationSynchedCb(DtSynchPointCb func,
192  void* usr);
193 
194  virtual void removeFederationSynchedCb(const DtString& label,
195  DtSynchPointCb func, void* usr);
196  virtual void removeFederationSynchedCb(DtSynchPointCb func,
197  void* usr);
198 
199  virtual void addAnnounceSynchPointCb(const DtString& label,
200  DtAnnounceSynchPointCb func, void* usr);
201  virtual void addAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
202  void* usr);
203 
204  virtual void removeAnnounceSynchPointCb(const DtString& label,
205  DtAnnounceSynchPointCb func, void* usr);
206  virtual void removeAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
207  void* usr);
208 
209  virtual void setRemoveObjectOnAttOutOfScope(bool remove);
210  virtual bool removeObjectOnAttOutOfScope() const;
211 
212 
213 
214 protected:
216  struct DtGeneralSynchPointCbInfo
217  {
218  DtSynchPointCb cbFunction;
219  void* userData;
220  };
221 
222  struct DtLabelledSynchPointCbInfo
223  {
224  DtString label;
225  DtSynchPointCb cbFunction;
226  void* userData;
227  };
228 
229  struct DtGeneralAnnounceCbInfo
230  {
231  DtAnnounceSynchPointCb cbFunction;
232  void* userData;
233  };
234 
235  struct DtLabelledAnnounceCbInfo
236  {
237  DtString label;
238  DtAnnounceSynchPointCb cbFunction;
239  void* userData;
240  };
241 
242  static void attributesOutOfScopeCb(void* usr);
243 
244  virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
245 
246  DtExerciseConn* myExConn;
247  DtInteractionManager* myInteractionManager;
248  DtHlaObjectManager* myHlaObjectManager;
249 
250  DtReflectAttributeValuesCbList myRavCbList;
251  DtUpdatesOnCbList myUpdatesOnCbList;
252  DtUpdatesOffCbList myUpdatesOffCbList;
253  DtStartRegCbList myStartRegCbList;
254  DtStopRegCbList myStopRegCbList;
255  DtStartStopInterCbList myStartIntCbList;
256  DtStartStopInterCbList myStopIntCbList;
257  DtFedTimeCbList myTimeAdvanceGrantCbList;
258  DtFedTimeCbList myRegulationEnabledCbList;
259  DtFedTimeCbList myConstrainedEnabledCbList;
260  DtReserveNameCbList myNameReservationSucceededCbList;
261  DtReserveNameCbList myNameReservationFailedCbList;
262 
264  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
265  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
266  std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
267  std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
268 
269  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
270  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
271  std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
272  std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
273 
274  bool myRemoveObjectOnAttOutOfScope;
275 
277  virtual void applyFedsSynchedCallbacks(const DtString& label);
278  virtual void applyRegistrationSucceededCallbacks(const DtString& label);
279  virtual void applyRegistrationFailedCallbacks(const DtString& label);
280 
282  virtual bool applyAnnounceCallbacks(const DtString& label, const RTI::VariableLengthData& tag);
283 
284 
285 public:
286 
288  virtual void synchronizationPointRegistrationSucceeded(
289  std::wstring const & label)
290  throw (RTI::FederateInternalError);
291 
292  virtual void synchronizationPointRegistrationFailed(
293  std::wstring const & label,
294  RTI::SynchronizationFailureReason reason)
295  throw (RTI::FederateInternalError);
296 
298  virtual void announceSynchronizationPoint(
299  std::wstring const & label,
300  RTI::VariableLengthData const & aTag)
301  throw (RTI::FederateInternalError);
302 
304  virtual void federationSynchronized(std::wstring const & label)
305  throw (RTI::FederateInternalError);
306 
308  virtual void initiateFederateSave(std::wstring const & label)
309  throw (RTI::UnableToPerformSave,
310  RTI::FederateInternalError);
311 
312  virtual void initiateFederateSave(std::wstring const & label,
313  RTI::LogicalTime const & theTime)
314  throw (RTI::UnableToPerformSave,
315  RTI::InvalidLogicalTime,
316  RTI::FederateInternalError);
317 
319  virtual
320  void
321  federationSaved()
322  throw (RTI::FederateInternalError);
323 
324  virtual void federationNotSaved(RTI::SaveFailureReason theSaveFailureReason)
325  throw (RTI::FederateInternalError);
326 
327 
329  virtual void federationSaveStatusResponse(
330  RTI::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
331  throw (RTI::FederateInternalError);
332 
334  virtual void requestFederationRestoreSucceeded(std::wstring const & label)
335  throw (RTI::FederateInternalError);
336 
337  virtual void requestFederationRestoreFailed(std::wstring const & label)
338  throw (RTI::FederateInternalError);
339 
341  virtual void federationRestoreBegun()
342  throw (RTI::FederateInternalError);
343 
345  virtual void initiateFederateRestore(std::wstring const & label,
346  RTI::FederateHandle handle)
347  throw (RTI::SpecifiedSaveLabelDoesNotExist,
348  RTI::CouldNotInitiateRestore,
349  RTI::FederateInternalError);
350 
352  virtual void federationRestored()
353  throw (RTI::FederateInternalError);
354 
355  virtual void federationNotRestored(
356  RTI::RestoreFailureReason theRestoreFailureReason)
357  throw (RTI::FederateInternalError);
358 
360  virtual void federationRestoreStatusResponse(
361  RTI::FederateHandleRestoreStatusPairVector const & theFederateStatusVector)
362  throw (RTI::FederateInternalError);
363 
367 
369  virtual void startRegistrationForObjectClass(
370  RTI::ObjectClassHandle theClass)
371  throw (RTI::ObjectClassNotPublished,
372  RTI::FederateInternalError);
373 
375  virtual void stopRegistrationForObjectClass(
376  RTI::ObjectClassHandle theClass)
377  throw (RTI::ObjectClassNotPublished,
378  RTI::FederateInternalError);
379 
381  virtual void turnInteractionsOn(
382  RTI::InteractionClassHandle theHandle)
383  throw (RTI::InteractionClassNotPublished,
384  RTI::FederateInternalError);
385 
387  virtual void turnInteractionsOff(RTI::InteractionClassHandle theHandle)
388  throw (RTI::InteractionClassNotPublished,
389  RTI::FederateInternalError);
390 
394 
396  virtual void objectInstanceNameReservationSucceeded(
397  std::wstring const & theObjectInstanceName)
398  throw (RTI::UnknownName,
399  RTI::FederateInternalError);
400 
401  virtual void objectInstanceNameReservationFailed(
402  std::wstring const & theObjectInstanceName)
403  throw (RTI::UnknownName,
404  RTI::FederateInternalError);
405 
406 
407  virtual void discoverObjectInstance(
408  RTI::ObjectInstanceHandle theObject,
409  RTI::ObjectClassHandle theObjectClass,
410  std::wstring const & theObjectInstanceName)
411  throw (RTI::CouldNotDiscover,
412  RTI::ObjectClassNotKnown,
413  RTI::FederateInternalError);
414 
415 
416  virtual void reflectAttributeValues(
417  RTI::ObjectInstanceHandle theObject,
418  RTI::AttributeHandleValueMap const & theAttributeValues,
419  RTI::VariableLengthData const & aTag,
420  RTI::OrderType sentOrder,
421  RTI::TransportationType theType)
422  throw (RTI::ObjectInstanceNotKnown,
423  RTI::AttributeNotRecognized,
424  RTI::AttributeNotSubscribed,
425  RTI::FederateInternalError);
426 
427  virtual void reflectAttributeValues(
428  RTI::ObjectInstanceHandle theObject,
429  RTI::AttributeHandleValueMap const & theAttributeValues,
430  RTI::VariableLengthData const & aTag,
431  RTI::OrderType sentOrder,
432  RTI::TransportationType theType,
433  RTI::RegionHandleSet const & theSentRegionHandleSet)
434  throw (RTI::ObjectInstanceNotKnown,
435  RTI::AttributeNotRecognized,
436  RTI::AttributeNotSubscribed,
437  RTI::FederateInternalError);
438 
439  virtual void reflectAttributeValues(
440  RTI::ObjectInstanceHandle theObject,
441  RTI::AttributeHandleValueMap const & theAttributeValues,
442  RTI::VariableLengthData const & aTag,
443  RTI::OrderType sentOrder,
444  RTI::TransportationType theType,
445  RTI::LogicalTime const & theTime,
446  RTI::OrderType receivedOrder)
447  throw (RTI::ObjectInstanceNotKnown,
448  RTI::AttributeNotRecognized,
449  RTI::AttributeNotSubscribed,
450  RTI::FederateInternalError);
451 
452  virtual void reflectAttributeValues(
453  RTI::ObjectInstanceHandle theObject,
454  RTI::AttributeHandleValueMap const & theAttributeValues,
455  RTI::VariableLengthData const & aTag,
456  RTI::OrderType sentOrder,
457  RTI::TransportationType theType,
458  RTI::LogicalTime const & theTime,
459  RTI::OrderType receivedOrder,
460  RTI::RegionHandleSet const & theSentRegionHandleSet)
461  throw (RTI::ObjectInstanceNotKnown,
462  RTI::AttributeNotRecognized,
463  RTI::AttributeNotSubscribed,
464  RTI::FederateInternalError);
465 
466  virtual void reflectAttributeValues(
467  RTI::ObjectInstanceHandle theObject,
468  RTI::AttributeHandleValueMap const & theAttributeValues,
469  RTI::VariableLengthData const & aTag,
470  RTI::OrderType sentOrder,
471  RTI::TransportationType theType,
472  RTI::LogicalTime const & theTime,
473  RTI::OrderType receivedOrder,
474  RTI::MessageRetractionHandle theHandle)
475  throw (RTI::ObjectInstanceNotKnown,
476  RTI::AttributeNotRecognized,
477  RTI::AttributeNotSubscribed,
478  RTI::InvalidLogicalTime,
479  RTI::FederateInternalError);
480 
481  virtual void reflectAttributeValues(
482  RTI::ObjectInstanceHandle theObject,
483  RTI::AttributeHandleValueMap const & theAttributeValues,
484  RTI::VariableLengthData const & aTag,
485  RTI::OrderType sentOrder,
486  RTI::TransportationType theType,
487  RTI::LogicalTime const & theTime,
488  RTI::OrderType receivedOrder,
489  RTI::MessageRetractionHandle theHandle,
490  RTI::RegionHandleSet const & theSentRegionHandleSet)
491  throw (RTI::ObjectInstanceNotKnown,
492  RTI::AttributeNotRecognized,
493  RTI::AttributeNotSubscribed,
494  RTI::InvalidLogicalTime,
495  RTI::FederateInternalError);
496 
497 
499  virtual void receiveInteraction (
500  RTI::InteractionClassHandle theInteraction,
501  RTI::ParameterHandleValueMap const & theParameterValues,
502  RTI::VariableLengthData const & aTag,
503  RTI::OrderType sentOrder,
504  RTI::TransportationType theType)
505  throw (RTI::InteractionClassNotRecognized,
506  RTI::InteractionParameterNotRecognized,
507  RTI::InteractionClassNotSubscribed,
508  RTI::FederateInternalError);
509 
510  virtual void receiveInteraction(
511  RTI::InteractionClassHandle theInteraction,
512  RTI::ParameterHandleValueMap const & theParameterValues,
513  RTI::VariableLengthData const & aTag,
514  RTI::OrderType sentOrder,
515  RTI::TransportationType theType,
516  RTI::RegionHandleSet const & theSentRegionHandleSet)
517  throw (RTI::InteractionClassNotRecognized,
518  RTI::InteractionParameterNotRecognized,
519  RTI::InteractionClassNotSubscribed,
520  RTI::FederateInternalError);
521 
522  virtual void receiveInteraction(
523  RTI::InteractionClassHandle theInteraction,
524  RTI::ParameterHandleValueMap const & theParameterValues,
525  RTI::VariableLengthData const & aTag,
526  RTI::OrderType sentOrder,
527  RTI::TransportationType theType,
528  RTI::LogicalTime const & theTime,
529  RTI::OrderType receivedOrder)
530  throw (RTI::InteractionClassNotRecognized,
531  RTI::InteractionParameterNotRecognized,
532  RTI::InteractionClassNotSubscribed,
533  RTI::FederateInternalError);
534 
535  virtual void receiveInteraction(
536  RTI::InteractionClassHandle theInteraction,
537  RTI::ParameterHandleValueMap const & theParameterValues,
538  RTI::VariableLengthData const & aTag,
539  RTI::OrderType sentOrder,
540  RTI::TransportationType theType,
541  RTI::LogicalTime const & theTime,
542  RTI::OrderType receivedOrder,
543  RTI::RegionHandleSet const & theSentRegionHandleSet)
544  throw (RTI::InteractionClassNotRecognized,
545  RTI::InteractionParameterNotRecognized,
546  RTI::InteractionClassNotSubscribed,
547  RTI::FederateInternalError);
548 
549  virtual void receiveInteraction(
550  RTI::InteractionClassHandle theInteraction,
551  RTI::ParameterHandleValueMap const & theParameterValues,
552  RTI::VariableLengthData const & aTag,
553  RTI::OrderType sentOrder,
554  RTI::TransportationType theType,
555  RTI::LogicalTime const & theTime,
556  RTI::OrderType receivedOrder,
557  RTI::MessageRetractionHandle theHandle)
558  throw (RTI::InteractionClassNotRecognized,
559  RTI::InteractionParameterNotRecognized,
560  RTI::InteractionClassNotSubscribed,
561  RTI::InvalidLogicalTime,
562  RTI::FederateInternalError);
563 
564  virtual void receiveInteraction (
565  RTI::InteractionClassHandle theInteraction,
566  RTI::ParameterHandleValueMap const & theParameterValues,
567  RTI::VariableLengthData const & aTag,
568  RTI::OrderType sentOrder,
569  RTI::TransportationType theType,
570  RTI::LogicalTime const & theTime,
571  RTI::OrderType receivedOrder,
572  RTI::MessageRetractionHandle theHandle,
573  RTI::RegionHandleSet const & theSentRegionHandleSet)
574  throw (RTI::InteractionClassNotRecognized,
575  RTI::InteractionParameterNotRecognized,
576  RTI::InteractionClassNotSubscribed,
577  RTI::InvalidLogicalTime,
578  RTI::FederateInternalError);
579 
581  virtual void removeObjectInstance(
582  RTI::ObjectInstanceHandle theObject,
583  RTI::VariableLengthData const & aTag,
584  RTI::OrderType sentOrder)
585  throw (RTI::ObjectInstanceNotKnown,
586  RTI::FederateInternalError);
587 
588  virtual void removeObjectInstance(
589  RTI::ObjectInstanceHandle theObject,
590  RTI::VariableLengthData const & aTag,
591  RTI::OrderType sentOrder,
592  RTI::LogicalTime const & theTime,
593  RTI::OrderType receivedOrder)
594  throw (RTI::ObjectInstanceNotKnown,
595  RTI::FederateInternalError);
596 
597  virtual void removeObjectInstance(
598  RTI::ObjectInstanceHandle theObject,
599  RTI::VariableLengthData const & aTag,
600  RTI::OrderType sentOrder,
601  RTI::LogicalTime const & theTime,
602  RTI::OrderType receivedOrder,
603  RTI::MessageRetractionHandle theHandle)
604  throw (RTI::ObjectInstanceNotKnown,
605  RTI::InvalidLogicalTime,
606  RTI::FederateInternalError);
607 
609  virtual void attributesInScope(
610  RTI::ObjectInstanceHandle theObject,
611  RTI::AttributeHandleSet const & theAttributes)
612  throw (RTI::ObjectInstanceNotKnown,
613  RTI::AttributeNotRecognized,
614  RTI::AttributeNotSubscribed,
615  RTI::FederateInternalError);
616 
618  virtual void attributesOutOfScope(
619  RTI::ObjectInstanceHandle theObject,
620  RTI::AttributeHandleSet const &theAttributes)
621  throw (RTI::ObjectInstanceNotKnown,
622  RTI::AttributeNotRecognized,
623  RTI::AttributeNotSubscribed,
624  RTI::FederateInternalError);
625 
627  virtual void provideAttributeValueUpdate(
628  RTI::ObjectInstanceHandle theObject,
629  RTI::AttributeHandleSet const & theAttributes,
630  RTI::VariableLengthData const & aTag)
631  throw (RTI::ObjectInstanceNotKnown,
632  RTI::AttributeNotRecognized,
633  RTI::AttributeNotOwned,
634  RTI::FederateInternalError);
635 
637  virtual void turnUpdatesOnForObjectInstance(
638  RTI::ObjectInstanceHandle theObject,
639  RTI::AttributeHandleSet const & theAttributes)
640  throw (RTI::ObjectInstanceNotKnown,
641  RTI::AttributeNotRecognized,
642  RTI::AttributeNotOwned,
643  RTI::FederateInternalError);
644 
646  virtual void turnUpdatesOffForObjectInstance(
647  RTI::ObjectInstanceHandle theObject,
648  RTI::AttributeHandleSet const & theAttributes)
649  throw (RTI::ObjectInstanceNotKnown,
650  RTI::AttributeNotRecognized,
651  RTI::AttributeNotOwned,
652  RTI::FederateInternalError);
653 
657 
658  virtual void requestAttributeOwnershipAssumption(
659  RTI::ObjectInstanceHandle theObject,
660  RTI::AttributeHandleSet const & offeredAttributes,
661  RTI::VariableLengthData const & aTag)
662  throw (RTI::ObjectInstanceNotKnown,
663  RTI::AttributeNotRecognized,
664  RTI::AttributeAlreadyOwned,
665  RTI::AttributeNotPublished,
666  RTI::FederateInternalError);
667 
668  virtual void requestDivestitureConfirmation(
669  RTI::ObjectInstanceHandle theObject,
670  RTI::AttributeHandleSet const & releasedAttributes)
671  throw (RTI::ObjectInstanceNotKnown,
672  RTI::AttributeNotRecognized,
673  RTI::AttributeNotOwned,
674  RTI::AttributeDivestitureWasNotRequested,
675  RTI::FederateInternalError);
676 
677  virtual void attributeOwnershipAcquisitionNotification(
678  RTI::ObjectInstanceHandle theObject,
679  RTI::AttributeHandleSet const & securedAttributes,
680  RTI::VariableLengthData const & aTag)
681  throw (RTI::ObjectInstanceNotKnown,
682  RTI::AttributeNotRecognized,
683  RTI::AttributeAcquisitionWasNotRequested,
684  RTI::AttributeAlreadyOwned,
685  RTI::AttributeNotPublished,
686  RTI::FederateInternalError);
687 
688  virtual void attributeOwnershipUnavailable(
689  RTI::ObjectInstanceHandle theObject,
690  RTI::AttributeHandleSet const & theAttributes)
691  throw (RTI::ObjectInstanceNotKnown,
692  RTI::AttributeNotRecognized,
693  RTI::AttributeAlreadyOwned,
694  RTI::AttributeAcquisitionWasNotRequested,
695  RTI::FederateInternalError);
696 
697  virtual void requestAttributeOwnershipRelease(
698  RTI::ObjectInstanceHandle theObject,
699  RTI::AttributeHandleSet const & candidateAttributes,
700  RTI::VariableLengthData const & aTag)
701  throw (RTI::ObjectInstanceNotKnown,
702  RTI::AttributeNotRecognized,
703  RTI::AttributeNotOwned,
704  RTI::FederateInternalError);
705 
706  virtual void confirmAttributeOwnershipAcquisitionCancellation(
707  RTI::ObjectInstanceHandle theObject,
708  RTI::AttributeHandleSet const & theAttributes)
709  throw (RTI::ObjectInstanceNotKnown,
710  RTI::AttributeNotRecognized,
711  RTI::AttributeAlreadyOwned,
712  RTI::AttributeAcquisitionWasNotCanceled,
713  RTI::FederateInternalError);
714 
715  virtual void informAttributeOwnership(
716  RTI::ObjectInstanceHandle theObject,
717  RTI::AttributeHandle theAttribute,
718  RTI::FederateHandle theOwner)
719  throw (RTI::ObjectInstanceNotKnown,
720  RTI::AttributeNotRecognized,
721  RTI::FederateInternalError);
722 
723  virtual void attributeIsNotOwned(
724  RTI::ObjectInstanceHandle theObject,
725  RTI::AttributeHandle theAttribute)
726  throw (RTI::ObjectInstanceNotKnown,
727  RTI::AttributeNotRecognized,
728  RTI::FederateInternalError);
729 
730  virtual void attributeIsOwnedByRTI(
731  RTI::ObjectInstanceHandle theObject,
732  RTI::AttributeHandle theAttribute)
733  throw (RTI::ObjectInstanceNotKnown,
734  RTI::AttributeNotRecognized,
735  RTI::FederateInternalError);
736 
740 
741  virtual void timeRegulationEnabled(
742  RTI::LogicalTime const & theFederateTime)
743  throw (RTI::InvalidLogicalTime,
744  RTI::NoRequestToEnableTimeRegulationWasPending,
745  RTI::FederateInternalError);
746 
747  virtual void timeConstrainedEnabled(
748  RTI::LogicalTime const & theFederateTime)
749  throw (RTI::InvalidLogicalTime,
750  RTI::NoRequestToEnableTimeConstrainedWasPending,
751  RTI::FederateInternalError);
752 
753  virtual void timeAdvanceGrant( RTI::LogicalTime const & theTime)
754  throw (RTI::InvalidLogicalTime,
755  RTI::JoinedFederateIsNotInTimeAdvancingState,
756  RTI::FederateInternalError);
757 
758  virtual void requestRetraction(RTI::MessageRetractionHandle theHandle)
759  throw (RTI::FederateInternalError);
760 };
761 
762 #endif
763 #endif
764 #endif
765 
766 

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)