14 #if DtHLA_1516_EVOLVED
37 const RTI::VariableLengthData& tag,
48 struct DtScopeChangeCallbackData
51 RTI::ObjectInstanceHandle handle;
57 throw (RTI::FederateInternalError);
83 virtual
void addReflectAttributeValuesCb(
85 virtual
void removeReflectAttributeValuesCb(
90 virtual
void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
92 virtual
void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
97 virtual
void addRemoveObjectCb( RTI::ObjectInstanceHandle
id,
99 virtual
void removeRemoveObjectCb( RTI::ObjectInstanceHandle
id,
104 virtual
void addStartRegCb( RTI::ObjectClassHandle hand,
106 virtual
void removeStartRegCb( RTI::ObjectClassHandle hand,
111 virtual
void addStopRegCb( RTI::ObjectClassHandle hand,
113 virtual
void removeStopRegCb( RTI::ObjectClassHandle hand,
118 virtual
void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
120 virtual
void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
125 virtual
void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
127 virtual
void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
132 virtual
void addStartInteractionsCb( RTI::InteractionClassHandle hand,
134 virtual
void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
139 virtual
void addStopInteractionsCb( RTI::InteractionClassHandle hand,
141 virtual
void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
146 virtual
void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
148 virtual
void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
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 );
179 virtual
void addMultipleNameReservationSucceeded( DtReserveMultipleNamesCb cb,
void* usr );
180 virtual
void removeNameReservationSucceeded( DtReserveMultipleNamesCb,
void* usr );
184 virtual
void addMultipleNameReservationFailed( DtReserveMultipleNamesCb cb,
void* usr );
185 virtual
void removeMultipleNameReservationFailed( DtReserveMultipleNamesCb,
void* usr );
188 virtual
void addSynchPointRegSucceededCb(const
DtString& label,
193 virtual
void removeSynchPointRegSucceededCb(const
DtString& label,
198 virtual
void addSynchPointRegFailedCb(const
DtString& label,
203 virtual
void removeSynchPointRegFailedCb(const
DtString& label,
208 virtual
void addFederationSynchedCb(const
DtString& label,
213 virtual
void removeFederationSynchedCb(const
DtString& label,
218 virtual
void addAnnounceSynchPointCb(const
DtString& label,
223 virtual
void removeAnnounceSynchPointCb(const
DtString& label,
228 virtual
void setRemoveObjectOnAttOutOfScope(
bool remove);
229 virtual
bool removeObjectOnAttOutOfScope() const;
238 virtual
void addFederateSaveCb(const
DtString& label,
243 virtual
void removeFederateSaveCb(const
DtString& label,
251 virtual
void addFederateRestoreCb(const
DtString& label,
256 virtual
void removeFederateRestoreCb(const
DtString& label,
261 virtual
bool waitingForSaveOrRestore() const;
263 #if DtHLA_1516_EVOLVED
264 virtual DtString getFederateNameFromHandle(
const RTI::FederateHandle&)
const;
272 struct DtFederateSaveCbInfo
278 struct DtFederateRestoreCbInfo
284 struct DtLabelledFederateSaveCbInfo
291 struct DtLabelledFederateRestoreCbInfo
298 struct DtGeneralSynchPointCbInfo
304 struct DtLabelledSynchPointCbInfo
311 struct DtGeneralAnnounceCbInfo
317 struct DtLabelledAnnounceCbInfo
324 static void attributesOutOfScopeCb(
void* usr);
326 virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
346 DtReserveMultipleNamesCbList myMultipleNamesReservationSucceededCbList;
347 DtReserveMultipleNamesCbList myMultipleNamesReservationFailedCbList;
350 std::list<DtFederateSaveCbInfo> myFederateSaveCbList;
351 std::list<DtLabelledFederateSaveCbInfo> myLabFederateSaveCbList;
352 std::list<DtFederateRestoreCbInfo> myFederateRestoreCbList;
353 std::list<DtLabelledFederateRestoreCbInfo> myLabFederateRestoreCbList;
355 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
356 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
357 std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
358 std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
360 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
361 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
362 std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
363 std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
365 bool myRemoveObjectOnAttOutOfScope;
368 virtual void applyFedsSynchedCallbacks(
const DtString& label);
369 virtual void applyRegistrationSucceededCallbacks(
const DtString& label);
370 virtual void applyRegistrationFailedCallbacks(
const DtString& label);
373 virtual bool applyAnnounceCallbacks(
const DtString& label,
const RTI::VariableLengthData& tag);
379 virtual void connectionLost (
380 std::wstring
const & faultDescription)
382 RTI::FederateInternalError);
385 virtual void reportFederationExecutions (
386 RTI::FederationExecutionInformationVector
const &
387 theFederationExecutionInformationList)
389 RTI::FederateInternalError);
392 virtual void synchronizationPointRegistrationSucceeded (
393 std::wstring
const & label)
395 RTI::FederateInternalError);
398 std::wstring
const & label,
399 RTI::SynchronizationPointFailureReason reason)
401 RTI::FederateInternalError);
405 std::wstring
const & label,
406 RTI::VariableLengthData
const & theUserSuppliedTag)
408 RTI::FederateInternalError);
411 virtual void federationSynchronized (
412 std::wstring
const & label,
413 RTI::FederateHandleSet
const& failedToSyncSet)
415 RTI::FederateInternalError);
419 std::wstring
const & label)
421 RTI::FederateInternalError);
424 std::wstring
const & label,
425 RTI::LogicalTime
const & theTime)
427 RTI::FederateInternalError);
430 virtual void federationSaved ()
432 RTI::FederateInternalError);
434 virtual
void federationNotSaved (
435 RTI::SaveFailureReason theSaveFailureReason)
437 RTI::FederateInternalError);
441 virtual
void federationSaveStatusResponse (
442 RTI::FederateHandleSaveStatusPairVector const &
443 theFederateStatusVector)
445 RTI::FederateInternalError);
448 virtual
void requestFederateRestoreSucceeded (
449 std::wstring const & label)
451 RTI::FederateInternalError);
453 virtual
void requestFederateRestoreFailed (
454 std::wstring const & label)
456 RTI::FederateInternalError);
459 virtual
void federationRestoreBegun ()
461 RTI::FederateInternalError);
464 virtual
void initiateFederateRestore (
465 std::wstring const & label,
466 std::wstring const & federateName,
467 RTI::FederateHandle handle)
469 RTI::FederateInternalError);
472 virtual
void federationRestored ()
474 RTI::FederateInternalError);
476 virtual
void federationNotRestored (
477 RTI::RestoreFailureReason theRestoreFailureReason)
479 RTI::FederateInternalError);
482 virtual
void federationRestoreStatusResponse (
483 RTI::FederateRestoreStatusVector const &
484 theFederateRestoreStatusVector)
486 RTI::FederateInternalError);
493 virtual
void startRegistrationForObjectClass (
494 RTI::ObjectClassHandle theClass)
496 RTI::FederateInternalError);
499 virtual
void stopRegistrationForObjectClass (
500 RTI::ObjectClassHandle theClass)
502 RTI::FederateInternalError);
505 virtual
void turnInteractionsOn (
506 RTI::InteractionClassHandle theHandle)
508 RTI::FederateInternalError);
511 virtual
void turnInteractionsOff (
512 RTI::InteractionClassHandle theHandle)
514 RTI::FederateInternalError);
521 virtual
void objectInstanceNameReservationSucceeded (
522 std::wstring const & theObjectInstanceName)
524 RTI::FederateInternalError);
526 virtual
void objectInstanceNameReservationFailed (
527 std::wstring const & theObjectInstanceName)
529 RTI::FederateInternalError);
532 virtual
void multipleObjectInstanceNameReservationSucceeded (
533 std::set<std::wstring> const & theObjectInstanceNames)
535 RTI::FederateInternalError);
537 virtual
void multipleObjectInstanceNameReservationFailed (
538 std::set<std::wstring> const & theObjectInstanceNames)
540 RTI::FederateInternalError);
544 virtual
void discoverObjectInstance (
545 RTI::ObjectInstanceHandle theObject,
546 RTI::ObjectClassHandle theObjectClass,
547 std::wstring const & theObjectInstanceName)
549 RTI::FederateInternalError);
551 virtual
void discoverObjectInstance (
552 RTI::ObjectInstanceHandle theObject,
553 RTI::ObjectClassHandle theObjectClass,
554 std::wstring const & theObjectInstanceName,
555 RTI::FederateHandle producingFederate)
557 RTI::FederateInternalError);
560 virtual
void reflectAttributeValues (
561 RTI::ObjectInstanceHandle theObject,
562 RTI::AttributeHandleValueMap const & theAttributeValues,
563 RTI::VariableLengthData const & theUserSuppliedTag,
564 RTI::OrderType sentOrder,
565 RTI::TransportationType theType,
566 RTI::SupplementalReflectInfo theReflectInfo)
568 RTI::FederateInternalError);
570 virtual
void reflectAttributeValues (
571 RTI::ObjectInstanceHandle theObject,
572 RTI::AttributeHandleValueMap const & theAttributeValues,
573 RTI::VariableLengthData const & theUserSuppliedTag,
574 RTI::OrderType sentOrder,
575 RTI::TransportationType theType,
576 RTI::LogicalTime const & theTime,
577 RTI::OrderType receivedOrder,
578 RTI::SupplementalReflectInfo theReflectInfo)
580 RTI::FederateInternalError);
582 virtual
void reflectAttributeValues (
583 RTI::ObjectInstanceHandle theObject,
584 RTI::AttributeHandleValueMap const & theAttributeValues,
585 RTI::VariableLengthData const & theUserSuppliedTag,
586 RTI::OrderType sentOrder,
587 RTI::TransportationType theType,
588 RTI::LogicalTime const & theTime,
589 RTI::OrderType receivedOrder,
590 RTI::MessageRetractionHandle theHandle,
591 RTI::SupplementalReflectInfo theReflectInfo)
593 RTI::FederateInternalError);
596 virtual
void receiveInteraction (
597 RTI::InteractionClassHandle theInteraction,
598 RTI::ParameterHandleValueMap const & theParameterValues,
599 RTI::VariableLengthData const & theUserSuppliedTag,
600 RTI::OrderType sentOrder,
601 RTI::TransportationType theType,
602 RTI::SupplementalReceiveInfo theReceiveInfo)
604 RTI::FederateInternalError);
606 virtual
void receiveInteraction (
607 RTI::InteractionClassHandle theInteraction,
608 RTI::ParameterHandleValueMap const & theParameterValues,
609 RTI::VariableLengthData const & theUserSuppliedTag,
610 RTI::OrderType sentOrder,
611 RTI::TransportationType theType,
612 RTI::LogicalTime const & theTime,
613 RTI::OrderType receivedOrder,
614 RTI::SupplementalReceiveInfo theReceiveInfo)
616 RTI::FederateInternalError);
618 virtual
void receiveInteraction (
619 RTI::InteractionClassHandle theInteraction,
620 RTI::ParameterHandleValueMap const & theParameterValues,
621 RTI::VariableLengthData const & theUserSuppliedTag,
622 RTI::OrderType sentOrder,
623 RTI::TransportationType theType,
624 RTI::LogicalTime const & theTime,
625 RTI::OrderType receivedOrder,
626 RTI::MessageRetractionHandle theHandle,
627 RTI::SupplementalReceiveInfo theReceiveInfo)
629 RTI::FederateInternalError);
632 virtual
void removeObjectInstance (
633 RTI::ObjectInstanceHandle theObject,
634 RTI::VariableLengthData const & theUserSuppliedTag,
635 RTI::OrderType sentOrder,
636 RTI::SupplementalRemoveInfo theRemoveInfo)
638 RTI::FederateInternalError);
640 virtual
void removeObjectInstance (
641 RTI::ObjectInstanceHandle theObject,
642 RTI::VariableLengthData const & theUserSuppliedTag,
643 RTI::OrderType sentOrder,
644 RTI::LogicalTime const & theTime,
645 RTI::OrderType receivedOrder,
646 RTI::SupplementalRemoveInfo theRemoveInfo)
648 RTI::FederateInternalError);
650 virtual
void removeObjectInstance (
651 RTI::ObjectInstanceHandle theObject,
652 RTI::VariableLengthData const & theUserSuppliedTag,
653 RTI::OrderType sentOrder,
654 RTI::LogicalTime const & theTime,
655 RTI::OrderType receivedOrder,
656 RTI::MessageRetractionHandle theHandle,
657 RTI::SupplementalRemoveInfo theRemoveInfo)
659 RTI::FederateInternalError);
662 virtual
void attributesInScope (
663 RTI::ObjectInstanceHandle theObject,
664 RTI::AttributeHandleSet const & theAttributes)
666 RTI::FederateInternalError);
669 virtual
void attributesOutOfScope (
670 RTI::ObjectInstanceHandle theObject,
671 RTI::AttributeHandleSet const & theAttributes)
673 RTI::FederateInternalError);
676 virtual
void provideAttributeValueUpdate (
677 RTI::ObjectInstanceHandle theObject,
678 RTI::AttributeHandleSet const & theAttributes,
679 RTI::VariableLengthData const & theUserSuppliedTag)
681 RTI::FederateInternalError);
684 virtual
void turnUpdatesOnForObjectInstance (
685 RTI::ObjectInstanceHandle theObject,
686 RTI::AttributeHandleSet const & theAttributes)
688 RTI::FederateInternalError);
690 virtual
void turnUpdatesOnForObjectInstance (
691 RTI::ObjectInstanceHandle theObject,
692 RTI::AttributeHandleSet const & theAttributes,
693 std::wstring const & updateRateDesignator)
695 RTI::FederateInternalError);
698 virtual
void turnUpdatesOffForObjectInstance (
699 RTI::ObjectInstanceHandle theObject,
700 RTI::AttributeHandleSet const & theAttributes)
702 RTI::FederateInternalError);
705 virtual
void confirmAttributeTransportationTypeChange (
706 RTI::ObjectInstanceHandle theObject,
707 RTI::AttributeHandleSet theAttributes,
708 RTI::TransportationType theTransportation)
710 RTI::FederateInternalError);
713 virtual
void reportAttributeTransportationType (
714 RTI::ObjectInstanceHandle theObject,
715 RTI::AttributeHandle theAttribute,
716 RTI::TransportationType theTransportation)
718 RTI::FederateInternalError);
721 virtual
void confirmInteractionTransportationTypeChange (
722 RTI::InteractionClassHandle theInteraction,
723 RTI::TransportationType theTransportation)
725 RTI::FederateInternalError);
728 virtual
void reportInteractionTransportationType (
729 RTI::FederateHandle federateHandle,
730 RTI::InteractionClassHandle theInteraction,
731 RTI::TransportationType theTransportation)
733 RTI::FederateInternalError);
741 virtual
void requestAttributeOwnershipAssumption (
742 RTI::ObjectInstanceHandle theObject,
743 RTI::AttributeHandleSet const & offeredAttributes,
744 RTI::VariableLengthData const & theUserSuppliedTag)
746 RTI::FederateInternalError);
749 virtual
void requestDivestitureConfirmation (
750 RTI::ObjectInstanceHandle theObject,
751 RTI::AttributeHandleSet const & releasedAttributes)
753 RTI::FederateInternalError);
756 virtual
void attributeOwnershipAcquisitionNotification (
757 RTI::ObjectInstanceHandle theObject,
758 RTI::AttributeHandleSet const & securedAttributes,
759 RTI::VariableLengthData const & theUserSuppliedTag)
761 RTI::FederateInternalError);
764 virtual
void attributeOwnershipUnavailable (
765 RTI::ObjectInstanceHandle theObject,
766 RTI::AttributeHandleSet const & theAttributes)
768 RTI::FederateInternalError);
771 virtual
void requestAttributeOwnershipRelease (
772 RTI::ObjectInstanceHandle theObject,
773 RTI::AttributeHandleSet const & candidateAttributes,
774 RTI::VariableLengthData const & theUserSuppliedTag)
776 RTI::FederateInternalError);
779 virtual
void confirmAttributeOwnershipAcquisitionCancellation (
780 RTI::ObjectInstanceHandle theObject,
781 RTI::AttributeHandleSet const & theAttributes)
783 RTI::FederateInternalError);
786 virtual
void informAttributeOwnership (
787 RTI::ObjectInstanceHandle theObject,
788 RTI::AttributeHandle theAttribute,
789 RTI::FederateHandle theOwner)
791 RTI::FederateInternalError);
793 virtual
void attributeIsNotOwned (
794 RTI::ObjectInstanceHandle theObject,
795 RTI::AttributeHandle theAttribute)
797 RTI::FederateInternalError);
799 virtual
void attributeIsOwnedByRTI (
800 RTI::ObjectInstanceHandle theObject,
801 RTI::AttributeHandle theAttribute)
803 RTI::FederateInternalError);
810 virtual
void timeRegulationEnabled (
811 RTI::LogicalTime const & theFederateTime)
813 RTI::FederateInternalError);
816 virtual
void timeConstrainedEnabled (
817 RTI::LogicalTime const & theFederateTime)
819 RTI::FederateInternalError);
822 virtual
void timeAdvanceGrant (
823 RTI::LogicalTime const & theTime)
825 RTI::FederateInternalError);
828 virtual
void requestRetraction (
829 RTI::MessageRetractionHandle theHandle)
831 RTI::FederateInternalError);
835 bool myWaitingForSave;
836 bool myWaitingForRestore;
Instances of DtRegControlCbList are used to provide a list of callbacks (DtRegControlCbInfo) which ar...
Definition: regControlCbList.h:32
virtual void announceSynchronizationPoint(std::wstring const &label, RTI::VariableLengthData const &theUserSuppliedTag)
4.8
Definition: nullFederateAmbassador1516.h:54
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtVrlFederateAmbassador are used to manage the interface between the RTI and the VR-Link...
Definition: vrlFederateAmbassador1516.h:46
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
DtRegControlCb DtStartRegCb
Definition: regControlCbList.h:24
class DtStartStopInterCbList:
Definition: startStopInterCbList.h:32
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region1516.h:29
void(* DtFederateRestoreCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador1516.h:27
void(* DtSynchPointCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador1516.h:31
void(* DtReceiveInteractionCb)(DtInteraction *inter, void *usr)
Definition: receiveInteractionCbInfo.h:23
Instances of DtReserveNameCbList are used to provide a list of callbacks which are called when the RT...
Definition: reserveNameCbList.h:30
class DtInteractionManager:
Definition: interactionManager.h:25
void(* DtFedTimeCb)(const RTI::LogicalTime &theFedTime, void *theUserData)
Definition: fedTimeCbList.h:21
Instances of DtUpdateControlCbList are used to provide a list of callbacks (DtUpdateControlCbInfo) wh...
Definition: updateControlCbList.h:33
void(* DtReserveNameCb)(const std::wstring &theName, void *theUserData)
Definition: reserveNameCbList.h:22
virtual void synchronizationPointRegistrationFailed(std::wstring const &label, RTI::SynchronizationFailureReason reason)
Definition: nullFederateAmbassador1516.h:47
class DtFedTimeCbList:
Definition: fedTimeCbList.h:35
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
Definition: nullFederateAmbassador1516.h:21
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.
void(* DtFederateSaveCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador1516.h:23
void(* DtConnectionLostCb)(const std::wstring &faultDescription, void *theUserData)
Definition: connectionLostCbList.h:21
Instances of DtConnectionLostCbList are used to provide a list of callbacks which are called when the...
Definition: connectionLostCbList.h:29
virtual void initiateFederateSave(std::wstring const &label, RTI::LogicalTime const &theTime)
Definition: nullFederateAmbassador1516.h:73
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22
void(* DtAnnounceSynchPointCb)(const char *label, const RTI::VariableLengthData &tag, void *usr)
Definition: vrlFederateAmbassador1516.h:35