13 #if DtHLA_1516_EVOLVED && !DtHLA_4
36 const RTI::VariableLengthData& tag,
47 struct DtScopeChangeCallbackData
50 RTI::ObjectInstanceHandle handle;
56 throw (RTI::FederateInternalError);
82 virtual
void addReflectAttributeValuesCb(
84 virtual
void removeReflectAttributeValuesCb(
89 virtual
void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
91 virtual
void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
96 virtual
void addRemoveObjectCb( RTI::ObjectInstanceHandle
id,
98 virtual
void removeRemoveObjectCb( RTI::ObjectInstanceHandle
id,
103 virtual
void addStartRegCb( RTI::ObjectClassHandle hand,
105 virtual
void removeStartRegCb( RTI::ObjectClassHandle hand,
110 virtual
void addStopRegCb( RTI::ObjectClassHandle hand,
112 virtual
void removeStopRegCb( RTI::ObjectClassHandle hand,
117 virtual
void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
119 virtual
void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
124 virtual
void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
126 virtual
void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
131 virtual
void addStartInteractionsCb( RTI::InteractionClassHandle hand,
133 virtual
void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
138 virtual
void addStopInteractionsCb( RTI::InteractionClassHandle hand,
140 virtual
void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
145 virtual
void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
147 virtual
void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
152 virtual
void addTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
153 virtual
void removeTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
157 virtual
void addTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
158 virtual
void removeTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
162 virtual
void addTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
163 virtual
void removeTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
167 virtual
void addNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
168 virtual
void removeNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
172 virtual
void addNameReservationFailed( DtReserveNameCb cb,
void* usr );
173 virtual
void removeNameReservationFailed( DtReserveNameCb cb,
void* usr );
178 virtual
void addMultipleNameReservationSucceeded( DtReserveMultipleNamesCb cb,
void* usr );
179 virtual
void removeNameReservationSucceeded( DtReserveMultipleNamesCb,
void* usr );
183 virtual
void addMultipleNameReservationFailed( DtReserveMultipleNamesCb cb,
void* usr );
184 virtual
void removeMultipleNameReservationFailed( DtReserveMultipleNamesCb,
void* usr );
187 virtual
void addSynchPointRegSucceededCb(const
DtString& label,
192 virtual
void removeSynchPointRegSucceededCb(const
DtString& label,
197 virtual
void addSynchPointRegFailedCb(const
DtString& label,
202 virtual
void removeSynchPointRegFailedCb(const
DtString& label,
207 virtual
void addFederationSynchedCb(const
DtString& label,
212 virtual
void removeFederationSynchedCb(const
DtString& label,
217 virtual
void addAnnounceSynchPointCb(const
DtString& label,
222 virtual
void removeAnnounceSynchPointCb(const
DtString& label,
227 virtual
void setRemoveObjectOnAttOutOfScope(
bool remove);
228 virtual
bool removeObjectOnAttOutOfScope() const;
230 virtual
void addConnectionLostCb( DtConnectionLostCb func,
void* usr );
231 virtual
void removeConnectionLostCb(DtConnectionLostCb func,
void* usr );
237 virtual
void addFederateSaveCb(const
DtString& label,
242 virtual
void removeFederateSaveCb(const
DtString& label,
250 virtual
void addFederateRestoreCb(const
DtString& label,
255 virtual
void removeFederateRestoreCb(const
DtString& label,
260 virtual
bool waitingForSaveOrRestore() const;
262 #if DtHLA_1516_EVOLVED
263 virtual DtString getFederateNameFromHandle(
const RTI::FederateHandle&)
const;
271 struct DtFederateSaveCbInfo
277 struct DtFederateRestoreCbInfo
283 struct DtLabelledFederateSaveCbInfo
290 struct DtLabelledFederateRestoreCbInfo
297 struct DtGeneralSynchPointCbInfo
303 struct DtLabelledSynchPointCbInfo
310 struct DtGeneralAnnounceCbInfo
316 struct DtLabelledAnnounceCbInfo
323 static void attributesOutOfScopeCb(
void* usr);
325 virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
341 DtConnectionLostCbList myConnectionLostCbList;
342 DtReserveNameCbList myNameReservationSucceededCbList;
343 DtReserveNameCbList myNameReservationFailedCbList;
345 DtReserveMultipleNamesCbList myMultipleNamesReservationSucceededCbList;
346 DtReserveMultipleNamesCbList myMultipleNamesReservationFailedCbList;
349 std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
350 std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
351 std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
352 std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
354 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
355 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
356 std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
357 std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
359 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
360 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
361 std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
362 std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
364 bool myRemoveObjectOnAttOutOfScope;
367 virtual void applyFedsSynchedCallbacks(
const DtString& label);
368 virtual void applyRegistrationSucceededCallbacks(
const DtString& label);
369 virtual void applyRegistrationFailedCallbacks(
const DtString& label);
372 virtual bool applyAnnounceCallbacks(
const DtString& label,
const RTI::VariableLengthData& tag);
379 std::wstring
const & faultDescription)
381 RTI::FederateInternalError);
385 RTI::FederationExecutionInformationVector
const &
386 theFederationExecutionInformationList)
388 RTI::FederateInternalError);
392 std::wstring
const & label)
394 RTI::FederateInternalError);
397 std::wstring
const & label,
398 RTI::SynchronizationPointFailureReason reason)
400 RTI::FederateInternalError);
404 std::wstring
const & label,
405 RTI::VariableLengthData
const & theUserSuppliedTag)
407 RTI::FederateInternalError);
411 std::wstring
const & label,
412 RTI::FederateHandleSet
const& failedToSyncSet)
414 RTI::FederateInternalError);
418 std::wstring
const & label)
420 RTI::FederateInternalError);
423 std::wstring
const & label,
426 RTI::FederateInternalError);
431 RTI::FederateInternalError);
433 virtual
void federationNotSaved (
434 RTI::SaveFailureReason theSaveFailureReason)
436 RTI::FederateInternalError);
440 virtual
void federationSaveStatusResponse (
441 RTI::FederateHandleSaveStatusPairVector const &
442 theFederateStatusVector)
444 RTI::FederateInternalError);
447 virtual
void requestFederateRestoreSucceeded (
448 std::wstring const & label)
450 RTI::FederateInternalError);
452 virtual
void requestFederateRestoreFailed (
453 std::wstring const & label)
455 RTI::FederateInternalError);
458 virtual
void federationRestoreBegun ()
460 RTI::FederateInternalError);
463 virtual
void initiateFederateRestore (
464 std::wstring const & label,
465 std::wstring const & federateName,
466 RTI::FederateHandle handle)
468 RTI::FederateInternalError);
471 virtual
void federationRestored ()
473 RTI::FederateInternalError);
475 virtual
void federationNotRestored (
476 RTI::RestoreFailureReason theRestoreFailureReason)
478 RTI::FederateInternalError);
481 virtual
void federationRestoreStatusResponse (
482 RTI::FederateRestoreStatusVector const &
483 theFederateRestoreStatusVector)
485 RTI::FederateInternalError);
492 virtual
void startRegistrationForObjectClass (
493 RTI::ObjectClassHandle theClass)
495 RTI::FederateInternalError);
498 virtual
void stopRegistrationForObjectClass (
499 RTI::ObjectClassHandle theClass)
501 RTI::FederateInternalError);
504 virtual
void turnInteractionsOn (
505 RTI::InteractionClassHandle theHandle)
507 RTI::FederateInternalError);
510 virtual
void turnInteractionsOff (
511 RTI::InteractionClassHandle theHandle)
513 RTI::FederateInternalError);
520 virtual
void objectInstanceNameReservationSucceeded (
521 std::wstring const & theObjectInstanceName)
523 RTI::FederateInternalError);
525 virtual
void objectInstanceNameReservationFailed (
526 std::wstring const & theObjectInstanceName)
528 RTI::FederateInternalError);
531 virtual
void multipleObjectInstanceNameReservationSucceeded (
532 std::set<std::wstring> const & theObjectInstanceNames)
534 RTI::FederateInternalError);
536 virtual
void multipleObjectInstanceNameReservationFailed (
537 std::set<std::wstring> const & theObjectInstanceNames)
539 RTI::FederateInternalError);
543 virtual
void discoverObjectInstance (
544 RTI::ObjectInstanceHandle theObject,
545 RTI::ObjectClassHandle theObjectClass,
546 std::wstring const & theObjectInstanceName)
548 RTI::FederateInternalError);
550 virtual
void discoverObjectInstance (
551 RTI::ObjectInstanceHandle theObject,
552 RTI::ObjectClassHandle theObjectClass,
553 std::wstring const & theObjectInstanceName,
554 RTI::FederateHandle producingFederate)
556 RTI::FederateInternalError);
559 virtual
void reflectAttributeValues (
560 RTI::ObjectInstanceHandle theObject,
561 RTI::AttributeHandleValueMap const & theAttributeValues,
562 RTI::VariableLengthData const & theUserSuppliedTag,
563 RTI::OrderType sentOrder,
564 RTI::TransportationType theType,
565 RTI::SupplementalReflectInfo theReflectInfo)
567 RTI::FederateInternalError);
569 virtual
void reflectAttributeValues (
570 RTI::ObjectInstanceHandle theObject,
571 RTI::AttributeHandleValueMap const & theAttributeValues,
572 RTI::VariableLengthData const & theUserSuppliedTag,
573 RTI::OrderType sentOrder,
574 RTI::TransportationType theType,
576 RTI::OrderType receivedOrder,
577 RTI::SupplementalReflectInfo theReflectInfo)
579 RTI::FederateInternalError);
581 virtual
void reflectAttributeValues (
582 RTI::ObjectInstanceHandle theObject,
583 RTI::AttributeHandleValueMap const & theAttributeValues,
584 RTI::VariableLengthData const & theUserSuppliedTag,
585 RTI::OrderType sentOrder,
586 RTI::TransportationType theType,
588 RTI::OrderType receivedOrder,
589 RTI::MessageRetractionHandle theHandle,
590 RTI::SupplementalReflectInfo theReflectInfo)
592 RTI::FederateInternalError);
595 virtual
void receiveInteraction (
596 RTI::InteractionClassHandle theInteraction,
597 RTI::ParameterHandleValueMap const & theParameterValues,
598 RTI::VariableLengthData const & theUserSuppliedTag,
599 RTI::OrderType sentOrder,
600 RTI::TransportationType theType,
601 RTI::SupplementalReceiveInfo theReceiveInfo)
603 RTI::FederateInternalError);
605 virtual
void receiveInteraction (
606 RTI::InteractionClassHandle theInteraction,
607 RTI::ParameterHandleValueMap const & theParameterValues,
608 RTI::VariableLengthData const & theUserSuppliedTag,
609 RTI::OrderType sentOrder,
610 RTI::TransportationType theType,
612 RTI::OrderType receivedOrder,
613 RTI::SupplementalReceiveInfo theReceiveInfo)
615 RTI::FederateInternalError);
617 virtual
void receiveInteraction (
618 RTI::InteractionClassHandle theInteraction,
619 RTI::ParameterHandleValueMap const & theParameterValues,
620 RTI::VariableLengthData const & theUserSuppliedTag,
621 RTI::OrderType sentOrder,
622 RTI::TransportationType theType,
624 RTI::OrderType receivedOrder,
625 RTI::MessageRetractionHandle theHandle,
626 RTI::SupplementalReceiveInfo theReceiveInfo)
628 RTI::FederateInternalError);
631 virtual
void removeObjectInstance (
632 RTI::ObjectInstanceHandle theObject,
633 RTI::VariableLengthData const & theUserSuppliedTag,
634 RTI::OrderType sentOrder,
635 RTI::SupplementalRemoveInfo theRemoveInfo)
637 RTI::FederateInternalError);
639 virtual
void removeObjectInstance (
640 RTI::ObjectInstanceHandle theObject,
641 RTI::VariableLengthData const & theUserSuppliedTag,
642 RTI::OrderType sentOrder,
644 RTI::OrderType receivedOrder,
645 RTI::SupplementalRemoveInfo theRemoveInfo)
647 RTI::FederateInternalError);
649 virtual
void removeObjectInstance (
650 RTI::ObjectInstanceHandle theObject,
651 RTI::VariableLengthData const & theUserSuppliedTag,
652 RTI::OrderType sentOrder,
654 RTI::OrderType receivedOrder,
655 RTI::MessageRetractionHandle theHandle,
656 RTI::SupplementalRemoveInfo theRemoveInfo)
658 RTI::FederateInternalError);
661 virtual
void attributesInScope (
662 RTI::ObjectInstanceHandle theObject,
663 RTI::AttributeHandleSet const & theAttributes)
665 RTI::FederateInternalError);
668 virtual
void attributesOutOfScope (
669 RTI::ObjectInstanceHandle theObject,
670 RTI::AttributeHandleSet const & theAttributes)
672 RTI::FederateInternalError);
675 virtual
void provideAttributeValueUpdate (
676 RTI::ObjectInstanceHandle theObject,
677 RTI::AttributeHandleSet const & theAttributes,
678 RTI::VariableLengthData const & theUserSuppliedTag)
680 RTI::FederateInternalError);
683 virtual
void turnUpdatesOnForObjectInstance (
684 RTI::ObjectInstanceHandle theObject,
685 RTI::AttributeHandleSet const & theAttributes)
687 RTI::FederateInternalError);
689 virtual
void turnUpdatesOnForObjectInstance (
690 RTI::ObjectInstanceHandle theObject,
691 RTI::AttributeHandleSet const & theAttributes,
692 std::wstring const & updateRateDesignator)
694 RTI::FederateInternalError);
697 virtual
void turnUpdatesOffForObjectInstance (
698 RTI::ObjectInstanceHandle theObject,
699 RTI::AttributeHandleSet const & theAttributes)
701 RTI::FederateInternalError);
704 virtual
void confirmAttributeTransportationTypeChange (
705 RTI::ObjectInstanceHandle theObject,
706 RTI::AttributeHandleSet theAttributes,
707 RTI::TransportationType theTransportation)
709 RTI::FederateInternalError);
712 virtual
void reportAttributeTransportationType (
713 RTI::ObjectInstanceHandle theObject,
714 RTI::AttributeHandle theAttribute,
715 RTI::TransportationType theTransportation)
717 RTI::FederateInternalError);
720 virtual
void confirmInteractionTransportationTypeChange (
721 RTI::InteractionClassHandle theInteraction,
722 RTI::TransportationType theTransportation)
724 RTI::FederateInternalError);
727 virtual
void reportInteractionTransportationType (
728 RTI::FederateHandle federateHandle,
729 RTI::InteractionClassHandle theInteraction,
730 RTI::TransportationType theTransportation)
732 RTI::FederateInternalError);
740 virtual
void requestAttributeOwnershipAssumption (
741 RTI::ObjectInstanceHandle theObject,
742 RTI::AttributeHandleSet const & offeredAttributes,
743 RTI::VariableLengthData const & theUserSuppliedTag)
745 RTI::FederateInternalError);
748 virtual
void requestDivestitureConfirmation (
749 RTI::ObjectInstanceHandle theObject,
750 RTI::AttributeHandleSet const & releasedAttributes)
752 RTI::FederateInternalError);
755 virtual
void attributeOwnershipAcquisitionNotification (
756 RTI::ObjectInstanceHandle theObject,
757 RTI::AttributeHandleSet const & securedAttributes,
758 RTI::VariableLengthData const & theUserSuppliedTag)
760 RTI::FederateInternalError);
763 virtual
void attributeOwnershipUnavailable (
764 RTI::ObjectInstanceHandle theObject,
765 RTI::AttributeHandleSet const & theAttributes)
767 RTI::FederateInternalError);
770 virtual
void requestAttributeOwnershipRelease (
771 RTI::ObjectInstanceHandle theObject,
772 RTI::AttributeHandleSet const & candidateAttributes,
773 RTI::VariableLengthData const & theUserSuppliedTag)
775 RTI::FederateInternalError);
778 virtual
void confirmAttributeOwnershipAcquisitionCancellation (
779 RTI::ObjectInstanceHandle theObject,
780 RTI::AttributeHandleSet const & theAttributes)
782 RTI::FederateInternalError);
785 virtual
void informAttributeOwnership (
786 RTI::ObjectInstanceHandle theObject,
787 RTI::AttributeHandle theAttribute,
788 RTI::FederateHandle theOwner)
790 RTI::FederateInternalError);
792 virtual
void attributeIsNotOwned (
793 RTI::ObjectInstanceHandle theObject,
794 RTI::AttributeHandle theAttribute)
796 RTI::FederateInternalError);
798 virtual
void attributeIsOwnedByRTI (
799 RTI::ObjectInstanceHandle theObject,
800 RTI::AttributeHandle theAttribute)
802 RTI::FederateInternalError);
809 virtual
void timeRegulationEnabled (
812 RTI::FederateInternalError);
815 virtual
void timeConstrainedEnabled (
818 RTI::FederateInternalError);
821 virtual
void timeAdvanceGrant (
824 RTI::FederateInternalError);
827 virtual
void requestRetraction (
828 RTI::MessageRetractionHandle theHandle)
830 RTI::FederateInternalError);
834 bool myWaitingForSave;
835 bool myWaitingForRestore;
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'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
virtual void connectionLost(std::wstring const &faultDescription)
4.4
Definition: nullFederateAmbassador1516_4.h:43
Instances of DtVrlFederateAmbassador are used to manage the interface between the RTI and the VR-Link...
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
std::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
class DtInteractionManager:
Definition: interactionManager.h:25
Instances of DtUpdateControlCbList are used to provide a list of callbacks (DtUpdateControlCbInfo) wh...
Definition: updateControlCbList.h:33
virtual void reportFederationExecutions(FederationExecutionInformationVector const &report)
4.8
Definition: nullFederateAmbassador1516_4.h:49
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:24
virtual void federationSynchronized(const char *label)
Instances of DtString are used to represent strings.
Definition: vlString.h:36
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