14 #ifndef DtHLA_1516_EVOLVED
23 typedef void (*DtFederateSaveCb)(
27 typedef void (*DtFederateRestoreCb)(
31 typedef void (*DtSynchPointCb)(
35 typedef void (*DtAnnounceSynchPointCb)(
37 const RTI::VariableLengthData& tag,
46 class DT_DLL_VL DtVrlFederateAmbassador :
public DtNullFederateAmbassador
48 struct DtScopeChangeCallbackData
50 DtVrlFederateAmbassador* fedAmb;
51 RTI::ObjectInstanceHandle handle;
56 DtVrlFederateAmbassador()
57 throw (RTI::FederateInternalError);
59 virtual ~DtVrlFederateAmbassador()
64 DtVrlFederateAmbassador( const DtVrlFederateAmbassador& src );
67 DtVrlFederateAmbassador& operator=(const DtVrlFederateAmbassador& src );
73 DtHlaObjectManager* hlaObjMgr,
74 DtInteractionManager* interMgr );
78 static DtVrlFederateAmbassador* create();
83 virtual
void addReflectAttributeValuesCb(
84 RTI::ObjectInstanceHandle
id, DtReflectAttributeValuesCb cb,
void* usr );
85 virtual
void removeReflectAttributeValuesCb(
86 RTI::ObjectInstanceHandle
id, DtReflectAttributeValuesCb cb,
void* usr );
90 virtual
void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
91 DtDiscoverObjectCb cb,
void* usr );
92 virtual
void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
93 DtDiscoverObjectCb cb,
void* usr );
97 virtual
void addRemoveObjectCb( RTI::ObjectInstanceHandle
id,
98 DtRemoveObjectCb cb,
void* usr );
99 virtual
void removeRemoveObjectCb( RTI::ObjectInstanceHandle
id,
100 DtRemoveObjectCb cb,
void* usr );
104 virtual
void addStartRegCb( RTI::ObjectClassHandle hand,
105 DtStartRegCb cb,
void* usr );
106 virtual
void removeStartRegCb( RTI::ObjectClassHandle hand,
107 DtStartRegCb cb,
void* usr );
111 virtual
void addStopRegCb( RTI::ObjectClassHandle hand,
112 DtStopRegCb cb,
void* usr );
113 virtual
void removeStopRegCb( RTI::ObjectClassHandle hand,
114 DtStopRegCb cb,
void* usr );
118 virtual
void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
119 DtUpdatesOnCb cb,
void* usr );
120 virtual
void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
121 DtUpdatesOnCb cb,
void* usr );
125 virtual
void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
126 DtUpdatesOffCb cb,
void* usr );
127 virtual
void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
128 DtUpdatesOffCb cb,
void* usr );
132 virtual
void addStartInteractionsCb( RTI::InteractionClassHandle hand,
133 DtStartStopInterCb cb,
void* usr );
134 virtual
void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
135 DtStartStopInterCb cb,
void* usr );
139 virtual
void addStopInteractionsCb( RTI::InteractionClassHandle hand,
140 DtStartStopInterCb cb,
void* usr );
141 virtual
void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
142 DtStartStopInterCb cb,
void* usr );
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() );
153 virtual
void addTimeAdvanceGrantCb( DtFedTimeCb cb,
void* usr );
154 virtual
void removeTimeAdvanceGrantCb( DtFedTimeCb cb,
void* usr );
158 virtual
void addTimeRegulationEnabledCb( DtFedTimeCb cb,
void* usr );
159 virtual
void removeTimeRegulationEnabledCb( DtFedTimeCb cb,
void* usr );
163 virtual
void addTimeConstrainedEnabledCb( DtFedTimeCb cb,
void* usr );
164 virtual
void removeTimeConstrainedEnabledCb( DtFedTimeCb cb,
void* usr );
168 virtual
void addNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
169 virtual
void removeNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
173 virtual
void addNameReservationFailed( DtReserveNameCb cb,
void* usr );
174 virtual
void removeNameReservationFailed( DtReserveNameCb cb,
void* usr );
177 virtual
void addSynchPointRegSucceededCb(const
DtString& label,
178 DtSynchPointCb func,
void* usr);
179 virtual
void addSynchPointRegSucceededCb(DtSynchPointCb func,
182 virtual
void removeSynchPointRegSucceededCb(const
DtString& label,
183 DtSynchPointCb func,
void* usr);
184 virtual
void removeSynchPointRegSucceededCb(DtSynchPointCb func,
187 virtual
void addSynchPointRegFailedCb(const
DtString& label,
188 DtSynchPointCb func,
void* usr);
189 virtual
void addSynchPointRegFailedCb(DtSynchPointCb func,
192 virtual
void removeSynchPointRegFailedCb(const
DtString& label,
193 DtSynchPointCb func,
void* usr);
194 virtual
void removeSynchPointRegFailedCb(DtSynchPointCb func,
197 virtual
void addFederationSynchedCb(const
DtString& label,
198 DtSynchPointCb func,
void* usr);
199 virtual
void addFederationSynchedCb(DtSynchPointCb func,
202 virtual
void removeFederationSynchedCb(const
DtString& label,
203 DtSynchPointCb func,
void* usr);
204 virtual
void removeFederationSynchedCb(DtSynchPointCb func,
207 virtual
void addAnnounceSynchPointCb(const
DtString& label,
208 DtAnnounceSynchPointCb func,
void* usr);
209 virtual
void addAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
212 virtual
void removeAnnounceSynchPointCb(const
DtString& label,
213 DtAnnounceSynchPointCb func,
void* usr);
214 virtual
void removeAnnounceSynchPointCb(DtAnnounceSynchPointCb func,
217 virtual
void setRemoveObjectOnAttOutOfScope(
bool remove);
218 virtual
bool removeObjectOnAttOutOfScope() const;
223 virtual
void addFederateSaveCb(const
DtString& label,
224 DtFederateSaveCb func,
void* usr);
225 virtual
void addFederateSaveCb(DtFederateSaveCb func,
228 virtual
void removeFederateSaveCb(const
DtString& label,
229 DtFederateSaveCb func,
void* usr);
230 virtual
void removeFederateSaveCb(DtFederateSaveCb func,
236 virtual
void addFederateRestoreCb(const
DtString& label,
237 DtFederateRestoreCb func,
void* usr);
238 virtual
void addFederateRestoreCb(DtFederateRestoreCb func,
241 virtual
void removeFederateRestoreCb(const
DtString& label,
242 DtFederateRestoreCb func,
void* usr);
243 virtual
void removeFederateRestoreCb(DtFederateRestoreCb func,
247 virtual
bool waitingForSaveOrRestore() const;
251 struct DtFederateSaveCbInfo
253 DtFederateSaveCb cbFunction;
257 struct DtFederateRestoreCbInfo
259 DtFederateRestoreCb cbFunction;
263 struct DtLabelledFederateSaveCbInfo
266 DtFederateSaveCb cbFunction;
270 struct DtLabelledFederateRestoreCbInfo
273 DtFederateRestoreCb cbFunction;
277 struct DtGeneralSynchPointCbInfo
279 DtSynchPointCb cbFunction;
283 struct DtLabelledSynchPointCbInfo
286 DtSynchPointCb cbFunction;
290 struct DtGeneralAnnounceCbInfo
292 DtAnnounceSynchPointCb cbFunction;
296 struct DtLabelledAnnounceCbInfo
299 DtAnnounceSynchPointCb cbFunction;
303 static void attributesOutOfScopeCb(
void* usr);
305 virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
308 DtInteractionManager* myInteractionManager;
309 DtHlaObjectManager* myHlaObjectManager;
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;
325 std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
326 std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
327 std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
328 std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
330 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
331 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
332 std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
333 std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
335 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
336 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
337 std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
338 std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
340 bool myRemoveObjectOnAttOutOfScope;
343 virtual void applyFedsSynchedCallbacks(
const DtString& label);
344 virtual void applyRegistrationSucceededCallbacks(
const DtString& label);
345 virtual void applyRegistrationFailedCallbacks(
const DtString& label);
348 virtual bool applyAnnounceCallbacks(
const DtString& label,
const RTI::VariableLengthData& tag);
354 virtual void synchronizationPointRegistrationSucceeded(
355 std::wstring
const & label)
356 throw (RTI::FederateInternalError);
358 virtual void synchronizationPointRegistrationFailed(
359 std::wstring
const & label,
360 RTI::SynchronizationFailureReason reason)
361 throw (RTI::FederateInternalError);
364 virtual void announceSynchronizationPoint(
365 std::wstring
const & label,
366 RTI::VariableLengthData
const & aTag)
367 throw (RTI::FederateInternalError);
370 virtual void federationSynchronized(std::wstring
const & label)
371 throw (RTI::FederateInternalError);
374 virtual void initiateFederateSave(std::wstring
const & label)
375 throw (RTI::UnableToPerformSave,
376 RTI::FederateInternalError);
378 virtual void initiateFederateSave(std::wstring
const & label,
379 RTI::LogicalTime
const & theTime)
380 throw (RTI::UnableToPerformSave,
381 RTI::InvalidLogicalTime,
382 RTI::FederateInternalError);
388 throw (RTI::FederateInternalError);
390 virtual
void federationNotSaved(RTI::SaveFailureReason theSaveFailureReason)
391 throw (RTI::FederateInternalError);
395 virtual
void federationSaveStatusResponse(
396 RTI::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
397 throw (RTI::FederateInternalError);
400 virtual
void requestFederateRestoreSucceeded(std::wstring const & label)
401 throw (RTI::FederateInternalError);
403 virtual
void requestFederateRestoreFailed(std::wstring const & label)
404 throw (RTI::FederateInternalError);
407 virtual
void federationRestoreBegun()
408 throw (RTI::FederateInternalError);
411 virtual
void initiateFederateRestore(std::wstring const & label,
412 RTI::FederateHandle handle)
413 throw (RTI::SpecifiedSaveLabelDoesNotExist,
414 RTI::CouldNotInitiateRestore,
415 RTI::FederateInternalError);
418 virtual
void federationRestored()
419 throw (RTI::FederateInternalError);
421 virtual
void federationNotRestored(
422 RTI::RestoreFailureReason theRestoreFailureReason)
423 throw (RTI::FederateInternalError);
426 virtual
void federationRestoreStatusResponse(
427 RTI::FederateHandleRestoreStatusPairVector const & theFederateStatusVector)
428 throw (RTI::FederateInternalError);
436 virtual
void startRegistrationForObjectClass(
437 RTI::ObjectClassHandle theClass)
438 throw (RTI::ObjectClassNotPublished,
439 RTI::FederateInternalError);
442 virtual
void stopRegistrationForObjectClass(
443 RTI::ObjectClassHandle theClass)
444 throw (RTI::ObjectClassNotPublished,
445 RTI::FederateInternalError);
448 virtual
void turnInteractionsOn(
449 RTI::InteractionClassHandle theHandle)
450 throw (RTI::InteractionClassNotPublished,
451 RTI::FederateInternalError);
454 virtual
void turnInteractionsOff(RTI::InteractionClassHandle theHandle)
455 throw (RTI::InteractionClassNotPublished,
456 RTI::FederateInternalError);
463 virtual
void objectInstanceNameReservationSucceeded(
464 std::wstring const & theObjectInstanceName)
465 throw (RTI::UnknownName,
466 RTI::FederateInternalError);
468 virtual
void objectInstanceNameReservationFailed(
469 std::wstring const & theObjectInstanceName)
470 throw (RTI::UnknownName,
471 RTI::FederateInternalError);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
648 virtual
void removeObjectInstance(
649 RTI::ObjectInstanceHandle theObject,
650 RTI::VariableLengthData const & aTag,
651 RTI::OrderType sentOrder)
652 throw (RTI::ObjectInstanceNotKnown,
653 RTI::FederateInternalError);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
790 virtual
void attributeIsNotOwned(
791 RTI::ObjectInstanceHandle theObject,
792 RTI::AttributeHandle theAttribute)
793 throw (RTI::ObjectInstanceNotKnown,
794 RTI::AttributeNotRecognized,
795 RTI::FederateInternalError);
797 virtual
void attributeIsOwnedByRTI(
798 RTI::ObjectInstanceHandle theObject,
799 RTI::AttributeHandle theAttribute)
800 throw (RTI::ObjectInstanceNotKnown,
801 RTI::AttributeNotRecognized,
802 RTI::FederateInternalError);
808 virtual
void timeRegulationEnabled(
809 RTI::LogicalTime const & theFederateTime)
810 throw (RTI::InvalidLogicalTime,
811 RTI::NoRequestToEnableTimeRegulationWasPending,
812 RTI::FederateInternalError);
814 virtual
void timeConstrainedEnabled(
815 RTI::LogicalTime const & theFederateTime)
816 throw (RTI::InvalidLogicalTime,
817 RTI::NoRequestToEnableTimeConstrainedWasPending,
818 RTI::FederateInternalError);
820 virtual
void timeAdvanceGrant( RTI::LogicalTime const & theTime)
821 throw (RTI::InvalidLogicalTime,
822 RTI::JoinedFederateIsNotInTimeAdvancingState,
823 RTI::FederateInternalError);
825 virtual
void requestRetraction(RTI::MessageRetractionHandle theHandle)
826 throw (RTI::FederateInternalError);
830 bool myWaitingForSave;
831 bool myWaitingForRestore;
Instances of DtExerciseConn are used to provide an application'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:29
This file is used as a convenience to group RTI related callbacks together.