VR-Link API Documentation for DIS
 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-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
12 #if DtHLA_1516 && !DtHLA_1516_EVOLVED
13 
14 
15 #include "callbacks.h"
16 
17 #include "rtiNamespace.h"
19 #include <list>
20 
21 typedef void (*DtFederateSaveCb)(
22  const char* label,
23  void* usr);
24 
25 typedef void (*DtFederateRestoreCb)(
26  const char* label,
27  void* usr);
28 
29 typedef void (*DtSynchPointCb)(
30  const char* label,
31  void* usr);
32 
33 typedef void (*DtAnnounceSynchPointCb)(
34  const char* label,
35  const RTI::VariableLengthData& tag,
36  void* usr);
37 
38 class DT_DLL_VL DtInteractionManager;
39 class DT_DLL_VL DtHlaObjectManager;
40 
44 class DT_DLL_VL DtVrlFederateAmbassador : public DtNullFederateAmbassador
45 {
46  struct DtScopeChangeCallbackData
47  {
48  DtVrlFederateAmbassador* fedAmb;
49  RTI::ObjectInstanceHandle handle;
50  };
51 
52 public:
54  DtVrlFederateAmbassador()
55  throw (RTI::FederateInternalError);
57  virtual ~DtVrlFederateAmbassador()
58  throw( );
59 
60 protected:
62  DtVrlFederateAmbassador( const DtVrlFederateAmbassador& src );
63 
65  DtVrlFederateAmbassador& operator=(const DtVrlFederateAmbassador& src );
66 
67 public:
70  virtual void init( DtExerciseConn* exConn,
71  DtHlaObjectManager* hlaObjMgr,
72  DtInteractionManager* interMgr );
73 
74 public:
76  static DtVrlFederateAmbassador* create();
77 
78 public:
81  virtual void addReflectAttributeValuesCb(
82  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
83  virtual void removeReflectAttributeValuesCb(
84  RTI::ObjectInstanceHandle id, DtReflectAttributeValuesCb cb, void* usr );
85 
88  virtual void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
89  DtDiscoverObjectCb cb, void* usr );
90  virtual void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
91  DtDiscoverObjectCb cb, void* usr );
92 
95  virtual void addRemoveObjectCb( RTI::ObjectInstanceHandle id,
96  DtRemoveObjectCb cb, void* usr );
97  virtual void removeRemoveObjectCb( RTI::ObjectInstanceHandle id,
98  DtRemoveObjectCb cb, void* usr );
99 
102  virtual void addStartRegCb( RTI::ObjectClassHandle hand,
103  DtStartRegCb cb, void* usr );
104  virtual void removeStartRegCb( RTI::ObjectClassHandle hand,
105  DtStartRegCb cb, void* usr );
106 
109  virtual void addStopRegCb( RTI::ObjectClassHandle hand,
110  DtStopRegCb cb, void* usr );
111  virtual void removeStopRegCb( RTI::ObjectClassHandle hand,
112  DtStopRegCb cb, void* usr );
113 
116  virtual void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
117  DtUpdatesOnCb cb, void* usr );
118  virtual void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
119  DtUpdatesOnCb cb, void* usr );
120 
123  virtual void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
124  DtUpdatesOffCb cb, void* usr );
125  virtual void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
126  DtUpdatesOffCb cb, void* usr );
127 
130  virtual void addStartInteractionsCb( RTI::InteractionClassHandle hand,
131  DtStartStopInterCb cb, void* usr );
132  virtual void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
133  DtStartStopInterCb cb, void* usr );
134 
137  virtual void addStopInteractionsCb( RTI::InteractionClassHandle hand,
138  DtStartStopInterCb cb, void* usr );
139  virtual void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
140  DtStartStopInterCb cb, void* usr );
141 
144  virtual void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
145  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
146  virtual void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
147  DtReceiveInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP() );
148 
151  virtual void addTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
152  virtual void removeTimeAdvanceGrantCb( DtFedTimeCb cb, void* usr );
153 
156  virtual void addTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
157  virtual void removeTimeRegulationEnabledCb( DtFedTimeCb cb, void* usr );
158 
161  virtual void addTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
162  virtual void removeTimeConstrainedEnabledCb( DtFedTimeCb cb, void* usr );
163 
166  virtual void addNameReservationSucceeded( DtReserveNameCb cb, void* usr );
167  virtual void removeNameReservationSucceeded( DtReserveNameCb cb, void* usr );
168 
171  virtual void addNameReservationFailed( DtReserveNameCb cb, void* usr );
172  virtual void removeNameReservationFailed( DtReserveNameCb cb, void* usr );
173 
175  virtual void addSynchPointRegSucceededCb(const DtString& label,
176  DtSynchPointCb func, void* usr);
177  virtual void addSynchPointRegSucceededCb(DtSynchPointCb func,
178  void* usr);
179 
180  virtual void removeSynchPointRegSucceededCb(const DtString& label,
181  DtSynchPointCb func, void* usr);
182  virtual void removeSynchPointRegSucceededCb(DtSynchPointCb func,
183  void* usr);
184 
185  virtual void addSynchPointRegFailedCb(const DtString& label,
186  DtSynchPointCb func, void* usr);
187  virtual void addSynchPointRegFailedCb(DtSynchPointCb func,
188  void* usr);
189 
190  virtual void removeSynchPointRegFailedCb(const DtString& label,
191  DtSynchPointCb func, void* usr);
192  virtual void removeSynchPointRegFailedCb(DtSynchPointCb func,
193  void* usr);
194 
195  virtual void addFederationSynchedCb(const DtString& label,
196  DtSynchPointCb func, void* usr);
197  virtual void addFederationSynchedCb(DtSynchPointCb func,
198  void* usr);
199 
200  virtual void removeFederationSynchedCb(const DtString& label,
201  DtSynchPointCb func, void* usr);
202  virtual void removeFederationSynchedCb(DtSynchPointCb func,
203  void* usr);
204 
205  virtual void addAnnounceSynchPointCb(const DtString& label,
206  DtAnnounceSynchPointCb func, void* usr);
207  virtual void addAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
208  void* usr);
209 
210  virtual void removeAnnounceSynchPointCb(const DtString& label,
211  DtAnnounceSynchPointCb func, void* usr);
212  virtual void removeAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
213  void* usr);
214 
215  virtual void setRemoveObjectOnAttOutOfScope(bool remove);
216  virtual bool removeObjectOnAttOutOfScope() const;
217 
218 
220 
221  virtual void addFederateSaveCb(const DtString& label,
222  DtFederateSaveCb func, void* usr);
223  virtual void addFederateSaveCb(DtFederateSaveCb func,
224  void* usr);
225 
226  virtual void removeFederateSaveCb(const DtString& label,
227  DtFederateSaveCb func, void* usr);
228  virtual void removeFederateSaveCb(DtFederateSaveCb func,
229  void* usr);
231 
233 
234  virtual void addFederateRestoreCb(const DtString& label,
235  DtFederateRestoreCb func, void* usr);
236  virtual void addFederateRestoreCb(DtFederateRestoreCb func,
237  void* usr);
238 
239  virtual void removeFederateRestoreCb(const DtString& label,
240  DtFederateRestoreCb func, void* usr);
241  virtual void removeFederateRestoreCb(DtFederateRestoreCb func,
242  void* usr);
244 
245  virtual bool waitingForSaveOrRestore() const;
246 
247 protected:
249  struct DtFederateSaveCbInfo
250  {
251  DtFederateSaveCb cbFunction;
252  void* userData;
253  };
254 
255  struct DtFederateRestoreCbInfo
256  {
257  DtFederateRestoreCb cbFunction;
258  void* userData;
259  };
260 
261  struct DtLabelledFederateSaveCbInfo
262  {
263  DtString label;
264  DtFederateSaveCb cbFunction;
265  void* userData;
266  };
267 
268  struct DtLabelledFederateRestoreCbInfo
269  {
270  DtString label;
271  DtFederateRestoreCb cbFunction;
272  void* userData;
273  };
274 
275  struct DtGeneralSynchPointCbInfo
276  {
277  DtSynchPointCb cbFunction;
278  void* userData;
279  };
280 
281  struct DtLabelledSynchPointCbInfo
282  {
283  DtString label;
284  DtSynchPointCb cbFunction;
285  void* userData;
286  };
287 
288  struct DtGeneralAnnounceCbInfo
289  {
290  DtAnnounceSynchPointCb cbFunction;
291  void* userData;
292  };
293 
294  struct DtLabelledAnnounceCbInfo
295  {
296  DtString label;
297  DtAnnounceSynchPointCb cbFunction;
298  void* userData;
299  };
300 
301  static void attributesOutOfScopeCb(void* usr);
302 
303  virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
304 
305  DtExerciseConn* myExConn;
306  DtInteractionManager* myInteractionManager;
307  DtHlaObjectManager* myHlaObjectManager;
308 
309  DtReflectAttributeValuesCbList myRavCbList;
310  DtUpdatesOnCbList myUpdatesOnCbList;
311  DtUpdatesOffCbList myUpdatesOffCbList;
312  DtStartRegCbList myStartRegCbList;
313  DtStopRegCbList myStopRegCbList;
314  DtStartStopInterCbList myStartIntCbList;
315  DtStartStopInterCbList myStopIntCbList;
316  DtFedTimeCbList myTimeAdvanceGrantCbList;
317  DtFedTimeCbList myRegulationEnabledCbList;
318  DtFedTimeCbList myConstrainedEnabledCbList;
319  DtReserveNameCbList myNameReservationSucceededCbList;
320  DtReserveNameCbList myNameReservationFailedCbList;
321 
323  std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
324  std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
325  std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
326  std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
327 
328  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
329  std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
330  std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
331  std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
332 
333  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
334  std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
335  std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
336  std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
337 
338  bool myRemoveObjectOnAttOutOfScope;
339 
341  virtual void applyFedsSynchedCallbacks(const DtString& label);
342  virtual void applyRegistrationSucceededCallbacks(const DtString& label);
343  virtual void applyRegistrationFailedCallbacks(const DtString& label);
344 
346  virtual bool applyAnnounceCallbacks(const DtString& label, const RTI::VariableLengthData& tag);
347 
348 
349 public:
350 
352  virtual void synchronizationPointRegistrationSucceeded(
353  std::wstring const & label)
354  throw (RTI::FederateInternalError);
355 
356  virtual void synchronizationPointRegistrationFailed(
357  std::wstring const & label,
358  RTI::SynchronizationFailureReason reason)
359  throw (RTI::FederateInternalError);
360 
362  virtual void announceSynchronizationPoint(
363  std::wstring const & label,
364  RTI::VariableLengthData const & aTag)
365  throw (RTI::FederateInternalError);
366 
368  virtual void federationSynchronized(std::wstring const & label)
369  throw (RTI::FederateInternalError);
370 
372  virtual void initiateFederateSave(std::wstring const & label)
373  throw (RTI::UnableToPerformSave,
374  RTI::FederateInternalError);
375 
376  virtual void initiateFederateSave(std::wstring const & label,
377  RTI::LogicalTime const & theTime)
378  throw (RTI::UnableToPerformSave,
379  RTI::InvalidLogicalTime,
380  RTI::FederateInternalError);
381 
383  virtual
384  void
385  federationSaved()
386  throw (RTI::FederateInternalError);
387 
388  virtual void federationNotSaved(RTI::SaveFailureReason theSaveFailureReason)
389  throw (RTI::FederateInternalError);
390 
391 
393  virtual void federationSaveStatusResponse(
394  RTI::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
395  throw (RTI::FederateInternalError);
396 
398  virtual void requestFederateRestoreSucceeded(std::wstring const & label)
399  throw (RTI::FederateInternalError);
400 
401  virtual void requestFederateRestoreFailed(std::wstring const & label)
402  throw (RTI::FederateInternalError);
403 
405  virtual void federationRestoreBegun()
406  throw (RTI::FederateInternalError);
407 
409  virtual void initiateFederateRestore(std::wstring const & label,
410  RTI::FederateHandle handle)
411  throw (RTI::SpecifiedSaveLabelDoesNotExist,
412  RTI::CouldNotInitiateRestore,
413  RTI::FederateInternalError);
414 
416  virtual void federationRestored()
417  throw (RTI::FederateInternalError);
418 
419  virtual void federationNotRestored(
420  RTI::RestoreFailureReason theRestoreFailureReason)
421  throw (RTI::FederateInternalError);
422 
424  virtual void federationRestoreStatusResponse(
425  RTI::FederateHandleRestoreStatusPairVector const & theFederateStatusVector)
426  throw (RTI::FederateInternalError);
427 
428 
432 
434  virtual void startRegistrationForObjectClass(
435  RTI::ObjectClassHandle theClass)
436  throw (RTI::ObjectClassNotPublished,
437  RTI::FederateInternalError);
438 
440  virtual void stopRegistrationForObjectClass(
441  RTI::ObjectClassHandle theClass)
442  throw (RTI::ObjectClassNotPublished,
443  RTI::FederateInternalError);
444 
446  virtual void turnInteractionsOn(
447  RTI::InteractionClassHandle theHandle)
448  throw (RTI::InteractionClassNotPublished,
449  RTI::FederateInternalError);
450 
452  virtual void turnInteractionsOff(RTI::InteractionClassHandle theHandle)
453  throw (RTI::InteractionClassNotPublished,
454  RTI::FederateInternalError);
455 
459 
461  virtual void objectInstanceNameReservationSucceeded(
462  std::wstring const & theObjectInstanceName)
463  throw (RTI::UnknownName,
464  RTI::FederateInternalError);
465 
466  virtual void objectInstanceNameReservationFailed(
467  std::wstring const & theObjectInstanceName)
468  throw (RTI::UnknownName,
469  RTI::FederateInternalError);
470 
471 
472  virtual void discoverObjectInstance(
473  RTI::ObjectInstanceHandle theObject,
474  RTI::ObjectClassHandle theObjectClass,
475  std::wstring const & theObjectInstanceName)
476  throw (RTI::CouldNotDiscover,
477  RTI::ObjectClassNotKnown,
478  RTI::FederateInternalError);
479 
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  throw (RTI::ObjectInstanceNotKnown,
488  RTI::AttributeNotRecognized,
489  RTI::AttributeNotSubscribed,
490  RTI::FederateInternalError);
491 
492  virtual void reflectAttributeValues(
493  RTI::ObjectInstanceHandle theObject,
494  RTI::AttributeHandleValueMap const & theAttributeValues,
495  RTI::VariableLengthData const & aTag,
496  RTI::OrderType sentOrder,
497  RTI::TransportationType theType,
498  RTI::RegionHandleSet const & theSentRegionHandleSet)
499  throw (RTI::ObjectInstanceNotKnown,
500  RTI::AttributeNotRecognized,
501  RTI::AttributeNotSubscribed,
502  RTI::FederateInternalError);
503 
504  virtual void reflectAttributeValues(
505  RTI::ObjectInstanceHandle theObject,
506  RTI::AttributeHandleValueMap const & theAttributeValues,
507  RTI::VariableLengthData const & aTag,
508  RTI::OrderType sentOrder,
509  RTI::TransportationType theType,
510  RTI::LogicalTime const & theTime,
511  RTI::OrderType receivedOrder)
512  throw (RTI::ObjectInstanceNotKnown,
513  RTI::AttributeNotRecognized,
514  RTI::AttributeNotSubscribed,
515  RTI::FederateInternalError);
516 
517  virtual void reflectAttributeValues(
518  RTI::ObjectInstanceHandle theObject,
519  RTI::AttributeHandleValueMap const & theAttributeValues,
520  RTI::VariableLengthData const & aTag,
521  RTI::OrderType sentOrder,
522  RTI::TransportationType theType,
523  RTI::LogicalTime const & theTime,
524  RTI::OrderType receivedOrder,
525  RTI::RegionHandleSet const & theSentRegionHandleSet)
526  throw (RTI::ObjectInstanceNotKnown,
527  RTI::AttributeNotRecognized,
528  RTI::AttributeNotSubscribed,
529  RTI::FederateInternalError);
530 
531  virtual void reflectAttributeValues(
532  RTI::ObjectInstanceHandle theObject,
533  RTI::AttributeHandleValueMap const & theAttributeValues,
534  RTI::VariableLengthData const & aTag,
535  RTI::OrderType sentOrder,
536  RTI::TransportationType theType,
537  RTI::LogicalTime const & theTime,
538  RTI::OrderType receivedOrder,
539  RTI::MessageRetractionHandle theHandle)
540  throw (RTI::ObjectInstanceNotKnown,
541  RTI::AttributeNotRecognized,
542  RTI::AttributeNotSubscribed,
543  RTI::InvalidLogicalTime,
544  RTI::FederateInternalError);
545 
546  virtual void reflectAttributeValues(
547  RTI::ObjectInstanceHandle theObject,
548  RTI::AttributeHandleValueMap const & theAttributeValues,
549  RTI::VariableLengthData const & aTag,
550  RTI::OrderType sentOrder,
551  RTI::TransportationType theType,
552  RTI::LogicalTime const & theTime,
553  RTI::OrderType receivedOrder,
554  RTI::MessageRetractionHandle theHandle,
555  RTI::RegionHandleSet const & theSentRegionHandleSet)
556  throw (RTI::ObjectInstanceNotKnown,
557  RTI::AttributeNotRecognized,
558  RTI::AttributeNotSubscribed,
559  RTI::InvalidLogicalTime,
560  RTI::FederateInternalError);
561 
562 
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  throw (RTI::InteractionClassNotRecognized,
571  RTI::InteractionParameterNotRecognized,
572  RTI::InteractionClassNotSubscribed,
573  RTI::FederateInternalError);
574 
575  virtual void receiveInteraction(
576  RTI::InteractionClassHandle theInteraction,
577  RTI::ParameterHandleValueMap const & theParameterValues,
578  RTI::VariableLengthData const & aTag,
579  RTI::OrderType sentOrder,
580  RTI::TransportationType theType,
581  RTI::RegionHandleSet const & theSentRegionHandleSet)
582  throw (RTI::InteractionClassNotRecognized,
583  RTI::InteractionParameterNotRecognized,
584  RTI::InteractionClassNotSubscribed,
585  RTI::FederateInternalError);
586 
587  virtual void receiveInteraction(
588  RTI::InteractionClassHandle theInteraction,
589  RTI::ParameterHandleValueMap const & theParameterValues,
590  RTI::VariableLengthData const & aTag,
591  RTI::OrderType sentOrder,
592  RTI::TransportationType theType,
593  RTI::LogicalTime const & theTime,
594  RTI::OrderType receivedOrder)
595  throw (RTI::InteractionClassNotRecognized,
596  RTI::InteractionParameterNotRecognized,
597  RTI::InteractionClassNotSubscribed,
598  RTI::FederateInternalError);
599 
600  virtual void receiveInteraction(
601  RTI::InteractionClassHandle theInteraction,
602  RTI::ParameterHandleValueMap const & theParameterValues,
603  RTI::VariableLengthData const & aTag,
604  RTI::OrderType sentOrder,
605  RTI::TransportationType theType,
606  RTI::LogicalTime const & theTime,
607  RTI::OrderType receivedOrder,
608  RTI::RegionHandleSet const & theSentRegionHandleSet)
609  throw (RTI::InteractionClassNotRecognized,
610  RTI::InteractionParameterNotRecognized,
611  RTI::InteractionClassNotSubscribed,
612  RTI::FederateInternalError);
613 
614  virtual void receiveInteraction(
615  RTI::InteractionClassHandle theInteraction,
616  RTI::ParameterHandleValueMap const & theParameterValues,
617  RTI::VariableLengthData const & aTag,
618  RTI::OrderType sentOrder,
619  RTI::TransportationType theType,
620  RTI::LogicalTime const & theTime,
621  RTI::OrderType receivedOrder,
622  RTI::MessageRetractionHandle theHandle)
623  throw (RTI::InteractionClassNotRecognized,
624  RTI::InteractionParameterNotRecognized,
625  RTI::InteractionClassNotSubscribed,
626  RTI::InvalidLogicalTime,
627  RTI::FederateInternalError);
628 
629  virtual void receiveInteraction (
630  RTI::InteractionClassHandle theInteraction,
631  RTI::ParameterHandleValueMap const & theParameterValues,
632  RTI::VariableLengthData const & aTag,
633  RTI::OrderType sentOrder,
634  RTI::TransportationType theType,
635  RTI::LogicalTime const & theTime,
636  RTI::OrderType receivedOrder,
637  RTI::MessageRetractionHandle theHandle,
638  RTI::RegionHandleSet const & theSentRegionHandleSet)
639  throw (RTI::InteractionClassNotRecognized,
640  RTI::InteractionParameterNotRecognized,
641  RTI::InteractionClassNotSubscribed,
642  RTI::InvalidLogicalTime,
643  RTI::FederateInternalError);
644 
646  virtual void removeObjectInstance(
647  RTI::ObjectInstanceHandle theObject,
648  RTI::VariableLengthData const & aTag,
649  RTI::OrderType sentOrder)
650  throw (RTI::ObjectInstanceNotKnown,
651  RTI::FederateInternalError);
652 
653  virtual void removeObjectInstance(
654  RTI::ObjectInstanceHandle theObject,
655  RTI::VariableLengthData const & aTag,
656  RTI::OrderType sentOrder,
657  RTI::LogicalTime const & theTime,
658  RTI::OrderType receivedOrder)
659  throw (RTI::ObjectInstanceNotKnown,
660  RTI::FederateInternalError);
661 
662  virtual void removeObjectInstance(
663  RTI::ObjectInstanceHandle theObject,
664  RTI::VariableLengthData const & aTag,
665  RTI::OrderType sentOrder,
666  RTI::LogicalTime const & theTime,
667  RTI::OrderType receivedOrder,
668  RTI::MessageRetractionHandle theHandle)
669  throw (RTI::ObjectInstanceNotKnown,
670  RTI::InvalidLogicalTime,
671  RTI::FederateInternalError);
672 
674  virtual void attributesInScope(
675  RTI::ObjectInstanceHandle theObject,
676  RTI::AttributeHandleSet const & theAttributes)
677  throw (RTI::ObjectInstanceNotKnown,
678  RTI::AttributeNotRecognized,
679  RTI::AttributeNotSubscribed,
680  RTI::FederateInternalError);
681 
683  virtual void attributesOutOfScope(
684  RTI::ObjectInstanceHandle theObject,
685  RTI::AttributeHandleSet const &theAttributes)
686  throw (RTI::ObjectInstanceNotKnown,
687  RTI::AttributeNotRecognized,
688  RTI::AttributeNotSubscribed,
689  RTI::FederateInternalError);
690 
692  virtual void provideAttributeValueUpdate(
693  RTI::ObjectInstanceHandle theObject,
694  RTI::AttributeHandleSet const & theAttributes,
695  RTI::VariableLengthData const & aTag)
696  throw (RTI::ObjectInstanceNotKnown,
697  RTI::AttributeNotRecognized,
698  RTI::AttributeNotOwned,
699  RTI::FederateInternalError);
700 
702  virtual void turnUpdatesOnForObjectInstance(
703  RTI::ObjectInstanceHandle theObject,
704  RTI::AttributeHandleSet const & theAttributes)
705  throw (RTI::ObjectInstanceNotKnown,
706  RTI::AttributeNotRecognized,
707  RTI::AttributeNotOwned,
708  RTI::FederateInternalError);
709 
711  virtual void turnUpdatesOffForObjectInstance(
712  RTI::ObjectInstanceHandle theObject,
713  RTI::AttributeHandleSet const & theAttributes)
714  throw (RTI::ObjectInstanceNotKnown,
715  RTI::AttributeNotRecognized,
716  RTI::AttributeNotOwned,
717  RTI::FederateInternalError);
718 
722 
723  virtual void requestAttributeOwnershipAssumption(
724  RTI::ObjectInstanceHandle theObject,
725  RTI::AttributeHandleSet const & offeredAttributes,
726  RTI::VariableLengthData const & aTag)
727  throw (RTI::ObjectInstanceNotKnown,
728  RTI::AttributeNotRecognized,
729  RTI::AttributeAlreadyOwned,
730  RTI::AttributeNotPublished,
731  RTI::FederateInternalError);
732 
733  virtual void requestDivestitureConfirmation(
734  RTI::ObjectInstanceHandle theObject,
735  RTI::AttributeHandleSet const & releasedAttributes)
736  throw (RTI::ObjectInstanceNotKnown,
737  RTI::AttributeNotRecognized,
738  RTI::AttributeNotOwned,
739  RTI::AttributeDivestitureWasNotRequested,
740  RTI::FederateInternalError);
741 
742  virtual void attributeOwnershipAcquisitionNotification(
743  RTI::ObjectInstanceHandle theObject,
744  RTI::AttributeHandleSet const & securedAttributes,
745  RTI::VariableLengthData const & aTag)
746  throw (RTI::ObjectInstanceNotKnown,
747  RTI::AttributeNotRecognized,
748  RTI::AttributeAcquisitionWasNotRequested,
749  RTI::AttributeAlreadyOwned,
750  RTI::AttributeNotPublished,
751  RTI::FederateInternalError);
752 
753  virtual void attributeOwnershipUnavailable(
754  RTI::ObjectInstanceHandle theObject,
755  RTI::AttributeHandleSet const & theAttributes)
756  throw (RTI::ObjectInstanceNotKnown,
757  RTI::AttributeNotRecognized,
758  RTI::AttributeAlreadyOwned,
759  RTI::AttributeAcquisitionWasNotRequested,
760  RTI::FederateInternalError);
761 
762  virtual void requestAttributeOwnershipRelease(
763  RTI::ObjectInstanceHandle theObject,
764  RTI::AttributeHandleSet const & candidateAttributes,
765  RTI::VariableLengthData const & aTag)
766  throw (RTI::ObjectInstanceNotKnown,
767  RTI::AttributeNotRecognized,
768  RTI::AttributeNotOwned,
769  RTI::FederateInternalError);
770 
771  virtual void confirmAttributeOwnershipAcquisitionCancellation(
772  RTI::ObjectInstanceHandle theObject,
773  RTI::AttributeHandleSet const & theAttributes)
774  throw (RTI::ObjectInstanceNotKnown,
775  RTI::AttributeNotRecognized,
776  RTI::AttributeAlreadyOwned,
777  RTI::AttributeAcquisitionWasNotCanceled,
778  RTI::FederateInternalError);
779 
780  virtual void informAttributeOwnership(
781  RTI::ObjectInstanceHandle theObject,
782  RTI::AttributeHandle theAttribute,
783  RTI::FederateHandle theOwner)
784  throw (RTI::ObjectInstanceNotKnown,
785  RTI::AttributeNotRecognized,
786  RTI::FederateInternalError);
787 
788  virtual void attributeIsNotOwned(
789  RTI::ObjectInstanceHandle theObject,
790  RTI::AttributeHandle theAttribute)
791  throw (RTI::ObjectInstanceNotKnown,
792  RTI::AttributeNotRecognized,
793  RTI::FederateInternalError);
794 
795  virtual void attributeIsOwnedByRTI(
796  RTI::ObjectInstanceHandle theObject,
797  RTI::AttributeHandle theAttribute)
798  throw (RTI::ObjectInstanceNotKnown,
799  RTI::AttributeNotRecognized,
800  RTI::FederateInternalError);
801 
805 
806  virtual void timeRegulationEnabled(
807  RTI::LogicalTime const & theFederateTime)
808  throw (RTI::InvalidLogicalTime,
809  RTI::NoRequestToEnableTimeRegulationWasPending,
810  RTI::FederateInternalError);
811 
812  virtual void timeConstrainedEnabled(
813  RTI::LogicalTime const & theFederateTime)
814  throw (RTI::InvalidLogicalTime,
815  RTI::NoRequestToEnableTimeConstrainedWasPending,
816  RTI::FederateInternalError);
817 
818  virtual void timeAdvanceGrant( RTI::LogicalTime const & theTime)
819  throw (RTI::InvalidLogicalTime,
820  RTI::JoinedFederateIsNotInTimeAdvancingState,
821  RTI::FederateInternalError);
822 
823  virtual void requestRetraction(RTI::MessageRetractionHandle theHandle)
824  throw (RTI::FederateInternalError);
825 
826 protected:
827 
828  bool myWaitingForSave;
829  bool myWaitingForRestore;
830 };
831 
832 #endif
833 
834 
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtString are used to represent strings.
Definition: vlString.h:36
This file is used as a convenience to group RTI related callbacks together.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)