40 typedef DtRtiAmbassadorImplementor*
41 (*DtRtiAmbassadorImplementorCreator)(RTI::RTIambassador* topLevelAmbPtr);
46 DtRtiAmbassadorImplementor(RTI::RTIambassador* topLevelAmbPtr)
49 RTI::RTIinternalError);
54 virtual ~DtRtiAmbassadorImplementor();
59 DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor
const& );
62 DtRtiAmbassadorImplementor&
operator= (DtRtiAmbassadorImplementor
const& );
67 virtual void createFederationExecution (
68 const char *executionName,
71 RTI::FederationExecutionAlreadyExists,
74 RTI::ConcurrentAccessAttempted,
75 RTI::RTIinternalError);
78 virtual void destroyFederationExecution (
79 const char *executionName)
81 RTI::FederatesCurrentlyJoined,
82 RTI::FederationExecutionDoesNotExist,
83 RTI::ConcurrentAccessAttempted,
84 RTI::RTIinternalError);
87 virtual RTI::FederateHandle joinFederationExecution (
89 const char *executionName,
90 RTI::FederateAmbassador* federateAmbassadorReference,
93 RTI::FederateAlreadyExecutionMember,
94 RTI::FederationExecutionDoesNotExist,
97 RTI::ConcurrentAccessAttempted,
99 RTI::RestoreInProgress,
100 RTI::RTIinternalError);
103 virtual void resignFederationExecution (
106 RTI::FederateOwnsAttributes,
107 RTI::FederateNotExecutionMember,
108 RTI::InvalidResignAction,
109 RTI::ConcurrentAccessAttempted,
110 RTI::RTIinternalError);
113 virtual void registerFederationSynchronizationPoint (
118 RTI::FederateNotExecutionMember,
119 RTI::ConcurrentAccessAttempted,
121 RTI::RestoreInProgress,
122 RTI::RTIinternalError);
124 virtual void registerFederationSynchronizationPoint (
129 RTI::FederateNotExecutionMember,
130 RTI::ConcurrentAccessAttempted,
132 RTI::RestoreInProgress,
133 RTI::RTIinternalError);
137 virtual void synchronizationPointAchieved (
140 RTI::SynchronizationPointLabelWasNotAnnounced,
141 RTI::FederateNotExecutionMember,
142 RTI::ConcurrentAccessAttempted,
144 RTI::RestoreInProgress,
145 RTI::RTIinternalError);
148 virtual void requestFederationSave (
151 const RTI::FedTime& theTime)
153 RTI::FederationTimeAlreadyPassed,
154 RTI::InvalidFederationTime,
155 RTI::FederateNotExecutionMember,
156 RTI::ConcurrentAccessAttempted,
158 RTI::RestoreInProgress,
159 RTI::RTIinternalError);
161 virtual void requestFederationSave (
164 RTI::FederateNotExecutionMember,
165 RTI::ConcurrentAccessAttempted,
167 RTI::RestoreInProgress,
168 RTI::RTIinternalError);
172 virtual void federateSaveBegun ()
174 RTI::SaveNotInitiated,
175 RTI::FederateNotExecutionMember,
176 RTI::ConcurrentAccessAttempted,
177 RTI::RestoreInProgress,
178 RTI::RTIinternalError);
181 virtual
void federateSaveComplete ()
184 RTI::SaveNotInitiated,
185 RTI::FederateNotExecutionMember,
186 RTI::ConcurrentAccessAttempted,
187 RTI::RestoreInProgress,
188 RTI::RTIinternalError);
190 virtual
void federateSaveNotComplete ()
192 RTI::SaveNotInitiated,
193 RTI::FederateNotExecutionMember,
194 RTI::ConcurrentAccessAttempted,
195 RTI::RestoreInProgress,
196 RTI::RTIinternalError);
200 virtual
void requestFederationRestore (
203 RTI::FederateNotExecutionMember,
204 RTI::ConcurrentAccessAttempted,
206 RTI::RestoreInProgress,
207 RTI::RTIinternalError);
210 virtual
void federateRestoreComplete ()
213 RTI::RestoreNotRequested,
214 RTI::FederateNotExecutionMember,
215 RTI::ConcurrentAccessAttempted,
217 RTI::RTIinternalError);
219 virtual
void federateRestoreNotComplete ()
221 RTI::RestoreNotRequested,
222 RTI::FederateNotExecutionMember,
223 RTI::ConcurrentAccessAttempted,
225 RTI::RTIinternalError);
233 virtual
void publishObjectClass (
234 RTI::ObjectClassHandle theClass,
237 RTI::ObjectClassNotDefined,
238 RTI::AttributeNotDefined,
239 RTI::OwnershipAcquisitionPending,
240 RTI::FederateNotExecutionMember,
241 RTI::ConcurrentAccessAttempted,
243 RTI::RestoreInProgress,
244 RTI::RTIinternalError);
247 virtual
void unpublishObjectClass (
248 RTI::ObjectClassHandle theClass)
250 RTI::ObjectClassNotDefined,
251 RTI::ObjectClassNotPublished,
252 RTI::OwnershipAcquisitionPending,
253 RTI::FederateNotExecutionMember,
254 RTI::ConcurrentAccessAttempted,
256 RTI::RestoreInProgress,
257 RTI::RTIinternalError);
260 virtual
void publishInteractionClass (
261 RTI::InteractionClassHandle theInteraction)
263 RTI::InteractionClassNotDefined,
264 RTI::FederateNotExecutionMember,
265 RTI::ConcurrentAccessAttempted,
267 RTI::RestoreInProgress,
268 RTI::RTIinternalError);
271 virtual
void unpublishInteractionClass (
272 RTI::InteractionClassHandle theInteraction)
274 RTI::InteractionClassNotDefined,
275 RTI::InteractionClassNotPublished,
276 RTI::FederateNotExecutionMember,
277 RTI::ConcurrentAccessAttempted,
279 RTI::RestoreInProgress,
280 RTI::RTIinternalError);
283 virtual
void subscribeObjectClassAttributes (
284 RTI::ObjectClassHandle theClass,
286 RTI::Boolean active = RTI::RTI_TRUE)
288 RTI::ObjectClassNotDefined,
289 RTI::AttributeNotDefined,
290 RTI::FederateNotExecutionMember,
291 RTI::ConcurrentAccessAttempted,
293 RTI::RestoreInProgress,
294 RTI::RTIinternalError);
297 virtual
void unsubscribeObjectClass (
298 RTI::ObjectClassHandle theClass)
300 RTI::ObjectClassNotDefined,
301 RTI::ObjectClassNotSubscribed,
302 RTI::FederateNotExecutionMember,
303 RTI::ConcurrentAccessAttempted,
305 RTI::RestoreInProgress,
306 RTI::RTIinternalError);
309 virtual
void subscribeInteractionClass (
310 RTI::InteractionClassHandle theClass,
311 RTI::Boolean active = RTI::RTI_TRUE)
313 RTI::InteractionClassNotDefined,
314 RTI::FederateNotExecutionMember,
315 RTI::ConcurrentAccessAttempted,
316 RTI::FederateLoggingServiceCalls,
318 RTI::RestoreInProgress,
319 RTI::RTIinternalError);
322 virtual
void unsubscribeInteractionClass (
323 RTI::InteractionClassHandle theClass)
325 RTI::InteractionClassNotDefined,
326 RTI::InteractionClassNotSubscribed,
327 RTI::FederateNotExecutionMember,
328 RTI::ConcurrentAccessAttempted,
330 RTI::RestoreInProgress,
331 RTI::RTIinternalError);
338 virtual RTI::ObjectHandle registerObjectInstance (
340 RTI::ObjectClassHandle theClass,
341 const
char *theObject)
343 RTI::ObjectClassNotDefined,
344 RTI::ObjectClassNotPublished,
345 RTI::ObjectAlreadyRegistered,
346 RTI::FederateNotExecutionMember,
347 RTI::ConcurrentAccessAttempted,
349 RTI::RestoreInProgress,
350 RTI::RTIinternalError);
352 virtual RTI::ObjectHandle registerObjectInstance (
353 RTI::ObjectClassHandle theClass)
355 RTI::ObjectClassNotDefined,
356 RTI::ObjectClassNotPublished,
357 RTI::FederateNotExecutionMember,
358 RTI::ConcurrentAccessAttempted,
360 RTI::RestoreInProgress,
361 RTI::RTIinternalError);
365 virtual RTI::EventRetractionHandle updateAttributeValues (
367 RTI::ObjectHandle theObject,
368 const RTI::AttributeHandleValuePairSet& theAttributes,
369 const RTI::FedTime& theTime,
373 RTI::AttributeNotDefined,
374 RTI::AttributeNotOwned,
375 RTI::InvalidFederationTime,
376 RTI::FederateNotExecutionMember,
377 RTI::ConcurrentAccessAttempted,
379 RTI::RestoreInProgress,
380 RTI::RTIinternalError);
382 virtual
void updateAttributeValues (
383 RTI::ObjectHandle theObject,
384 const RTI::AttributeHandleValuePairSet& theAttributes,
388 RTI::AttributeNotDefined,
389 RTI::AttributeNotOwned,
390 RTI::FederateNotExecutionMember,
391 RTI::ConcurrentAccessAttempted,
393 RTI::RestoreInProgress,
394 RTI::RTIinternalError);
398 virtual RTI::EventRetractionHandle sendInteraction (
400 RTI::InteractionClassHandle theInteraction,
401 const RTI::ParameterHandleValuePairSet& theParameters,
402 const RTI::FedTime& theTime,
405 RTI::InteractionClassNotDefined,
406 RTI::InteractionClassNotPublished,
407 RTI::InteractionParameterNotDefined,
408 RTI::InvalidFederationTime,
409 RTI::FederateNotExecutionMember,
410 RTI::ConcurrentAccessAttempted,
412 RTI::RestoreInProgress,
413 RTI::RTIinternalError);
415 virtual
void sendInteraction (
416 RTI::InteractionClassHandle theInteraction,
417 const RTI::ParameterHandleValuePairSet& theParameters,
420 RTI::InteractionClassNotDefined,
421 RTI::InteractionClassNotPublished,
422 RTI::InteractionParameterNotDefined,
423 RTI::FederateNotExecutionMember,
424 RTI::ConcurrentAccessAttempted,
426 RTI::RestoreInProgress,
427 RTI::RTIinternalError);
431 virtual RTI::EventRetractionHandle deleteObjectInstance (
433 RTI::ObjectHandle theObject,
434 const RTI::FedTime& theTime,
438 RTI::DeletePrivilegeNotHeld,
439 RTI::InvalidFederationTime,
440 RTI::FederateNotExecutionMember,
441 RTI::ConcurrentAccessAttempted,
443 RTI::RestoreInProgress,
444 RTI::RTIinternalError);
446 virtual
void deleteObjectInstance (
447 RTI::ObjectHandle theObject,
451 RTI::DeletePrivilegeNotHeld,
452 RTI::FederateNotExecutionMember,
453 RTI::ConcurrentAccessAttempted,
455 RTI::RestoreInProgress,
456 RTI::RTIinternalError);
460 virtual
void localDeleteObjectInstance (
461 RTI::ObjectHandle theObject)
464 RTI::FederateOwnsAttributes,
465 RTI::FederateNotExecutionMember,
466 RTI::ConcurrentAccessAttempted,
468 RTI::RestoreInProgress,
469 RTI::RTIinternalError);
472 virtual
void changeAttributeTransportationType (
473 RTI::ObjectHandle theObject,
475 RTI::TransportationHandle theType)
478 RTI::AttributeNotDefined,
479 RTI::AttributeNotOwned,
480 RTI::InvalidTransportationHandle,
481 RTI::FederateNotExecutionMember,
482 RTI::ConcurrentAccessAttempted,
484 RTI::RestoreInProgress,
485 RTI::RTIinternalError);
488 virtual
void changeInteractionTransportationType (
489 RTI::InteractionClassHandle theClass,
490 RTI::TransportationHandle theType)
492 RTI::InteractionClassNotDefined,
493 RTI::InteractionClassNotPublished,
494 RTI::InvalidTransportationHandle,
495 RTI::FederateNotExecutionMember,
496 RTI::ConcurrentAccessAttempted,
498 RTI::RestoreInProgress,
499 RTI::RTIinternalError);
502 virtual
void requestObjectAttributeValueUpdate (
504 RTI::ObjectHandle theObject,
508 RTI::AttributeNotDefined,
509 RTI::FederateNotExecutionMember,
510 RTI::ConcurrentAccessAttempted,
512 RTI::RestoreInProgress,
513 RTI::RTIinternalError);
515 virtual
void requestClassAttributeValueUpdate (
516 RTI::ObjectClassHandle theClass,
519 RTI::ObjectClassNotDefined,
520 RTI::AttributeNotDefined,
521 RTI::FederateNotExecutionMember,
522 RTI::ConcurrentAccessAttempted,
524 RTI::RestoreInProgress,
525 RTI::RTIinternalError);
533 virtual
void unconditionalAttributeOwnershipDivestiture (
534 RTI::ObjectHandle theObject,
538 RTI::AttributeNotDefined,
539 RTI::AttributeNotOwned,
540 RTI::FederateNotExecutionMember,
541 RTI::ConcurrentAccessAttempted,
543 RTI::RestoreInProgress,
544 RTI::RTIinternalError);
547 virtual
void negotiatedAttributeOwnershipDivestiture (
548 RTI::ObjectHandle theObject,
553 RTI::AttributeNotDefined,
554 RTI::AttributeNotOwned,
555 RTI::AttributeAlreadyBeingDivested,
556 RTI::FederateNotExecutionMember,
557 RTI::ConcurrentAccessAttempted,
559 RTI::RestoreInProgress,
560 RTI::RTIinternalError);
563 virtual
void attributeOwnershipAcquisition (
564 RTI::ObjectHandle theObject,
569 RTI::ObjectClassNotPublished,
570 RTI::AttributeNotDefined,
571 RTI::AttributeNotPublished,
572 RTI::FederateOwnsAttributes,
573 RTI::FederateNotExecutionMember,
574 RTI::ConcurrentAccessAttempted,
576 RTI::RestoreInProgress,
577 RTI::RTIinternalError);
580 virtual
void attributeOwnershipAcquisitionIfAvailable (
581 RTI::ObjectHandle theObject,
585 RTI::ObjectClassNotPublished,
586 RTI::AttributeNotDefined,
587 RTI::AttributeNotPublished,
588 RTI::FederateOwnsAttributes,
589 RTI::AttributeAlreadyBeingAcquired,
590 RTI::FederateNotExecutionMember,
591 RTI::ConcurrentAccessAttempted,
593 RTI::RestoreInProgress,
594 RTI::RTIinternalError);
598 RTI::ObjectHandle theObject,
602 RTI::AttributeNotDefined,
603 RTI::AttributeNotOwned,
604 RTI::FederateWasNotAskedToReleaseAttribute,
605 RTI::FederateNotExecutionMember,
606 RTI::ConcurrentAccessAttempted,
608 RTI::RestoreInProgress,
609 RTI::RTIinternalError);
612 virtual
void cancelNegotiatedAttributeOwnershipDivestiture (
613 RTI::ObjectHandle theObject,
617 RTI::AttributeNotDefined,
618 RTI::AttributeNotOwned,
619 RTI::AttributeDivestitureWasNotRequested,
620 RTI::FederateNotExecutionMember,
621 RTI::ConcurrentAccessAttempted,
623 RTI::RestoreInProgress,
624 RTI::RTIinternalError);
627 virtual
void cancelAttributeOwnershipAcquisition (
628 RTI::ObjectHandle theObject,
632 RTI::AttributeNotDefined,
633 RTI::AttributeAlreadyOwned,
634 RTI::AttributeAcquisitionWasNotRequested,
635 RTI::FederateNotExecutionMember,
636 RTI::ConcurrentAccessAttempted,
638 RTI::RestoreInProgress,
639 RTI::RTIinternalError);
642 virtual
void queryAttributeOwnership (
643 RTI::ObjectHandle theObject,
644 RTI::AttributeHandle theAttribute)
647 RTI::AttributeNotDefined,
648 RTI::FederateNotExecutionMember,
649 RTI::ConcurrentAccessAttempted,
651 RTI::RestoreInProgress,
652 RTI::RTIinternalError);
655 virtual RTI::Boolean isAttributeOwnedByFederate (
656 RTI::ObjectHandle theObject,
657 RTI::AttributeHandle theAttribute)
660 RTI::AttributeNotDefined,
661 RTI::FederateNotExecutionMember,
662 RTI::ConcurrentAccessAttempted,
664 RTI::RestoreInProgress,
665 RTI::RTIinternalError);
672 virtual
void enableTimeRegulation (
673 const RTI::FedTime& theFederateTime,
674 const RTI::FedTime& theLookahead)
676 RTI::TimeRegulationAlreadyEnabled,
677 RTI::EnableTimeRegulationPending,
678 RTI::TimeAdvanceAlreadyInProgress,
679 RTI::InvalidFederationTime,
680 RTI::InvalidLookahead,
681 RTI::ConcurrentAccessAttempted,
682 RTI::FederateNotExecutionMember,
684 RTI::RestoreInProgress,
685 RTI::RTIinternalError);
688 virtual
void disableTimeRegulation ()
690 RTI::TimeRegulationWasNotEnabled,
691 RTI::ConcurrentAccessAttempted,
692 RTI::FederateNotExecutionMember,
694 RTI::RestoreInProgress,
695 RTI::RTIinternalError);
698 virtual
void enableTimeConstrained ()
700 RTI::TimeConstrainedAlreadyEnabled,
701 RTI::EnableTimeConstrainedPending,
702 RTI::TimeAdvanceAlreadyInProgress,
703 RTI::FederateNotExecutionMember,
704 RTI::ConcurrentAccessAttempted,
706 RTI::RestoreInProgress,
707 RTI::RTIinternalError);
710 virtual
void disableTimeConstrained ()
712 RTI::TimeConstrainedWasNotEnabled,
713 RTI::FederateNotExecutionMember,
714 RTI::ConcurrentAccessAttempted,
716 RTI::RestoreInProgress,
717 RTI::RTIinternalError);
720 virtual
void timeAdvanceRequest (
721 const RTI::FedTime& theTime)
723 RTI::InvalidFederationTime,
724 RTI::FederationTimeAlreadyPassed,
725 RTI::TimeAdvanceAlreadyInProgress,
726 RTI::EnableTimeRegulationPending,
727 RTI::EnableTimeConstrainedPending,
728 RTI::FederateNotExecutionMember,
729 RTI::ConcurrentAccessAttempted,
731 RTI::RestoreInProgress,
732 RTI::RTIinternalError);
735 virtual
void timeAdvanceRequestAvailable (
736 const RTI::FedTime& theTime)
738 RTI::InvalidFederationTime,
739 RTI::FederationTimeAlreadyPassed,
740 RTI::TimeAdvanceAlreadyInProgress,
741 RTI::EnableTimeRegulationPending,
742 RTI::EnableTimeConstrainedPending,
743 RTI::FederateNotExecutionMember,
744 RTI::ConcurrentAccessAttempted,
746 RTI::RestoreInProgress,
747 RTI::RTIinternalError);
750 virtual
void nextEventRequest (
751 const RTI::FedTime& theTime)
753 RTI::InvalidFederationTime,
754 RTI::FederationTimeAlreadyPassed,
755 RTI::TimeAdvanceAlreadyInProgress,
756 RTI::EnableTimeRegulationPending,
757 RTI::EnableTimeConstrainedPending,
758 RTI::FederateNotExecutionMember,
759 RTI::ConcurrentAccessAttempted,
761 RTI::RestoreInProgress,
762 RTI::RTIinternalError);
765 virtual
void nextEventRequestAvailable (
766 const RTI::FedTime& theTime)
768 RTI::InvalidFederationTime,
769 RTI::FederationTimeAlreadyPassed,
770 RTI::TimeAdvanceAlreadyInProgress,
771 RTI::EnableTimeRegulationPending,
772 RTI::EnableTimeConstrainedPending,
773 RTI::FederateNotExecutionMember,
774 RTI::ConcurrentAccessAttempted,
776 RTI::RestoreInProgress,
777 RTI::RTIinternalError);
780 virtual
void flushQueueRequest (
781 const RTI::FedTime& theTime)
783 RTI::InvalidFederationTime,
784 RTI::FederationTimeAlreadyPassed,
785 RTI::TimeAdvanceAlreadyInProgress,
786 RTI::EnableTimeRegulationPending,
787 RTI::EnableTimeConstrainedPending,
788 RTI::FederateNotExecutionMember,
789 RTI::ConcurrentAccessAttempted,
791 RTI::RestoreInProgress,
792 RTI::RTIinternalError);
795 virtual
void enableAsynchronousDelivery()
797 RTI::AsynchronousDeliveryAlreadyEnabled,
798 RTI::FederateNotExecutionMember,
799 RTI::ConcurrentAccessAttempted,
801 RTI::RestoreInProgress,
802 RTI::RTIinternalError);
805 virtual
void disableAsynchronousDelivery()
807 RTI::AsynchronousDeliveryAlreadyDisabled,
808 RTI::FederateNotExecutionMember,
809 RTI::ConcurrentAccessAttempted,
811 RTI::RestoreInProgress,
812 RTI::RTIinternalError);
815 virtual
void queryLBTS (
816 RTI::FedTime& theTime)
818 RTI::FederateNotExecutionMember,
819 RTI::ConcurrentAccessAttempted,
821 RTI::RestoreInProgress,
822 RTI::RTIinternalError);
825 virtual
void queryFederateTime (
826 RTI::FedTime& theTime)
828 RTI::FederateNotExecutionMember,
829 RTI::ConcurrentAccessAttempted,
831 RTI::RestoreInProgress,
832 RTI::RTIinternalError);
835 virtual
void queryMinNextEventTime (
836 RTI::FedTime& theTime)
838 RTI::FederateNotExecutionMember,
839 RTI::ConcurrentAccessAttempted,
841 RTI::RestoreInProgress,
842 RTI::RTIinternalError);
845 virtual
void modifyLookahead (
846 const RTI::FedTime& theLookahead)
848 RTI::InvalidLookahead,
849 RTI::FederateNotExecutionMember,
850 RTI::ConcurrentAccessAttempted,
852 RTI::RestoreInProgress,
853 RTI::RTIinternalError);
856 virtual
void queryLookahead (
857 RTI::FedTime& theTime)
859 RTI::FederateNotExecutionMember,
860 RTI::ConcurrentAccessAttempted,
862 RTI::RestoreInProgress,
863 RTI::RTIinternalError);
866 virtual
void retract (
867 RTI::EventRetractionHandle theHandle)
869 RTI::InvalidRetractionHandle,
870 RTI::FederateNotExecutionMember,
871 RTI::ConcurrentAccessAttempted,
873 RTI::RestoreInProgress,
874 RTI::RTIinternalError);
877 virtual
void changeAttributeOrderType (
878 RTI::ObjectHandle theObject,
880 RTI::OrderingHandle theType)
883 RTI::AttributeNotDefined,
884 RTI::AttributeNotOwned,
885 RTI::InvalidOrderingHandle,
886 RTI::FederateNotExecutionMember,
887 RTI::ConcurrentAccessAttempted,
889 RTI::RestoreInProgress,
890 RTI::RTIinternalError);
893 virtual
void changeInteractionOrderType (
894 RTI::InteractionClassHandle theClass,
895 RTI::OrderingHandle theType)
897 RTI::InteractionClassNotDefined,
898 RTI::InteractionClassNotPublished,
899 RTI::InvalidOrderingHandle,
900 RTI::FederateNotExecutionMember,
901 RTI::ConcurrentAccessAttempted,
903 RTI::RestoreInProgress,
904 RTI::RTIinternalError);
911 virtual RTI::Region* createRegion (
912 RTI::SpaceHandle theSpace,
913 RTI::ULong numberOfExtents)
915 RTI::SpaceNotDefined,
917 RTI::FederateNotExecutionMember,
918 RTI::ConcurrentAccessAttempted,
920 RTI::RestoreInProgress,
921 RTI::RTIinternalError);
924 virtual
void notifyAboutRegionModification (
925 RTI::Region &theRegion)
929 RTI::FederateNotExecutionMember,
930 RTI::ConcurrentAccessAttempted,
932 RTI::RestoreInProgress,
933 RTI::RTIinternalError);
936 virtual
void deleteRegion (
937 RTI::Region *theRegion)
941 RTI::FederateNotExecutionMember,
942 RTI::ConcurrentAccessAttempted,
944 RTI::RestoreInProgress,
945 RTI::RTIinternalError);
948 virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
950 RTI::ObjectClassHandle theClass,
951 const
char *theObject,
952 RTI::AttributeHandle theAttributes[],
953 RTI::Region *theRegions[],
954 RTI::ULong theNumberOfHandles)
956 RTI::ObjectClassNotDefined,
957 RTI::ObjectClassNotPublished,
958 RTI::AttributeNotDefined,
959 RTI::AttributeNotPublished,
961 RTI::InvalidRegionContext,
962 RTI::ObjectAlreadyRegistered,
963 RTI::FederateNotExecutionMember,
964 RTI::ConcurrentAccessAttempted,
966 RTI::RestoreInProgress,
967 RTI::RTIinternalError);
969 virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
970 RTI::ObjectClassHandle theClass,
971 RTI::AttributeHandle theAttributes[],
972 RTI::Region *theRegions[],
973 RTI::ULong theNumberOfHandles)
975 RTI::ObjectClassNotDefined,
976 RTI::ObjectClassNotPublished,
977 RTI::AttributeNotDefined,
978 RTI::AttributeNotPublished,
980 RTI::InvalidRegionContext,
981 RTI::FederateNotExecutionMember,
982 RTI::ConcurrentAccessAttempted,
984 RTI::RestoreInProgress,
985 RTI::RTIinternalError);
989 virtual
void associateRegionForUpdates (
990 RTI::Region &theRegion,
991 RTI::ObjectHandle theObject,
995 RTI::AttributeNotDefined,
996 RTI::InvalidRegionContext,
998 RTI::FederateNotExecutionMember,
999 RTI::ConcurrentAccessAttempted,
1000 RTI::SaveInProgress,
1001 RTI::RestoreInProgress,
1002 RTI::RTIinternalError);
1005 virtual
void unassociateRegionForUpdates (
1006 RTI::Region &theRegion,
1007 RTI::ObjectHandle theObject)
1009 RTI::ObjectNotKnown,
1010 RTI::InvalidRegionContext,
1011 RTI::RegionNotKnown,
1012 RTI::FederateNotExecutionMember,
1013 RTI::ConcurrentAccessAttempted,
1014 RTI::SaveInProgress,
1015 RTI::RestoreInProgress,
1016 RTI::RTIinternalError);
1019 virtual
void subscribeObjectClassAttributesWithRegion (
1020 RTI::ObjectClassHandle theClass,
1021 RTI::Region &theRegion,
1023 RTI::Boolean active = RTI::RTI_TRUE)
1025 RTI::ObjectClassNotDefined,
1026 RTI::AttributeNotDefined,
1027 RTI::RegionNotKnown,
1028 RTI::InvalidRegionContext,
1029 RTI::FederateNotExecutionMember,
1030 RTI::ConcurrentAccessAttempted,
1031 RTI::SaveInProgress,
1032 RTI::RestoreInProgress,
1033 RTI::RTIinternalError);
1036 virtual
void unsubscribeObjectClassWithRegion (
1037 RTI::ObjectClassHandle theClass,
1038 RTI::Region &theRegion)
1040 RTI::ObjectClassNotDefined,
1041 RTI::RegionNotKnown,
1042 RTI::ObjectClassNotSubscribed,
1043 RTI::FederateNotExecutionMember,
1044 RTI::ConcurrentAccessAttempted,
1045 RTI::SaveInProgress,
1046 RTI::RestoreInProgress,
1047 RTI::RTIinternalError);
1050 virtual
void subscribeInteractionClassWithRegion (
1051 RTI::InteractionClassHandle theClass,
1052 RTI::Region &theRegion,
1053 RTI::Boolean active = RTI::RTI_TRUE)
1055 RTI::InteractionClassNotDefined,
1056 RTI::RegionNotKnown,
1057 RTI::InvalidRegionContext,
1058 RTI::FederateLoggingServiceCalls,
1059 RTI::FederateNotExecutionMember,
1060 RTI::ConcurrentAccessAttempted,
1061 RTI::SaveInProgress,
1062 RTI::RestoreInProgress,
1063 RTI::RTIinternalError);
1066 virtual
void unsubscribeInteractionClassWithRegion (
1067 RTI::InteractionClassHandle theClass,
1068 RTI::Region &theRegion)
1070 RTI::InteractionClassNotDefined,
1071 RTI::InteractionClassNotSubscribed,
1072 RTI::RegionNotKnown,
1073 RTI::FederateNotExecutionMember,
1074 RTI::ConcurrentAccessAttempted,
1075 RTI::SaveInProgress,
1076 RTI::RestoreInProgress,
1077 RTI::RTIinternalError);
1080 virtual RTI::EventRetractionHandle sendInteractionWithRegion (
1082 RTI::InteractionClassHandle theInteraction,
1083 const RTI::ParameterHandleValuePairSet &theParameters,
1084 const RTI::FedTime& theTime,
1086 const RTI::Region &theRegion)
1088 RTI::InteractionClassNotDefined,
1089 RTI::InteractionClassNotPublished,
1090 RTI::InteractionParameterNotDefined,
1091 RTI::InvalidFederationTime,
1092 RTI::RegionNotKnown,
1093 RTI::InvalidRegionContext,
1094 RTI::FederateNotExecutionMember,
1095 RTI::ConcurrentAccessAttempted,
1096 RTI::SaveInProgress,
1097 RTI::RestoreInProgress,
1098 RTI::RTIinternalError);
1100 virtual
void sendInteractionWithRegion (
1101 RTI::InteractionClassHandle theInteraction,
1102 const RTI::ParameterHandleValuePairSet &theParameters,
1104 const RTI::Region &theRegion)
1106 RTI::InteractionClassNotDefined,
1107 RTI::InteractionClassNotPublished,
1108 RTI::InteractionParameterNotDefined,
1109 RTI::RegionNotKnown,
1110 RTI::InvalidRegionContext,
1111 RTI::FederateNotExecutionMember,
1112 RTI::ConcurrentAccessAttempted,
1113 RTI::SaveInProgress,
1114 RTI::RestoreInProgress,
1115 RTI::RTIinternalError);
1119 virtual
void requestClassAttributeValueUpdateWithRegion (
1120 RTI::ObjectClassHandle theClass,
1122 const RTI::Region &theRegion)
1124 RTI::ObjectClassNotDefined,
1125 RTI::AttributeNotDefined,
1126 RTI::RegionNotKnown,
1127 RTI::FederateNotExecutionMember,
1128 RTI::ConcurrentAccessAttempted,
1129 RTI::SaveInProgress,
1130 RTI::RestoreInProgress,
1131 RTI::RTIinternalError);
1138 virtual RTI::ObjectClassHandle getObjectClassHandle (
1139 const
char *theName)
1142 RTI::FederateNotExecutionMember,
1143 RTI::ConcurrentAccessAttempted,
1144 RTI::RTIinternalError);
1147 virtual
char * getObjectClassName (
1148 RTI::ObjectClassHandle theHandle)
1150 RTI::ObjectClassNotDefined,
1151 RTI::FederateNotExecutionMember,
1152 RTI::ConcurrentAccessAttempted,
1153 RTI::RTIinternalError);
1156 virtual RTI::AttributeHandle getAttributeHandle (
1157 const
char *theName,
1158 RTI::ObjectClassHandle whichClass)
1160 RTI::ObjectClassNotDefined,
1162 RTI::FederateNotExecutionMember,
1163 RTI::ConcurrentAccessAttempted,
1164 RTI::RTIinternalError);
1167 virtual
char * getAttributeName (
1168 RTI::AttributeHandle theHandle,
1169 RTI::ObjectClassHandle whichClass)
1171 RTI::ObjectClassNotDefined,
1172 RTI::AttributeNotDefined,
1173 RTI::FederateNotExecutionMember,
1174 RTI::ConcurrentAccessAttempted,
1175 RTI::RTIinternalError);
1178 virtual RTI::InteractionClassHandle getInteractionClassHandle (
1179 const
char *theName)
1182 RTI::FederateNotExecutionMember,
1183 RTI::ConcurrentAccessAttempted,
1184 RTI::RTIinternalError);
1187 virtual
char * getInteractionClassName (
1188 RTI::InteractionClassHandle theHandle)
1190 RTI::InteractionClassNotDefined,
1191 RTI::FederateNotExecutionMember,
1192 RTI::ConcurrentAccessAttempted,
1193 RTI::RTIinternalError);
1196 virtual RTI::ParameterHandle getParameterHandle (
1197 const
char *theName,
1198 RTI::InteractionClassHandle whichClass)
1200 RTI::InteractionClassNotDefined,
1202 RTI::FederateNotExecutionMember,
1203 RTI::ConcurrentAccessAttempted,
1204 RTI::RTIinternalError);
1207 virtual
char * getParameterName (
1208 RTI::ParameterHandle theHandle,
1209 RTI::InteractionClassHandle whichClass)
1211 RTI::InteractionClassNotDefined,
1212 RTI::InteractionParameterNotDefined,
1213 RTI::FederateNotExecutionMember,
1214 RTI::ConcurrentAccessAttempted,
1215 RTI::RTIinternalError);
1218 virtual RTI::ObjectHandle getObjectInstanceHandle (
1219 const
char *theName)
1221 RTI::ObjectNotKnown,
1222 RTI::FederateNotExecutionMember,
1223 RTI::ConcurrentAccessAttempted,
1224 RTI::RTIinternalError);
1227 virtual
char * getObjectInstanceName (
1228 RTI::ObjectHandle theHandle)
1230 RTI::ObjectNotKnown,
1231 RTI::FederateNotExecutionMember,
1232 RTI::ConcurrentAccessAttempted,
1233 RTI::RTIinternalError);
1236 virtual RTI::SpaceHandle getRoutingSpaceHandle (
1237 const
char *theName)
1240 RTI::FederateNotExecutionMember,
1241 RTI::ConcurrentAccessAttempted,
1242 RTI::RTIinternalError);
1245 virtual
char * getRoutingSpaceName (
1246 RTI::SpaceHandle theHandle)
1248 RTI::SpaceNotDefined,
1249 RTI::FederateNotExecutionMember,
1250 RTI::ConcurrentAccessAttempted,
1251 RTI::RTIinternalError);
1254 virtual RTI::DimensionHandle getDimensionHandle (
1255 const
char *theName,
1256 RTI::SpaceHandle whichSpace)
1258 RTI::SpaceNotDefined,
1260 RTI::FederateNotExecutionMember,
1261 RTI::ConcurrentAccessAttempted,
1262 RTI::RTIinternalError);
1265 virtual
char * getDimensionName (
1266 RTI::DimensionHandle theHandle,
1267 RTI::SpaceHandle whichSpace)
1269 RTI::SpaceNotDefined,
1270 RTI::DimensionNotDefined,
1271 RTI::FederateNotExecutionMember,
1272 RTI::ConcurrentAccessAttempted,
1273 RTI::RTIinternalError);
1276 virtual RTI::SpaceHandle getAttributeRoutingSpaceHandle (
1277 RTI::AttributeHandle theHandle,
1278 RTI::ObjectClassHandle whichClass)
1280 RTI::ObjectClassNotDefined,
1281 RTI::AttributeNotDefined,
1282 RTI::FederateNotExecutionMember,
1283 RTI::ConcurrentAccessAttempted,
1284 RTI::RTIinternalError);
1287 virtual RTI::ObjectClassHandle getObjectClass (
1288 RTI::ObjectHandle theObject)
1290 RTI::ObjectNotKnown,
1291 RTI::FederateNotExecutionMember,
1292 RTI::ConcurrentAccessAttempted,
1293 RTI::RTIinternalError);
1296 virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle (
1297 RTI::InteractionClassHandle theHandle)
1299 RTI::InteractionClassNotDefined,
1300 RTI::FederateNotExecutionMember,
1301 RTI::ConcurrentAccessAttempted,
1302 RTI::RTIinternalError);
1305 virtual RTI::TransportationHandle getTransportationHandle (
1306 const
char *theName)
1309 RTI::FederateNotExecutionMember,
1310 RTI::ConcurrentAccessAttempted,
1311 RTI::RTIinternalError);
1314 virtual
char * getTransportationName (
1315 RTI::TransportationHandle theHandle)
1317 RTI::InvalidTransportationHandle,
1318 RTI::FederateNotExecutionMember,
1319 RTI::ConcurrentAccessAttempted,
1320 RTI::RTIinternalError);
1323 virtual RTI::OrderingHandle getOrderingHandle (
1324 const
char *theName)
1327 RTI::FederateNotExecutionMember,
1328 RTI::ConcurrentAccessAttempted,
1329 RTI::RTIinternalError);
1332 virtual
char * getOrderingName (
1333 RTI::OrderingHandle theHandle)
1335 RTI::InvalidOrderingHandle,
1336 RTI::FederateNotExecutionMember,
1337 RTI::ConcurrentAccessAttempted,
1338 RTI::RTIinternalError);
1341 virtual
void enableClassRelevanceAdvisorySwitch()
1343 RTI::FederateNotExecutionMember,
1344 RTI::ConcurrentAccessAttempted,
1345 RTI::SaveInProgress,
1346 RTI::RestoreInProgress,
1347 RTI::RTIinternalError);
1350 virtual
void disableClassRelevanceAdvisorySwitch()
1352 RTI::FederateNotExecutionMember,
1353 RTI::ConcurrentAccessAttempted,
1354 RTI::SaveInProgress,
1355 RTI::RestoreInProgress,
1356 RTI::RTIinternalError);
1359 virtual
void enableAttributeRelevanceAdvisorySwitch()
1361 RTI::FederateNotExecutionMember,
1362 RTI::ConcurrentAccessAttempted,
1363 RTI::SaveInProgress,
1364 RTI::RestoreInProgress,
1365 RTI::RTIinternalError);
1368 virtual
void disableAttributeRelevanceAdvisorySwitch()
1370 RTI::FederateNotExecutionMember,
1371 RTI::ConcurrentAccessAttempted,
1372 RTI::SaveInProgress,
1373 RTI::RestoreInProgress,
1374 RTI::RTIinternalError);
1377 virtual
void enableAttributeScopeAdvisorySwitch()
1379 RTI::FederateNotExecutionMember,
1380 RTI::ConcurrentAccessAttempted,
1381 RTI::SaveInProgress,
1382 RTI::RestoreInProgress,
1383 RTI::RTIinternalError);
1386 virtual
void disableAttributeScopeAdvisorySwitch()
1388 RTI::FederateNotExecutionMember,
1389 RTI::ConcurrentAccessAttempted,
1390 RTI::SaveInProgress,
1391 RTI::RestoreInProgress,
1392 RTI::RTIinternalError);
1395 virtual
void enableInteractionRelevanceAdvisorySwitch()
1397 RTI::FederateNotExecutionMember,
1398 RTI::ConcurrentAccessAttempted,
1399 RTI::SaveInProgress,
1400 RTI::RestoreInProgress,
1401 RTI::RTIinternalError);
1404 virtual
void disableInteractionRelevanceAdvisorySwitch()
1406 RTI::FederateNotExecutionMember,
1407 RTI::ConcurrentAccessAttempted,
1408 RTI::SaveInProgress,
1409 RTI::RestoreInProgress,
1410 RTI::RTIinternalError);
1412 virtual RTI::Boolean tick ()
1414 RTI::SpecifiedSaveLabelDoesNotExist,
1415 RTI::ConcurrentAccessAttempted,
1416 RTI::RTIinternalError);
1418 virtual RTI::Boolean tick (
1419 RTI::TickTime minimum,
1420 RTI::TickTime maximum,
1421 RTI::Boolean unlockWhileWaiting=RTI::RTI_FALSE)
1423 RTI::SpecifiedSaveLabelDoesNotExist,
1424 RTI::ConcurrentAccessAttempted,
1425 RTI::RTIinternalError);
1427 virtual RTI::RegionToken getRegionToken(
1430 RTI::FederateNotExecutionMember,
1431 RTI::ConcurrentAccessAttempted,
1432 RTI::RegionNotKnown,
1433 RTI::RTIinternalError);
1435 virtual RTI::Region * getRegion(
1438 RTI::FederateNotExecutionMember,
1439 RTI::ConcurrentAccessAttempted,
1440 RTI::RegionNotKnown,
1441 RTI::RTIinternalError);
1453 static DtRtiAmbassadorImplementor* create(RTI::RTIambassador* topLevelAmbPtr);
1458 static
void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
1463 virtual
void throwInternalError(const MAKRti::DtString & errorMessage) const;
1466 virtual
void throwNotConnected(const MAKRti::DtString & errorMessage) const;
1469 virtual
void throwNotJoined(const MAKRti::DtString & errorMessage) const;
1474 RTI::RTIambassador* myTopLevelAmb;
1477 bool myAccessingRtiAmb;
1482 static DtRtiAmbassadorImplementorCreator theCreator;
1486 class DtConcurrentAccessCheck
1490 DtConcurrentAccessCheck(
bool* accessFlag)
1492 myAccessFlag = accessFlag;
1493 if(theAccessCheckRequired)
1497 throw RTI::ConcurrentAccessAttempted(
"Concurrent RTIambassador access attempted.");
1499 *myAccessFlag =
true;
1503 ~DtConcurrentAccessCheck()
1505 *myAccessFlag =
false;
1508 static void checkForConcurrentAccess(
bool check)
1510 theAccessCheckRequired = check;
1519 static bool theAccessCheckRequired;
1522 DtConcurrentAccessCheck(
const DtConcurrentAccessCheck& orig);
1523 DtConcurrentAccessCheck&
operator=(
const DtConcurrentAccessCheck& orig);
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:49
DtRtiAmbassadorBaseImplementor & operator=(const DtRtiAmbassadorBaseImplementor &)
Assignment not implemented – Assignment Not Allowed!
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:29
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
ResignAction
Definition: Enums.h:19
Contains the DtRtiAmbassadorBaseImplementor class declaration.