VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrlFederateAmbassador1516.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
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 (*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 
177  virtual void addSynchPointRegSucceededCb(const DtString& label,
178  DtSynchPointCb func, void* usr);
179  virtual void addSynchPointRegSucceededCb(DtSynchPointCb func,
180  void* usr);
181 
182  virtual void removeSynchPointRegSucceededCb(const DtString& label,
183  DtSynchPointCb func, void* usr);
184  virtual void removeSynchPointRegSucceededCb(DtSynchPointCb func,
185  void* usr);
186 
187  virtual void addSynchPointRegFailedCb(const DtString& label,
188  DtSynchPointCb func, void* usr);
189  virtual void addSynchPointRegFailedCb(DtSynchPointCb func,
190  void* usr);
191 
192  virtual void removeSynchPointRegFailedCb(const DtString& label,
193  DtSynchPointCb func, void* usr);
194  virtual void removeSynchPointRegFailedCb(DtSynchPointCb func,
195  void* usr);
196 
197  virtual void addFederationSynchedCb(const DtString& label,
198  DtSynchPointCb func, void* usr);
199  virtual void addFederationSynchedCb(DtSynchPointCb func,
200  void* usr);
201 
202  virtual void removeFederationSynchedCb(const DtString& label,
203  DtSynchPointCb func, void* usr);
204  virtual void removeFederationSynchedCb(DtSynchPointCb func,
205  void* usr);
206 
207  virtual void addAnnounceSynchPointCb(const DtString& label,
208  DtAnnounceSynchPointCb func, void* usr);
209  virtual void addAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
210  void* usr);
211 
212  virtual void removeAnnounceSynchPointCb(const DtString& label,
213  DtAnnounceSynchPointCb func, void* usr);
214  virtual void removeAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
215  void* usr);
216 
217  virtual void setRemoveObjectOnAttOutOfScope(bool remove);
218  virtual bool removeObjectOnAttOutOfScope() const;
219 
220 
222 
223  virtual void addFederateSaveCb(const DtString& label,
224  DtFederateSaveCb func, void* usr);
225  virtual void addFederateSaveCb(DtFederateSaveCb func,
226  void* usr);
227 
228  virtual void removeFederateSaveCb(const DtString& label,
229  DtFederateSaveCb func, void* usr);
230  virtual void removeFederateSaveCb(DtFederateSaveCb func,
231  void* usr);
233 
235 
236  virtual void addFederateRestoreCb(const DtString& label,
237  DtFederateRestoreCb func, void* usr);
238  virtual void addFederateRestoreCb(DtFederateRestoreCb func,
239  void* usr);
240 
241  virtual void removeFederateRestoreCb(const DtString& label,
242  DtFederateRestoreCb func, void* usr);
243  virtual void removeFederateRestoreCb(DtFederateRestoreCb func,
244  void* usr);
246 
247  virtual bool waitingForSaveOrRestore() const;
248 
249 protected:
251  struct DtFederateSaveCbInfo
252  {
253  DtFederateSaveCb cbFunction;
254  void* userData;
255  };
256 
257  struct DtFederateRestoreCbInfo
258  {
259  DtFederateRestoreCb cbFunction;
260  void* userData;
261  };
262 
263  struct DtLabelledFederateSaveCbInfo
264  {
265  DtString label;
266  DtFederateSaveCb cbFunction;
267  void* userData;
268  };
269 
270  struct DtLabelledFederateRestoreCbInfo
271  {
272  DtString label;
273  DtFederateRestoreCb cbFunction;
274  void* userData;
275  };
276 
277  struct DtGeneralSynchPointCbInfo
278  {
279  DtSynchPointCb cbFunction;
280  void* userData;
281  };
282 
283  struct DtLabelledSynchPointCbInfo
284  {
285  DtString label;
286  DtSynchPointCb cbFunction;
287  void* userData;
288  };
289 
290  struct DtGeneralAnnounceCbInfo
291  {
292  DtAnnounceSynchPointCb cbFunction;
293  void* userData;
294  };
295 
296  struct DtLabelledAnnounceCbInfo
297  {
298  DtString label;
299  DtAnnounceSynchPointCb cbFunction;
300  void* userData;
301  };
302 
303  static void attributesOutOfScopeCb(void* usr);
304 
305  virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
306 
307  DtExerciseConn* myExConn;
308  DtInteractionManager* myInteractionManager;
309  DtHlaObjectManager* myHlaObjectManager;
310 
311  DtReflectAttributeValuesCbList myRavCbList;
312  DtUpdatesOnCbList myUpdatesOnCbList;
313  DtUpdatesOffCbList myUpdatesOffCbList;
314  DtStartRegCbList myStartRegCbList;
315  DtStopRegCbList myStopRegCbList;
316  DtStartStopInterCbList myStartIntCbList;
317  DtStartStopInterCbList myStopIntCbList;
318  DtFedTimeCbList myTimeAdvanceGrantCbList;
319  DtFedTimeCbList myRegulationEnabledCbList;
320  DtFedTimeCbList myConstrainedEnabledCbList;
321  DtReserveNameCbList myNameReservationSucceededCbList;
322  DtReserveNameCbList myNameReservationFailedCbList;
323 
325  std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
326  std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
327  std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
328  std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
329 
330  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
331  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
332  std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
333  std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
334 
335  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
336  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
337  std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
338  std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
339 
340  bool myRemoveObjectOnAttOutOfScope;
341 
343  virtual void applyFedsSynchedCallbacks(const DtString& label);
344  virtual void applyRegistrationSucceededCallbacks(const DtString& label);
345  virtual void applyRegistrationFailedCallbacks(const DtString& label);
346 
348  virtual bool applyAnnounceCallbacks(const DtString& label, const RTI::VariableLengthData& tag);
349 
350 
351 public:
352 
355  std::wstring const & label)
356  throw (RTI::FederateInternalError);
357 
359  std::wstring const & label,
360  RTI::SynchronizationFailureReason reason)
361  throw (RTI::FederateInternalError);
362 
364  virtual void announceSynchronizationPoint(
365  std::wstring const & label,
366  RTI::VariableLengthData const & aTag)
367  throw (RTI::FederateInternalError);
368 
370  virtual void federationSynchronized(std::wstring const & label)
371  throw (RTI::FederateInternalError);
372 
374  virtual void initiateFederateSave(std::wstring const & label)
375  throw (RTI::UnableToPerformSave,
376  RTI::FederateInternalError);
377 
378  virtual void initiateFederateSave(std::wstring const & label,
379  RTI::LogicalTime const & theTime)
380  throw (RTI::UnableToPerformSave,
381  RTI::InvalidLogicalTime,
382  RTI::FederateInternalError);
383 
385  virtual
386  void
388  throw (RTI::FederateInternalError);
389 
390  virtual void federationNotSaved(RTI::SaveFailureReason theSaveFailureReason)
391  throw (RTI::FederateInternalError);
392 
393 
395  virtual void federationSaveStatusResponse(
396  RTI::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
397  throw (RTI::FederateInternalError);
398 
400  virtual void requestFederateRestoreSucceeded(std::wstring const & label)
401  throw (RTI::FederateInternalError);
402 
403  virtual void requestFederateRestoreFailed(std::wstring const & label)
404  throw (RTI::FederateInternalError);
405 
407  virtual void federationRestoreBegun()
408  throw (RTI::FederateInternalError);
409 
411  virtual void initiateFederateRestore(std::wstring const & label,
412  RTI::FederateHandle handle)
413  throw (RTI::SpecifiedSaveLabelDoesNotExist,
414  RTI::CouldNotInitiateRestore,
415  RTI::FederateInternalError);
416 
418  virtual void federationRestored()
419  throw (RTI::FederateInternalError);
420 
421  virtual void federationNotRestored(
422  RTI::RestoreFailureReason theRestoreFailureReason)
423  throw (RTI::FederateInternalError);
424 
426  virtual void federationRestoreStatusResponse(
427  RTI::FederateHandleRestoreStatusPairVector const & theFederateStatusVector)
428  throw (RTI::FederateInternalError);
429 
430 
434 
436  virtual void startRegistrationForObjectClass(
437  RTI::ObjectClassHandle theClass)
438  throw (RTI::ObjectClassNotPublished,
439  RTI::FederateInternalError);
440 
442  virtual void stopRegistrationForObjectClass(
443  RTI::ObjectClassHandle theClass)
444  throw (RTI::ObjectClassNotPublished,
445  RTI::FederateInternalError);
446 
448  virtual void turnInteractionsOn(
449  RTI::InteractionClassHandle theHandle)
450  throw (RTI::InteractionClassNotPublished,
451  RTI::FederateInternalError);
452 
454  virtual void turnInteractionsOff(RTI::InteractionClassHandle theHandle)
455  throw (RTI::InteractionClassNotPublished,
456  RTI::FederateInternalError);
457 
461 
463  virtual void objectInstanceNameReservationSucceeded(
464  std::wstring const & theObjectInstanceName)
465  throw (RTI::UnknownName,
466  RTI::FederateInternalError);
467 
468  virtual void objectInstanceNameReservationFailed(
469  std::wstring const & theObjectInstanceName)
470  throw (RTI::UnknownName,
471  RTI::FederateInternalError);
472 
473 
474  virtual void discoverObjectInstance(
475  RTI::ObjectInstanceHandle theObject,
476  RTI::ObjectClassHandle theObjectClass,
477  std::wstring const & theObjectInstanceName)
478  throw (RTI::CouldNotDiscover,
479  RTI::ObjectClassNotKnown,
480  RTI::FederateInternalError);
481 
482 
483  virtual void reflectAttributeValues(
484  RTI::ObjectInstanceHandle theObject,
485  RTI::AttributeHandleValueMap const & theAttributeValues,
486  RTI::VariableLengthData const & aTag,
487  RTI::OrderType sentOrder,
488  RTI::TransportationType theType)
489  throw (RTI::ObjectInstanceNotKnown,
490  RTI::AttributeNotRecognized,
491  RTI::AttributeNotSubscribed,
492  RTI::FederateInternalError);
493 
494  virtual void reflectAttributeValues(
495  RTI::ObjectInstanceHandle theObject,
496  RTI::AttributeHandleValueMap const & theAttributeValues,
497  RTI::VariableLengthData const & aTag,
498  RTI::OrderType sentOrder,
499  RTI::TransportationType theType,
500  RTI::RegionHandleSet const & theSentRegionHandleSet)
501  throw (RTI::ObjectInstanceNotKnown,
502  RTI::AttributeNotRecognized,
503  RTI::AttributeNotSubscribed,
504  RTI::FederateInternalError);
505 
506  virtual void reflectAttributeValues(
507  RTI::ObjectInstanceHandle theObject,
508  RTI::AttributeHandleValueMap const & theAttributeValues,
509  RTI::VariableLengthData const & aTag,
510  RTI::OrderType sentOrder,
511  RTI::TransportationType theType,
512  RTI::LogicalTime const & theTime,
513  RTI::OrderType receivedOrder)
514  throw (RTI::ObjectInstanceNotKnown,
515  RTI::AttributeNotRecognized,
516  RTI::AttributeNotSubscribed,
517  RTI::FederateInternalError);
518 
519  virtual void reflectAttributeValues(
520  RTI::ObjectInstanceHandle theObject,
521  RTI::AttributeHandleValueMap const & theAttributeValues,
522  RTI::VariableLengthData const & aTag,
523  RTI::OrderType sentOrder,
524  RTI::TransportationType theType,
525  RTI::LogicalTime const & theTime,
526  RTI::OrderType receivedOrder,
527  RTI::RegionHandleSet const & theSentRegionHandleSet)
528  throw (RTI::ObjectInstanceNotKnown,
529  RTI::AttributeNotRecognized,
530  RTI::AttributeNotSubscribed,
531  RTI::FederateInternalError);
532 
533  virtual void reflectAttributeValues(
534  RTI::ObjectInstanceHandle theObject,
535  RTI::AttributeHandleValueMap const & theAttributeValues,
536  RTI::VariableLengthData const & aTag,
537  RTI::OrderType sentOrder,
538  RTI::TransportationType theType,
539  RTI::LogicalTime const & theTime,
540  RTI::OrderType receivedOrder,
541  RTI::MessageRetractionHandle theHandle)
542  throw (RTI::ObjectInstanceNotKnown,
543  RTI::AttributeNotRecognized,
544  RTI::AttributeNotSubscribed,
545  RTI::InvalidLogicalTime,
546  RTI::FederateInternalError);
547 
548  virtual void reflectAttributeValues(
549  RTI::ObjectInstanceHandle theObject,
550  RTI::AttributeHandleValueMap const & theAttributeValues,
551  RTI::VariableLengthData const & aTag,
552  RTI::OrderType sentOrder,
553  RTI::TransportationType theType,
554  RTI::LogicalTime const & theTime,
555  RTI::OrderType receivedOrder,
556  RTI::MessageRetractionHandle theHandle,
557  RTI::RegionHandleSet const & theSentRegionHandleSet)
558  throw (RTI::ObjectInstanceNotKnown,
559  RTI::AttributeNotRecognized,
560  RTI::AttributeNotSubscribed,
561  RTI::InvalidLogicalTime,
562  RTI::FederateInternalError);
563 
564 
566  virtual void receiveInteraction (
567  RTI::InteractionClassHandle theInteraction,
568  RTI::ParameterHandleValueMap const & theParameterValues,
569  RTI::VariableLengthData const & aTag,
570  RTI::OrderType sentOrder,
571  RTI::TransportationType theType)
572  throw (RTI::InteractionClassNotRecognized,
573  RTI::InteractionParameterNotRecognized,
574  RTI::InteractionClassNotSubscribed,
575  RTI::FederateInternalError);
576 
577  virtual void receiveInteraction(
578  RTI::InteractionClassHandle theInteraction,
579  RTI::ParameterHandleValueMap const & theParameterValues,
580  RTI::VariableLengthData const & aTag,
581  RTI::OrderType sentOrder,
582  RTI::TransportationType theType,
583  RTI::RegionHandleSet const & theSentRegionHandleSet)
584  throw (RTI::InteractionClassNotRecognized,
585  RTI::InteractionParameterNotRecognized,
586  RTI::InteractionClassNotSubscribed,
587  RTI::FederateInternalError);
588 
589  virtual void receiveInteraction(
590  RTI::InteractionClassHandle theInteraction,
591  RTI::ParameterHandleValueMap const & theParameterValues,
592  RTI::VariableLengthData const & aTag,
593  RTI::OrderType sentOrder,
594  RTI::TransportationType theType,
595  RTI::LogicalTime const & theTime,
596  RTI::OrderType receivedOrder)
597  throw (RTI::InteractionClassNotRecognized,
598  RTI::InteractionParameterNotRecognized,
599  RTI::InteractionClassNotSubscribed,
600  RTI::FederateInternalError);
601 
602  virtual void receiveInteraction(
603  RTI::InteractionClassHandle theInteraction,
604  RTI::ParameterHandleValueMap const & theParameterValues,
605  RTI::VariableLengthData const & aTag,
606  RTI::OrderType sentOrder,
607  RTI::TransportationType theType,
608  RTI::LogicalTime const & theTime,
609  RTI::OrderType receivedOrder,
610  RTI::RegionHandleSet const & theSentRegionHandleSet)
611  throw (RTI::InteractionClassNotRecognized,
612  RTI::InteractionParameterNotRecognized,
613  RTI::InteractionClassNotSubscribed,
614  RTI::FederateInternalError);
615 
616  virtual void receiveInteraction(
617  RTI::InteractionClassHandle theInteraction,
618  RTI::ParameterHandleValueMap const & theParameterValues,
619  RTI::VariableLengthData const & aTag,
620  RTI::OrderType sentOrder,
621  RTI::TransportationType theType,
622  RTI::LogicalTime const & theTime,
623  RTI::OrderType receivedOrder,
624  RTI::MessageRetractionHandle theHandle)
625  throw (RTI::InteractionClassNotRecognized,
626  RTI::InteractionParameterNotRecognized,
627  RTI::InteractionClassNotSubscribed,
628  RTI::InvalidLogicalTime,
629  RTI::FederateInternalError);
630 
631  virtual void receiveInteraction (
632  RTI::InteractionClassHandle theInteraction,
633  RTI::ParameterHandleValueMap const & theParameterValues,
634  RTI::VariableLengthData const & aTag,
635  RTI::OrderType sentOrder,
636  RTI::TransportationType theType,
637  RTI::LogicalTime const & theTime,
638  RTI::OrderType receivedOrder,
639  RTI::MessageRetractionHandle theHandle,
640  RTI::RegionHandleSet const & theSentRegionHandleSet)
641  throw (RTI::InteractionClassNotRecognized,
642  RTI::InteractionParameterNotRecognized,
643  RTI::InteractionClassNotSubscribed,
644  RTI::InvalidLogicalTime,
645  RTI::FederateInternalError);
646 
648  virtual void removeObjectInstance(
649  RTI::ObjectInstanceHandle theObject,
650  RTI::VariableLengthData const & aTag,
651  RTI::OrderType sentOrder)
652  throw (RTI::ObjectInstanceNotKnown,
653  RTI::FederateInternalError);
654 
655  virtual void removeObjectInstance(
656  RTI::ObjectInstanceHandle theObject,
657  RTI::VariableLengthData const & aTag,
658  RTI::OrderType sentOrder,
659  RTI::LogicalTime const & theTime,
660  RTI::OrderType receivedOrder)
661  throw (RTI::ObjectInstanceNotKnown,
662  RTI::FederateInternalError);
663 
664  virtual void removeObjectInstance(
665  RTI::ObjectInstanceHandle theObject,
666  RTI::VariableLengthData const & aTag,
667  RTI::OrderType sentOrder,
668  RTI::LogicalTime const & theTime,
669  RTI::OrderType receivedOrder,
670  RTI::MessageRetractionHandle theHandle)
671  throw (RTI::ObjectInstanceNotKnown,
672  RTI::InvalidLogicalTime,
673  RTI::FederateInternalError);
674 
676  virtual void attributesInScope(
677  RTI::ObjectInstanceHandle theObject,
678  RTI::AttributeHandleSet const & theAttributes)
679  throw (RTI::ObjectInstanceNotKnown,
680  RTI::AttributeNotRecognized,
681  RTI::AttributeNotSubscribed,
682  RTI::FederateInternalError);
683 
685  virtual void attributesOutOfScope(
686  RTI::ObjectInstanceHandle theObject,
687  RTI::AttributeHandleSet const &theAttributes)
688  throw (RTI::ObjectInstanceNotKnown,
689  RTI::AttributeNotRecognized,
690  RTI::AttributeNotSubscribed,
691  RTI::FederateInternalError);
692 
694  virtual void provideAttributeValueUpdate(
695  RTI::ObjectInstanceHandle theObject,
696  RTI::AttributeHandleSet const & theAttributes,
697  RTI::VariableLengthData const & aTag)
698  throw (RTI::ObjectInstanceNotKnown,
699  RTI::AttributeNotRecognized,
700  RTI::AttributeNotOwned,
701  RTI::FederateInternalError);
702 
704  virtual void turnUpdatesOnForObjectInstance(
705  RTI::ObjectInstanceHandle theObject,
706  RTI::AttributeHandleSet const & theAttributes)
707  throw (RTI::ObjectInstanceNotKnown,
708  RTI::AttributeNotRecognized,
709  RTI::AttributeNotOwned,
710  RTI::FederateInternalError);
711 
713  virtual void turnUpdatesOffForObjectInstance(
714  RTI::ObjectInstanceHandle theObject,
715  RTI::AttributeHandleSet const & theAttributes)
716  throw (RTI::ObjectInstanceNotKnown,
717  RTI::AttributeNotRecognized,
718  RTI::AttributeNotOwned,
719  RTI::FederateInternalError);
720 
724 
725  virtual void requestAttributeOwnershipAssumption(
726  RTI::ObjectInstanceHandle theObject,
727  RTI::AttributeHandleSet const & offeredAttributes,
728  RTI::VariableLengthData const & aTag)
729  throw (RTI::ObjectInstanceNotKnown,
730  RTI::AttributeNotRecognized,
731  RTI::AttributeAlreadyOwned,
732  RTI::AttributeNotPublished,
733  RTI::FederateInternalError);
734 
735  virtual void requestDivestitureConfirmation(
736  RTI::ObjectInstanceHandle theObject,
737  RTI::AttributeHandleSet const & releasedAttributes)
738  throw (RTI::ObjectInstanceNotKnown,
739  RTI::AttributeNotRecognized,
740  RTI::AttributeNotOwned,
741  RTI::AttributeDivestitureWasNotRequested,
742  RTI::FederateInternalError);
743 
744  virtual void attributeOwnershipAcquisitionNotification(
745  RTI::ObjectInstanceHandle theObject,
746  RTI::AttributeHandleSet const & securedAttributes,
747  RTI::VariableLengthData const & aTag)
748  throw (RTI::ObjectInstanceNotKnown,
749  RTI::AttributeNotRecognized,
750  RTI::AttributeAcquisitionWasNotRequested,
751  RTI::AttributeAlreadyOwned,
752  RTI::AttributeNotPublished,
753  RTI::FederateInternalError);
754 
755  virtual void attributeOwnershipUnavailable(
756  RTI::ObjectInstanceHandle theObject,
757  RTI::AttributeHandleSet const & theAttributes)
758  throw (RTI::ObjectInstanceNotKnown,
759  RTI::AttributeNotRecognized,
760  RTI::AttributeAlreadyOwned,
761  RTI::AttributeAcquisitionWasNotRequested,
762  RTI::FederateInternalError);
763 
764  virtual void requestAttributeOwnershipRelease(
765  RTI::ObjectInstanceHandle theObject,
766  RTI::AttributeHandleSet const & candidateAttributes,
767  RTI::VariableLengthData const & aTag)
768  throw (RTI::ObjectInstanceNotKnown,
769  RTI::AttributeNotRecognized,
770  RTI::AttributeNotOwned,
771  RTI::FederateInternalError);
772 
773  virtual void confirmAttributeOwnershipAcquisitionCancellation(
774  RTI::ObjectInstanceHandle theObject,
775  RTI::AttributeHandleSet const & theAttributes)
776  throw (RTI::ObjectInstanceNotKnown,
777  RTI::AttributeNotRecognized,
778  RTI::AttributeAlreadyOwned,
779  RTI::AttributeAcquisitionWasNotCanceled,
780  RTI::FederateInternalError);
781 
782  virtual void informAttributeOwnership(
783  RTI::ObjectInstanceHandle theObject,
784  RTI::AttributeHandle theAttribute,
785  RTI::FederateHandle theOwner)
786  throw (RTI::ObjectInstanceNotKnown,
787  RTI::AttributeNotRecognized,
788  RTI::FederateInternalError);
789 
790  virtual void attributeIsNotOwned(
791  RTI::ObjectInstanceHandle theObject,
792  RTI::AttributeHandle theAttribute)
793  throw (RTI::ObjectInstanceNotKnown,
794  RTI::AttributeNotRecognized,
795  RTI::FederateInternalError);
796 
797  virtual void attributeIsOwnedByRTI(
798  RTI::ObjectInstanceHandle theObject,
799  RTI::AttributeHandle theAttribute)
800  throw (RTI::ObjectInstanceNotKnown,
801  RTI::AttributeNotRecognized,
802  RTI::FederateInternalError);
803 
807 
808  virtual void timeRegulationEnabled(
809  RTI::LogicalTime const & theFederateTime)
810  throw (RTI::InvalidLogicalTime,
811  RTI::NoRequestToEnableTimeRegulationWasPending,
812  RTI::FederateInternalError);
813 
814  virtual void timeConstrainedEnabled(
815  RTI::LogicalTime const & theFederateTime)
816  throw (RTI::InvalidLogicalTime,
817  RTI::NoRequestToEnableTimeConstrainedWasPending,
818  RTI::FederateInternalError);
819 
820  virtual void timeAdvanceGrant( RTI::LogicalTime const & theTime)
821  throw (RTI::InvalidLogicalTime,
822  RTI::JoinedFederateIsNotInTimeAdvancingState,
823  RTI::FederateInternalError);
824 
825  virtual void requestRetraction(RTI::MessageRetractionHandle theHandle)
826  throw (RTI::FederateInternalError);
827 
828 protected:
829 
830  bool myWaitingForSave;
831  bool myWaitingForRestore;
832 };
833 
834 #endif
835 #endif
836 #endif
837 
838 
void(* DtFederateSaveCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:25
Instances of DtRegControlCbList are used to provide a list of callbacks (DtRegControlCbInfo) which ar...
Definition: regControlCbList.h:32
virtual void federationSaved()
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
virtual void synchronizationPointRegistrationSucceeded(const char *label)
! Federation Management Services //!
virtual void announceSynchronizationPoint(const char *label, const char *tag)
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
void(* DtAnnounceSynchPointCb)(const char *label, const char *tag, void *usr)
Definition: vrlFederateAmbassador13.h:37
Definition: vrlFederateAmbassador13.h:45
DtRegControlCb DtStopRegCb
Definition: regControlCbList.h:25
void(* DtDiscoverObjectCb)(DtHlaObject *obj, void *usr)
Definition: discoverObjectCbInfo.h:20
DtUpdateControlCb DtUpdatesOnCb
Definition: updateControlCbInfo.h:29
void(* DtStartStopInterCb)(RTI::InteractionClassHandle intClass, void *usr)
Definition: startStopInterCbList.h:21
void(* DtReflectAttributeValuesCb)(const DtStateMsg &stateMsg, void *usr)
Definition: reflectAttributeValuesCbList.h:24
void(* DtFederateRestoreCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:29
DtRegControlCb DtStartRegCb
Definition: regControlCbList.h:24
class DtStartStopInterCbList:
Definition: startStopInterCbList.h:32
void(* DtReceiveInteractionCb)(DtInteraction *inter, void *usr)
Definition: receiveInteractionCbInfo.h:23
#define LogicalTime
Definition: hlaLogicalTime.h:18
class DtInteractionManager:
Definition: interactionManager.h:25
Instances of DtUpdateControlCbList are used to provide a list of callbacks (DtUpdateControlCbInfo) wh...
Definition: updateControlCbList.h:33
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
class DtFedTimeCbList:
Definition: fedTimeCbList.h:35
void(* DtFedTimeCb)(const RTI::FedTime &theFedTime, void *theUserData)
Definition: fedTimeCbList.h:21
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
void(* DtSynchPointCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:33
Definition: nullFederateAmbassador13.h:25
virtual void federationSynchronized(const char *label)
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Instances of DtReflectAttributeValuesCbList are used to provide a list of callbacks (DtReflectAttribu...
Definition: reflectAttributeValuesCbList.h:31
DtUpdateControlCb DtUpdatesOffCb
Definition: updateControlCbInfo.h:30
This file is used as a convenience to group RTI related callbacks together.
virtual void synchronizationPointRegistrationFailed(const char *label)
virtual void initiateFederateSave(const char *label)
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)