14 #if DtHLA_1516_EVOLVED
29 const RTI::VariableLengthData& tag,
40 struct DtScopeChangeCallbackData
43 RTI::ObjectInstanceHandle handle;
49 throw (RTI::FederateInternalError);
75 virtual
void addReflectAttributeValuesCb(
77 virtual
void removeReflectAttributeValuesCb(
82 virtual
void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
84 virtual
void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
89 virtual
void addRemoveObjectCb( RTI::ObjectInstanceHandle
id,
91 virtual
void removeRemoveObjectCb( RTI::ObjectInstanceHandle
id,
96 virtual
void addStartRegCb( RTI::ObjectClassHandle hand,
98 virtual
void removeStartRegCb( RTI::ObjectClassHandle hand,
103 virtual
void addStopRegCb( RTI::ObjectClassHandle hand,
105 virtual
void removeStopRegCb( RTI::ObjectClassHandle hand,
110 virtual
void addUpdatesOnCb( RTI::ObjectInstanceHandle hand,
112 virtual
void removeUpdatesOnCb( RTI::ObjectInstanceHandle hand,
117 virtual
void addUpdatesOffCb( RTI::ObjectInstanceHandle hand,
119 virtual
void removeUpdatesOffCb( RTI::ObjectInstanceHandle hand,
124 virtual
void addStartInteractionsCb( RTI::InteractionClassHandle hand,
126 virtual
void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
131 virtual
void addStopInteractionsCb( RTI::InteractionClassHandle hand,
133 virtual
void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
138 virtual
void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
140 virtual
void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
145 virtual
void addTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
146 virtual
void removeTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
150 virtual
void addTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
151 virtual
void removeTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
155 virtual
void addTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
156 virtual
void removeTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
160 virtual
void addNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
161 virtual
void removeNameReservationSucceeded( DtReserveNameCb cb,
void* usr );
165 virtual
void addNameReservationFailed( DtReserveNameCb cb,
void* usr );
166 virtual
void removeNameReservationFailed( DtReserveNameCb cb,
void* usr );
171 virtual
void addMultipleNameReservationSucceeded( DtReserveMultipleNamesCb cb,
void* usr );
172 virtual
void removeNameReservationSucceeded( DtReserveMultipleNamesCb,
void* usr );
176 virtual
void addMultipleNameReservationFailed( DtReserveMultipleNamesCb cb,
void* usr );
177 virtual
void removeMultipleNameReservationFailed( DtReserveMultipleNamesCb,
void* usr );
180 virtual
void addSynchPointRegSucceededCb(const
DtString& label,
185 virtual
void removeSynchPointRegSucceededCb(const
DtString& label,
190 virtual
void addSynchPointRegFailedCb(const
DtString& label,
195 virtual
void removeSynchPointRegFailedCb(const
DtString& label,
200 virtual
void addFederationSynchedCb(const
DtString& label,
205 virtual
void removeFederationSynchedCb(const
DtString& label,
210 virtual
void addAnnounceSynchPointCb(const
DtString& label,
215 virtual
void removeAnnounceSynchPointCb(const
DtString& label,
220 virtual
void setRemoveObjectOnAttOutOfScope(
bool remove);
221 virtual
bool removeObjectOnAttOutOfScope() const;
223 virtual
void addConnectionLostCb( DtConnectionLostCb func,
void* usr );
224 virtual
void removeConnectionLostCb(DtConnectionLostCb func,
void* usr );
226 #if DtHLA_1516_EVOLVED
228 virtual DtString getFederateNameFromHandle(
const RTI::FederateHandle&)
const;
235 struct DtGeneralSynchPointCbInfo
241 struct DtLabelledSynchPointCbInfo
248 struct DtGeneralAnnounceCbInfo
254 struct DtLabelledAnnounceCbInfo
261 static void attributesOutOfScopeCb(
void* usr);
263 virtual void processAttributesOutOfScope(RTI::ObjectInstanceHandle handle);
279 DtConnectionLostCbList myConnectionLostCbList;
280 DtReserveNameCbList myNameReservationSucceededCbList;
281 DtReserveNameCbList myNameReservationFailedCbList;
283 DtReserveMultipleNamesCbList myMultipleNamesReservationSucceededCbList;
284 DtReserveMultipleNamesCbList myMultipleNamesReservationFailedCbList;
287 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegSucceededCbList;
288 std::list<DtLabelledSynchPointCbInfo> myLabSynchPtRegFailedCbList;
289 std::list<DtLabelledSynchPointCbInfo> myLabFederationSynchedCbList;
290 std::list<DtLabelledAnnounceCbInfo> myLabAnnounceSynchPointCbList;
292 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegSucceededCbList;
293 std::list<DtGeneralSynchPointCbInfo> mySynchPtRegFailedCbList;
294 std::list<DtGeneralSynchPointCbInfo> myFederationSynchedCbList;
295 std::list<DtGeneralAnnounceCbInfo> myAnnounceSynchPointCbList;
297 bool myRemoveObjectOnAttOutOfScope;
300 virtual void applyFedsSynchedCallbacks(
const DtString& label);
301 virtual void applyRegistrationSucceededCallbacks(
const DtString& label);
302 virtual void applyRegistrationFailedCallbacks(
const DtString& label);
305 virtual bool applyAnnounceCallbacks(
const DtString& label,
const RTI::VariableLengthData& tag);
311 virtual void connectionLost (
312 std::wstring
const & faultDescription)
314 RTI::FederateInternalError);
317 virtual void reportFederationExecutions (
318 RTI::FederationExecutionInformationVector
const &
319 theFederationExecutionInformationList)
321 RTI::FederateInternalError);
325 std::wstring
const & label)
327 RTI::FederateInternalError);
330 std::wstring
const & label,
331 RTI::SynchronizationPointFailureReason reason)
333 RTI::FederateInternalError);
337 std::wstring
const & label,
338 RTI::VariableLengthData
const & theUserSuppliedTag)
340 RTI::FederateInternalError);
344 std::wstring
const & label,
345 RTI::FederateHandleSet
const& failedToSyncSet)
347 RTI::FederateInternalError);
351 std::wstring
const & label)
353 RTI::FederateInternalError);
356 std::wstring
const & label,
357 RTI::LogicalTime
const & theTime)
359 RTI::FederateInternalError);
364 RTI::FederateInternalError);
366 virtual
void federationNotSaved (
367 RTI::SaveFailureReason theSaveFailureReason)
369 RTI::FederateInternalError);
373 virtual
void federationSaveStatusResponse (
374 RTI::FederateHandleSaveStatusPairVector const &
375 theFederateStatusVector)
377 RTI::FederateInternalError);
380 virtual
void requestFederationRestoreSucceeded (
381 std::wstring const & label)
383 RTI::FederateInternalError);
385 virtual
void requestFederationRestoreFailed (
386 std::wstring const & label)
388 RTI::FederateInternalError);
391 virtual
void federationRestoreBegun ()
393 RTI::FederateInternalError);
396 virtual
void initiateFederateRestore (
397 std::wstring const & label,
398 std::wstring const & federateName,
399 RTI::FederateHandle handle)
401 RTI::FederateInternalError);
404 virtual
void federationRestored ()
406 RTI::FederateInternalError);
408 virtual
void federationNotRestored (
409 RTI::RestoreFailureReason theRestoreFailureReason)
411 RTI::FederateInternalError);
414 virtual
void federationRestoreStatusResponse (
415 RTI::FederateRestoreStatusVector const &
416 theFederateRestoreStatusVector)
418 RTI::FederateInternalError);
425 virtual
void startRegistrationForObjectClass (
426 RTI::ObjectClassHandle theClass)
428 RTI::FederateInternalError);
431 virtual
void stopRegistrationForObjectClass (
432 RTI::ObjectClassHandle theClass)
434 RTI::FederateInternalError);
437 virtual
void turnInteractionsOn (
438 RTI::InteractionClassHandle theHandle)
440 RTI::FederateInternalError);
443 virtual
void turnInteractionsOff (
444 RTI::InteractionClassHandle theHandle)
446 RTI::FederateInternalError);
453 virtual
void objectInstanceNameReservationSucceeded (
454 std::wstring const & theObjectInstanceName)
456 RTI::FederateInternalError);
458 virtual
void objectInstanceNameReservationFailed (
459 std::wstring const & theObjectInstanceName)
461 RTI::FederateInternalError);
464 virtual
void multipleObjectInstanceNameReservationSucceeded (
465 std::set<std::wstring> const & theObjectInstanceNames)
467 RTI::FederateInternalError);
469 virtual
void multipleObjectInstanceNameReservationFailed (
470 std::set<std::wstring> const & theObjectInstanceNames)
472 RTI::FederateInternalError);
476 virtual
void discoverObjectInstance (
477 RTI::ObjectInstanceHandle theObject,
478 RTI::ObjectClassHandle theObjectClass,
479 std::wstring const & theObjectInstanceName)
481 RTI::FederateInternalError);
483 virtual
void discoverObjectInstance (
484 RTI::ObjectInstanceHandle theObject,
485 RTI::ObjectClassHandle theObjectClass,
486 std::wstring const & theObjectInstanceName,
487 RTI::FederateHandle producingFederate)
489 RTI::FederateInternalError);
492 virtual
void reflectAttributeValues (
493 RTI::ObjectInstanceHandle theObject,
494 RTI::AttributeHandleValueMap const & theAttributeValues,
495 RTI::VariableLengthData const & theUserSuppliedTag,
496 RTI::OrderType sentOrder,
497 RTI::TransportationType theType,
498 RTI::SupplementalReflectInfo theReflectInfo)
500 RTI::FederateInternalError);
502 virtual
void reflectAttributeValues (
503 RTI::ObjectInstanceHandle theObject,
504 RTI::AttributeHandleValueMap const & theAttributeValues,
505 RTI::VariableLengthData const & theUserSuppliedTag,
506 RTI::OrderType sentOrder,
507 RTI::TransportationType theType,
508 RTI::LogicalTime const & theTime,
509 RTI::OrderType receivedOrder,
510 RTI::SupplementalReflectInfo theReflectInfo)
512 RTI::FederateInternalError);
514 virtual
void reflectAttributeValues (
515 RTI::ObjectInstanceHandle theObject,
516 RTI::AttributeHandleValueMap const & theAttributeValues,
517 RTI::VariableLengthData const & theUserSuppliedTag,
518 RTI::OrderType sentOrder,
519 RTI::TransportationType theType,
520 RTI::LogicalTime const & theTime,
521 RTI::OrderType receivedOrder,
522 RTI::MessageRetractionHandle theHandle,
523 RTI::SupplementalReflectInfo theReflectInfo)
525 RTI::FederateInternalError);
528 virtual
void receiveInteraction (
529 RTI::InteractionClassHandle theInteraction,
530 RTI::ParameterHandleValueMap const & theParameterValues,
531 RTI::VariableLengthData const & theUserSuppliedTag,
532 RTI::OrderType sentOrder,
533 RTI::TransportationType theType,
534 RTI::SupplementalReceiveInfo theReceiveInfo)
536 RTI::FederateInternalError);
538 virtual
void receiveInteraction (
539 RTI::InteractionClassHandle theInteraction,
540 RTI::ParameterHandleValueMap const & theParameterValues,
541 RTI::VariableLengthData const & theUserSuppliedTag,
542 RTI::OrderType sentOrder,
543 RTI::TransportationType theType,
544 RTI::LogicalTime const & theTime,
545 RTI::OrderType receivedOrder,
546 RTI::SupplementalReceiveInfo theReceiveInfo)
548 RTI::FederateInternalError);
550 virtual
void receiveInteraction (
551 RTI::InteractionClassHandle theInteraction,
552 RTI::ParameterHandleValueMap const & theParameterValues,
553 RTI::VariableLengthData const & theUserSuppliedTag,
554 RTI::OrderType sentOrder,
555 RTI::TransportationType theType,
556 RTI::LogicalTime const & theTime,
557 RTI::OrderType receivedOrder,
558 RTI::MessageRetractionHandle theHandle,
559 RTI::SupplementalReceiveInfo theReceiveInfo)
561 RTI::FederateInternalError);
564 virtual
void removeObjectInstance (
565 RTI::ObjectInstanceHandle theObject,
566 RTI::VariableLengthData const & theUserSuppliedTag,
567 RTI::OrderType sentOrder,
568 RTI::SupplementalRemoveInfo theRemoveInfo)
570 RTI::FederateInternalError);
572 virtual
void removeObjectInstance (
573 RTI::ObjectInstanceHandle theObject,
574 RTI::VariableLengthData const & theUserSuppliedTag,
575 RTI::OrderType sentOrder,
576 RTI::LogicalTime const & theTime,
577 RTI::OrderType receivedOrder,
578 RTI::SupplementalRemoveInfo theRemoveInfo)
580 RTI::FederateInternalError);
582 virtual
void removeObjectInstance (
583 RTI::ObjectInstanceHandle theObject,
584 RTI::VariableLengthData const & theUserSuppliedTag,
585 RTI::OrderType sentOrder,
586 RTI::LogicalTime const & theTime,
587 RTI::OrderType receivedOrder,
588 RTI::MessageRetractionHandle theHandle,
589 RTI::SupplementalRemoveInfo theRemoveInfo)
591 RTI::FederateInternalError);
594 virtual
void attributesInScope (
595 RTI::ObjectInstanceHandle theObject,
596 RTI::AttributeHandleSet const & theAttributes)
598 RTI::FederateInternalError);
601 virtual
void attributesOutOfScope (
602 RTI::ObjectInstanceHandle theObject,
603 RTI::AttributeHandleSet const & theAttributes)
605 RTI::FederateInternalError);
608 virtual
void provideAttributeValueUpdate (
609 RTI::ObjectInstanceHandle theObject,
610 RTI::AttributeHandleSet const & theAttributes,
611 RTI::VariableLengthData const & theUserSuppliedTag)
613 RTI::FederateInternalError);
616 virtual
void turnUpdatesOnForObjectInstance (
617 RTI::ObjectInstanceHandle theObject,
618 RTI::AttributeHandleSet const & theAttributes)
620 RTI::FederateInternalError);
622 virtual
void turnUpdatesOnForObjectInstance (
623 RTI::ObjectInstanceHandle theObject,
624 RTI::AttributeHandleSet const & theAttributes,
625 std::wstring const & updateRateDesignator)
627 RTI::FederateInternalError);
630 virtual
void turnUpdatesOffForObjectInstance (
631 RTI::ObjectInstanceHandle theObject,
632 RTI::AttributeHandleSet const & theAttributes)
634 RTI::FederateInternalError);
637 virtual
void confirmAttributeTransportationTypeChange (
638 RTI::ObjectInstanceHandle theObject,
639 RTI::AttributeHandleSet theAttributes,
640 RTI::TransportationType theTransportation)
642 RTI::FederateInternalError);
645 virtual
void reportAttributeTransportationType (
646 RTI::ObjectInstanceHandle theObject,
647 RTI::AttributeHandle theAttribute,
648 RTI::TransportationType theTransportation)
650 RTI::FederateInternalError);
653 virtual
void confirmInteractionTransportationTypeChange (
654 RTI::InteractionClassHandle theInteraction,
655 RTI::TransportationType theTransportation)
657 RTI::FederateInternalError);
660 virtual
void reportInteractionTransportationType (
661 RTI::FederateHandle federateHandle,
662 RTI::InteractionClassHandle theInteraction,
663 RTI::TransportationType theTransportation)
665 RTI::FederateInternalError);
673 virtual
void requestAttributeOwnershipAssumption (
674 RTI::ObjectInstanceHandle theObject,
675 RTI::AttributeHandleSet const & offeredAttributes,
676 RTI::VariableLengthData const & theUserSuppliedTag)
678 RTI::FederateInternalError);
681 virtual
void requestDivestitureConfirmation (
682 RTI::ObjectInstanceHandle theObject,
683 RTI::AttributeHandleSet const & releasedAttributes)
685 RTI::FederateInternalError);
688 virtual
void attributeOwnershipAcquisitionNotification (
689 RTI::ObjectInstanceHandle theObject,
690 RTI::AttributeHandleSet const & securedAttributes,
691 RTI::VariableLengthData const & theUserSuppliedTag)
693 RTI::FederateInternalError);
696 virtual
void attributeOwnershipUnavailable (
697 RTI::ObjectInstanceHandle theObject,
698 RTI::AttributeHandleSet const & theAttributes)
700 RTI::FederateInternalError);
703 virtual
void requestAttributeOwnershipRelease (
704 RTI::ObjectInstanceHandle theObject,
705 RTI::AttributeHandleSet const & candidateAttributes,
706 RTI::VariableLengthData const & theUserSuppliedTag)
708 RTI::FederateInternalError);
711 virtual
void confirmAttributeOwnershipAcquisitionCancellation (
712 RTI::ObjectInstanceHandle theObject,
713 RTI::AttributeHandleSet const & theAttributes)
715 RTI::FederateInternalError);
718 virtual
void informAttributeOwnership (
719 RTI::ObjectInstanceHandle theObject,
720 RTI::AttributeHandle theAttribute,
721 RTI::FederateHandle theOwner)
723 RTI::FederateInternalError);
725 virtual
void attributeIsNotOwned (
726 RTI::ObjectInstanceHandle theObject,
727 RTI::AttributeHandle theAttribute)
729 RTI::FederateInternalError);
731 virtual
void attributeIsOwnedByRTI (
732 RTI::ObjectInstanceHandle theObject,
733 RTI::AttributeHandle theAttribute)
735 RTI::FederateInternalError);
742 virtual
void timeRegulationEnabled (
743 RTI::LogicalTime const & theFederateTime)
745 RTI::FederateInternalError);
748 virtual
void timeConstrainedEnabled (
749 RTI::LogicalTime const & theFederateTime)
751 RTI::FederateInternalError);
754 virtual
void timeAdvanceGrant (
755 RTI::LogicalTime const & theTime)
757 RTI::FederateInternalError);
760 virtual
void requestRetraction (
761 RTI::MessageRetractionHandle theHandle)
763 RTI::FederateInternalError);