![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2011 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #ifdef DtIFSPEC13 00012 00013 #include "rtiMsConfig.h" 00014 #include "ambImpBase.h" 00015 #ifdef DtIFSPEC13DLC 00016 #include "RTI13.h" 00017 #else 00018 #include "RTI.hh" 00019 #endif 00020 00021 #ifdef DtIFSPEC13DLC 00022 #define RTI rti13 00023 #endif 00024 00035 class DT_DLL_LRC DtRtiAmbassadorImplementor : public DtRtiAmbassadorBaseImplementor 00036 { 00037 public: 00038 00040 typedef DtRtiAmbassadorImplementor* 00041 (*DtRtiAmbassadorImplementorCreator)(RTI::RTIambassador* topLevelAmbPtr); 00042 00043 protected: 00044 00046 DtRtiAmbassadorImplementor(RTI::RTIambassador* topLevelAmbPtr) 00047 throw ( 00048 RTI::MemoryExhausted, 00049 RTI::RTIinternalError); 00050 00051 public: 00052 00054 virtual ~DtRtiAmbassadorImplementor() 00055 throw (RTI::RTIinternalError); 00056 00057 private: 00058 00060 DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor const& ); 00061 00063 DtRtiAmbassadorImplementor& operator= (DtRtiAmbassadorImplementor const& ); 00064 00065 public: 00066 00068 virtual void createFederationExecution ( 00069 const char *executionName, 00070 const char *FED) 00071 throw ( 00072 RTI::FederationExecutionAlreadyExists, 00073 RTI::CouldNotOpenFED, 00074 RTI::ErrorReadingFED, 00075 RTI::ConcurrentAccessAttempted, 00076 RTI::RTIinternalError); 00077 00079 virtual void destroyFederationExecution ( 00080 const char *executionName) 00081 throw ( 00082 RTI::FederatesCurrentlyJoined, 00083 RTI::FederationExecutionDoesNotExist, 00084 RTI::ConcurrentAccessAttempted, 00085 RTI::RTIinternalError); 00086 00088 virtual RTI::FederateHandle joinFederationExecution ( 00089 const char *yourName, 00090 const char *executionName, 00091 RTI::FederateAmbassador* federateAmbassadorReference, 00092 unsigned long flags) 00093 throw ( 00094 RTI::FederateAlreadyExecutionMember, 00095 RTI::FederationExecutionDoesNotExist, 00096 RTI::CouldNotOpenFED, 00097 RTI::ErrorReadingFED, 00098 RTI::ConcurrentAccessAttempted, 00099 RTI::SaveInProgress, 00100 RTI::RestoreInProgress, 00101 RTI::RTIinternalError); 00102 00104 virtual void resignFederationExecution ( 00105 RTI::ResignAction theAction) 00106 throw ( 00107 RTI::FederateOwnsAttributes, 00108 RTI::FederateNotExecutionMember, 00109 RTI::InvalidResignAction, 00110 RTI::ConcurrentAccessAttempted, 00111 RTI::RTIinternalError); 00112 00114 00115 virtual void registerFederationSynchronizationPoint ( 00116 const char *label, 00117 const char *theTag) 00118 throw ( 00119 RTI::FederateNotExecutionMember, 00120 RTI::ConcurrentAccessAttempted, 00121 RTI::SaveInProgress, 00122 RTI::RestoreInProgress, 00123 RTI::RTIinternalError); 00124 00125 virtual void registerFederationSynchronizationPoint ( 00126 const char *label, 00127 const char *theTag, 00128 const RTI::FederateHandleSet& syncSet) 00129 throw ( 00130 RTI::FederateNotExecutionMember, 00131 RTI::ConcurrentAccessAttempted, 00132 RTI::SaveInProgress, 00133 RTI::RestoreInProgress, 00134 RTI::RTIinternalError); 00136 00138 virtual void synchronizationPointAchieved ( 00139 const char *label) 00140 throw ( 00141 RTI::SynchronizationPointLabelWasNotAnnounced, 00142 RTI::FederateNotExecutionMember, 00143 RTI::ConcurrentAccessAttempted, 00144 RTI::SaveInProgress, 00145 RTI::RestoreInProgress, 00146 RTI::RTIinternalError); 00147 00149 00150 virtual void requestFederationSave ( 00151 const char *label, 00152 const RTI::FedTime& theTime) 00153 throw ( 00154 RTI::FederationTimeAlreadyPassed, 00155 RTI::InvalidFederationTime, 00156 RTI::FederateNotExecutionMember, 00157 RTI::ConcurrentAccessAttempted, 00158 RTI::SaveInProgress, 00159 RTI::RestoreInProgress, 00160 RTI::RTIinternalError); 00161 00162 virtual void requestFederationSave ( 00163 const char *label) 00164 throw ( 00165 RTI::FederateNotExecutionMember, 00166 RTI::ConcurrentAccessAttempted, 00167 RTI::SaveInProgress, 00168 RTI::RestoreInProgress, 00169 RTI::RTIinternalError); 00171 00173 virtual void federateSaveBegun () 00174 throw ( 00175 RTI::SaveNotInitiated, 00176 RTI::FederateNotExecutionMember, 00177 RTI::ConcurrentAccessAttempted, 00178 RTI::RestoreInProgress, 00179 RTI::RTIinternalError); 00180 00182 00183 virtual void federateSaveComplete () 00184 throw ( 00185 RTI::SaveNotInitiated, 00186 RTI::FederateNotExecutionMember, 00187 RTI::ConcurrentAccessAttempted, 00188 RTI::RestoreInProgress, 00189 RTI::RTIinternalError); 00190 00191 virtual void federateSaveNotComplete () 00192 throw ( 00193 RTI::SaveNotInitiated, 00194 RTI::FederateNotExecutionMember, 00195 RTI::ConcurrentAccessAttempted, 00196 RTI::RestoreInProgress, 00197 RTI::RTIinternalError); 00199 00201 virtual void requestFederationRestore ( 00202 const char *label) 00203 throw ( 00204 RTI::FederateNotExecutionMember, 00205 RTI::ConcurrentAccessAttempted, 00206 RTI::SaveInProgress, 00207 RTI::RestoreInProgress, 00208 RTI::RTIinternalError); 00209 00211 00212 virtual void federateRestoreComplete () 00213 throw ( 00214 RTI::RestoreNotRequested, 00215 RTI::FederateNotExecutionMember, 00216 RTI::ConcurrentAccessAttempted, 00217 RTI::SaveInProgress, 00218 RTI::RTIinternalError); 00219 00220 virtual void federateRestoreNotComplete () 00221 throw ( 00222 RTI::RestoreNotRequested, 00223 RTI::FederateNotExecutionMember, 00224 RTI::ConcurrentAccessAttempted, 00225 RTI::SaveInProgress, 00226 RTI::RTIinternalError); 00228 00229 //----------------------------------- 00231 //---------------------------------- 00232 00234 virtual void publishObjectClass ( 00235 RTI::ObjectClassHandle theClass, 00236 const RTI::AttributeHandleSet& attributeList) 00237 throw ( 00238 RTI::ObjectClassNotDefined, 00239 RTI::AttributeNotDefined, 00240 RTI::OwnershipAcquisitionPending, 00241 RTI::FederateNotExecutionMember, 00242 RTI::ConcurrentAccessAttempted, 00243 RTI::SaveInProgress, 00244 RTI::RestoreInProgress, 00245 RTI::RTIinternalError); 00246 00248 virtual void unpublishObjectClass ( 00249 RTI::ObjectClassHandle theClass) 00250 throw ( 00251 RTI::ObjectClassNotDefined, 00252 RTI::ObjectClassNotPublished, 00253 RTI::OwnershipAcquisitionPending, 00254 RTI::FederateNotExecutionMember, 00255 RTI::ConcurrentAccessAttempted, 00256 RTI::SaveInProgress, 00257 RTI::RestoreInProgress, 00258 RTI::RTIinternalError); 00259 00261 virtual void publishInteractionClass ( 00262 RTI::InteractionClassHandle theInteraction) 00263 throw ( 00264 RTI::InteractionClassNotDefined, 00265 RTI::FederateNotExecutionMember, 00266 RTI::ConcurrentAccessAttempted, 00267 RTI::SaveInProgress, 00268 RTI::RestoreInProgress, 00269 RTI::RTIinternalError); 00270 00272 virtual void unpublishInteractionClass ( 00273 RTI::InteractionClassHandle theInteraction) 00274 throw ( 00275 RTI::InteractionClassNotDefined, 00276 RTI::InteractionClassNotPublished, 00277 RTI::FederateNotExecutionMember, 00278 RTI::ConcurrentAccessAttempted, 00279 RTI::SaveInProgress, 00280 RTI::RestoreInProgress, 00281 RTI::RTIinternalError); 00282 00284 virtual void subscribeObjectClassAttributes ( 00285 RTI::ObjectClassHandle theClass, 00286 const RTI::AttributeHandleSet& attributeList, 00287 RTI::Boolean active = RTI::RTI_TRUE) 00288 throw ( 00289 RTI::ObjectClassNotDefined, 00290 RTI::AttributeNotDefined, 00291 RTI::FederateNotExecutionMember, 00292 RTI::ConcurrentAccessAttempted, 00293 RTI::SaveInProgress, 00294 RTI::RestoreInProgress, 00295 RTI::RTIinternalError); 00296 00298 virtual void unsubscribeObjectClass ( 00299 RTI::ObjectClassHandle theClass) 00300 throw ( 00301 RTI::ObjectClassNotDefined, 00302 RTI::ObjectClassNotSubscribed, 00303 RTI::FederateNotExecutionMember, 00304 RTI::ConcurrentAccessAttempted, 00305 RTI::SaveInProgress, 00306 RTI::RestoreInProgress, 00307 RTI::RTIinternalError); 00308 00310 virtual void subscribeInteractionClass ( 00311 RTI::InteractionClassHandle theClass, 00312 RTI::Boolean active = RTI::RTI_TRUE) 00313 throw ( 00314 RTI::InteractionClassNotDefined, 00315 RTI::FederateNotExecutionMember, 00316 RTI::ConcurrentAccessAttempted, 00317 RTI::FederateLoggingServiceCalls, 00318 RTI::SaveInProgress, 00319 RTI::RestoreInProgress, 00320 RTI::RTIinternalError); 00321 00323 virtual void unsubscribeInteractionClass ( 00324 RTI::InteractionClassHandle theClass) 00325 throw ( 00326 RTI::InteractionClassNotDefined, 00327 RTI::InteractionClassNotSubscribed, 00328 RTI::FederateNotExecutionMember, 00329 RTI::ConcurrentAccessAttempted, 00330 RTI::SaveInProgress, 00331 RTI::RestoreInProgress, 00332 RTI::RTIinternalError); 00333 00334 //------------------------------- 00336 //------------------------------- 00337 00339 00340 virtual RTI::ObjectHandle registerObjectInstance ( 00341 RTI::ObjectClassHandle theClass, 00342 const char *theObject) 00343 throw ( 00344 RTI::ObjectClassNotDefined, 00345 RTI::ObjectClassNotPublished, 00346 RTI::ObjectAlreadyRegistered, 00347 RTI::FederateNotExecutionMember, 00348 RTI::ConcurrentAccessAttempted, 00349 RTI::SaveInProgress, 00350 RTI::RestoreInProgress, 00351 RTI::RTIinternalError); 00352 00353 virtual RTI::ObjectHandle registerObjectInstance ( 00354 RTI::ObjectClassHandle theClass) 00355 throw ( 00356 RTI::ObjectClassNotDefined, 00357 RTI::ObjectClassNotPublished, 00358 RTI::FederateNotExecutionMember, 00359 RTI::ConcurrentAccessAttempted, 00360 RTI::SaveInProgress, 00361 RTI::RestoreInProgress, 00362 RTI::RTIinternalError); 00364 00366 00367 virtual RTI::EventRetractionHandle updateAttributeValues ( 00368 RTI::ObjectHandle theObject, 00369 const RTI::AttributeHandleValuePairSet& theAttributes, 00370 const RTI::FedTime& theTime, 00371 const char *theTag) 00372 throw ( 00373 RTI::ObjectNotKnown, 00374 RTI::AttributeNotDefined, 00375 RTI::AttributeNotOwned, 00376 RTI::InvalidFederationTime, 00377 RTI::FederateNotExecutionMember, 00378 RTI::ConcurrentAccessAttempted, 00379 RTI::SaveInProgress, 00380 RTI::RestoreInProgress, 00381 RTI::RTIinternalError); 00382 00383 virtual void updateAttributeValues ( 00384 RTI::ObjectHandle theObject, 00385 const RTI::AttributeHandleValuePairSet& theAttributes, 00386 const char *theTag) 00387 throw ( 00388 RTI::ObjectNotKnown, 00389 RTI::AttributeNotDefined, 00390 RTI::AttributeNotOwned, 00391 RTI::FederateNotExecutionMember, 00392 RTI::ConcurrentAccessAttempted, 00393 RTI::SaveInProgress, 00394 RTI::RestoreInProgress, 00395 RTI::RTIinternalError); 00397 00399 00400 virtual RTI::EventRetractionHandle sendInteraction ( 00401 RTI::InteractionClassHandle theInteraction, 00402 const RTI::ParameterHandleValuePairSet& theParameters, 00403 const RTI::FedTime& theTime, 00404 const char *theTag) 00405 throw ( 00406 RTI::InteractionClassNotDefined, 00407 RTI::InteractionClassNotPublished, 00408 RTI::InteractionParameterNotDefined, 00409 RTI::InvalidFederationTime, 00410 RTI::FederateNotExecutionMember, 00411 RTI::ConcurrentAccessAttempted, 00412 RTI::SaveInProgress, 00413 RTI::RestoreInProgress, 00414 RTI::RTIinternalError); 00415 00416 virtual void sendInteraction ( 00417 RTI::InteractionClassHandle theInteraction, 00418 const RTI::ParameterHandleValuePairSet& theParameters, 00419 const char *theTag) 00420 throw ( 00421 RTI::InteractionClassNotDefined, 00422 RTI::InteractionClassNotPublished, 00423 RTI::InteractionParameterNotDefined, 00424 RTI::FederateNotExecutionMember, 00425 RTI::ConcurrentAccessAttempted, 00426 RTI::SaveInProgress, 00427 RTI::RestoreInProgress, 00428 RTI::RTIinternalError); 00430 00432 00433 virtual RTI::EventRetractionHandle deleteObjectInstance ( 00434 RTI::ObjectHandle theObject, 00435 const RTI::FedTime& theTime, 00436 const char *theTag) 00437 throw ( 00438 RTI::ObjectNotKnown, 00439 RTI::DeletePrivilegeNotHeld, 00440 RTI::InvalidFederationTime, 00441 RTI::FederateNotExecutionMember, 00442 RTI::ConcurrentAccessAttempted, 00443 RTI::SaveInProgress, 00444 RTI::RestoreInProgress, 00445 RTI::RTIinternalError); 00446 00447 virtual void deleteObjectInstance ( 00448 RTI::ObjectHandle theObject, 00449 const char *theTag) 00450 throw ( 00451 RTI::ObjectNotKnown, 00452 RTI::DeletePrivilegeNotHeld, 00453 RTI::FederateNotExecutionMember, 00454 RTI::ConcurrentAccessAttempted, 00455 RTI::SaveInProgress, 00456 RTI::RestoreInProgress, 00457 RTI::RTIinternalError); 00459 00461 virtual void localDeleteObjectInstance ( 00462 RTI::ObjectHandle theObject) 00463 throw ( 00464 RTI::ObjectNotKnown, 00465 RTI::FederateOwnsAttributes, 00466 RTI::FederateNotExecutionMember, 00467 RTI::ConcurrentAccessAttempted, 00468 RTI::SaveInProgress, 00469 RTI::RestoreInProgress, 00470 RTI::RTIinternalError); 00471 00473 virtual void changeAttributeTransportationType ( 00474 RTI::ObjectHandle theObject, 00475 const RTI::AttributeHandleSet& theAttributes, 00476 RTI::TransportationHandle theType) 00477 throw ( 00478 RTI::ObjectNotKnown, 00479 RTI::AttributeNotDefined, 00480 RTI::AttributeNotOwned, 00481 RTI::InvalidTransportationHandle, 00482 RTI::FederateNotExecutionMember, 00483 RTI::ConcurrentAccessAttempted, 00484 RTI::SaveInProgress, 00485 RTI::RestoreInProgress, 00486 RTI::RTIinternalError); 00487 00489 virtual void changeInteractionTransportationType ( 00490 RTI::InteractionClassHandle theClass, 00491 RTI::TransportationHandle theType) 00492 throw ( 00493 RTI::InteractionClassNotDefined, 00494 RTI::InteractionClassNotPublished, 00495 RTI::InvalidTransportationHandle, 00496 RTI::FederateNotExecutionMember, 00497 RTI::ConcurrentAccessAttempted, 00498 RTI::SaveInProgress, 00499 RTI::RestoreInProgress, 00500 RTI::RTIinternalError); 00501 00503 00504 virtual void requestObjectAttributeValueUpdate ( 00505 RTI::ObjectHandle theObject, 00506 const RTI::AttributeHandleSet& theAttributes) 00507 throw ( 00508 RTI::ObjectNotKnown, 00509 RTI::AttributeNotDefined, 00510 RTI::FederateNotExecutionMember, 00511 RTI::ConcurrentAccessAttempted, 00512 RTI::SaveInProgress, 00513 RTI::RestoreInProgress, 00514 RTI::RTIinternalError); 00515 00516 virtual void requestClassAttributeValueUpdate ( 00517 RTI::ObjectClassHandle theClass, 00518 const RTI::AttributeHandleSet& theAttributes) 00519 throw ( 00520 RTI::ObjectClassNotDefined, 00521 RTI::AttributeNotDefined, 00522 RTI::FederateNotExecutionMember, 00523 RTI::ConcurrentAccessAttempted, 00524 RTI::SaveInProgress, 00525 RTI::RestoreInProgress, 00526 RTI::RTIinternalError); 00528 00529 //--------------------------------- 00531 //--------------------------------- 00532 00534 virtual void unconditionalAttributeOwnershipDivestiture ( 00535 RTI::ObjectHandle theObject, 00536 const RTI::AttributeHandleSet& theAttributes) 00537 throw ( 00538 RTI::ObjectNotKnown, 00539 RTI::AttributeNotDefined, 00540 RTI::AttributeNotOwned, 00541 RTI::FederateNotExecutionMember, 00542 RTI::ConcurrentAccessAttempted, 00543 RTI::SaveInProgress, 00544 RTI::RestoreInProgress, 00545 RTI::RTIinternalError); 00546 00548 virtual void negotiatedAttributeOwnershipDivestiture ( 00549 RTI::ObjectHandle theObject, 00550 const RTI::AttributeHandleSet& theAttributes, 00551 const char *theTag) 00552 throw ( 00553 RTI::ObjectNotKnown, 00554 RTI::AttributeNotDefined, 00555 RTI::AttributeNotOwned, 00556 RTI::AttributeAlreadyBeingDivested, 00557 RTI::FederateNotExecutionMember, 00558 RTI::ConcurrentAccessAttempted, 00559 RTI::SaveInProgress, 00560 RTI::RestoreInProgress, 00561 RTI::RTIinternalError); 00562 00564 virtual void attributeOwnershipAcquisition ( 00565 RTI::ObjectHandle theObject, 00566 const RTI::AttributeHandleSet& desiredAttributes, 00567 const char *theTag) 00568 throw ( 00569 RTI::ObjectNotKnown, 00570 RTI::ObjectClassNotPublished, 00571 RTI::AttributeNotDefined, 00572 RTI::AttributeNotPublished, 00573 RTI::FederateOwnsAttributes, 00574 RTI::FederateNotExecutionMember, 00575 RTI::ConcurrentAccessAttempted, 00576 RTI::SaveInProgress, 00577 RTI::RestoreInProgress, 00578 RTI::RTIinternalError); 00579 00581 virtual void attributeOwnershipAcquisitionIfAvailable ( 00582 RTI::ObjectHandle theObject, 00583 const RTI::AttributeHandleSet& desiredAttributes) 00584 throw ( 00585 RTI::ObjectNotKnown, 00586 RTI::ObjectClassNotPublished, 00587 RTI::AttributeNotDefined, 00588 RTI::AttributeNotPublished, 00589 RTI::FederateOwnsAttributes, 00590 RTI::AttributeAlreadyBeingAcquired, 00591 RTI::FederateNotExecutionMember, 00592 RTI::ConcurrentAccessAttempted, 00593 RTI::SaveInProgress, 00594 RTI::RestoreInProgress, 00595 RTI::RTIinternalError); 00596 00598 virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse ( 00599 RTI::ObjectHandle theObject, 00600 const RTI::AttributeHandleSet& theAttributes) 00601 throw ( 00602 RTI::ObjectNotKnown, 00603 RTI::AttributeNotDefined, 00604 RTI::AttributeNotOwned, 00605 RTI::FederateWasNotAskedToReleaseAttribute, 00606 RTI::FederateNotExecutionMember, 00607 RTI::ConcurrentAccessAttempted, 00608 RTI::SaveInProgress, 00609 RTI::RestoreInProgress, 00610 RTI::RTIinternalError); 00611 00613 virtual void cancelNegotiatedAttributeOwnershipDivestiture ( 00614 RTI::ObjectHandle theObject, 00615 const RTI::AttributeHandleSet& theAttributes) 00616 throw ( 00617 RTI::ObjectNotKnown, 00618 RTI::AttributeNotDefined, 00619 RTI::AttributeNotOwned, 00620 RTI::AttributeDivestitureWasNotRequested, 00621 RTI::FederateNotExecutionMember, 00622 RTI::ConcurrentAccessAttempted, 00623 RTI::SaveInProgress, 00624 RTI::RestoreInProgress, 00625 RTI::RTIinternalError); 00626 00628 virtual void cancelAttributeOwnershipAcquisition ( 00629 RTI::ObjectHandle theObject, 00630 const RTI::AttributeHandleSet& theAttributes) 00631 throw ( 00632 RTI::ObjectNotKnown, 00633 RTI::AttributeNotDefined, 00634 RTI::AttributeAlreadyOwned, 00635 RTI::AttributeAcquisitionWasNotRequested, 00636 RTI::FederateNotExecutionMember, 00637 RTI::ConcurrentAccessAttempted, 00638 RTI::SaveInProgress, 00639 RTI::RestoreInProgress, 00640 RTI::RTIinternalError); 00641 00643 virtual void queryAttributeOwnership ( 00644 RTI::ObjectHandle theObject, 00645 RTI::AttributeHandle theAttribute) 00646 throw ( 00647 RTI::ObjectNotKnown, 00648 RTI::AttributeNotDefined, 00649 RTI::FederateNotExecutionMember, 00650 RTI::ConcurrentAccessAttempted, 00651 RTI::SaveInProgress, 00652 RTI::RestoreInProgress, 00653 RTI::RTIinternalError); 00654 00656 virtual RTI::Boolean isAttributeOwnedByFederate ( 00657 RTI::ObjectHandle theObject, 00658 RTI::AttributeHandle theAttribute) 00659 throw ( 00660 RTI::ObjectNotKnown, 00661 RTI::AttributeNotDefined, 00662 RTI::FederateNotExecutionMember, 00663 RTI::ConcurrentAccessAttempted, 00664 RTI::SaveInProgress, 00665 RTI::RestoreInProgress, 00666 RTI::RTIinternalError); 00667 00668 //---------------------------- 00670 //---------------------------- 00671 00673 virtual void enableTimeRegulation ( 00674 const RTI::FedTime& theFederateTime, 00675 const RTI::FedTime& theLookahead) 00676 throw ( 00677 RTI::TimeRegulationAlreadyEnabled, 00678 RTI::EnableTimeRegulationPending, 00679 RTI::TimeAdvanceAlreadyInProgress, 00680 RTI::InvalidFederationTime, 00681 RTI::InvalidLookahead, 00682 RTI::ConcurrentAccessAttempted, 00683 RTI::FederateNotExecutionMember, 00684 RTI::SaveInProgress, 00685 RTI::RestoreInProgress, 00686 RTI::RTIinternalError); 00687 00689 virtual void disableTimeRegulation () 00690 throw ( 00691 RTI::TimeRegulationWasNotEnabled, 00692 RTI::ConcurrentAccessAttempted, 00693 RTI::FederateNotExecutionMember, 00694 RTI::SaveInProgress, 00695 RTI::RestoreInProgress, 00696 RTI::RTIinternalError); 00697 00699 virtual void enableTimeConstrained () 00700 throw ( 00701 RTI::TimeConstrainedAlreadyEnabled, 00702 RTI::EnableTimeConstrainedPending, 00703 RTI::TimeAdvanceAlreadyInProgress, 00704 RTI::FederateNotExecutionMember, 00705 RTI::ConcurrentAccessAttempted, 00706 RTI::SaveInProgress, 00707 RTI::RestoreInProgress, 00708 RTI::RTIinternalError); 00709 00711 virtual void disableTimeConstrained () 00712 throw ( 00713 RTI::TimeConstrainedWasNotEnabled, 00714 RTI::FederateNotExecutionMember, 00715 RTI::ConcurrentAccessAttempted, 00716 RTI::SaveInProgress, 00717 RTI::RestoreInProgress, 00718 RTI::RTIinternalError); 00719 00721 virtual void timeAdvanceRequest ( 00722 const RTI::FedTime& theTime) 00723 throw ( 00724 RTI::InvalidFederationTime, 00725 RTI::FederationTimeAlreadyPassed, 00726 RTI::TimeAdvanceAlreadyInProgress, 00727 RTI::EnableTimeRegulationPending, 00728 RTI::EnableTimeConstrainedPending, 00729 RTI::FederateNotExecutionMember, 00730 RTI::ConcurrentAccessAttempted, 00731 RTI::SaveInProgress, 00732 RTI::RestoreInProgress, 00733 RTI::RTIinternalError); 00734 00736 virtual void timeAdvanceRequestAvailable ( 00737 const RTI::FedTime& theTime) 00738 throw ( 00739 RTI::InvalidFederationTime, 00740 RTI::FederationTimeAlreadyPassed, 00741 RTI::TimeAdvanceAlreadyInProgress, 00742 RTI::EnableTimeRegulationPending, 00743 RTI::EnableTimeConstrainedPending, 00744 RTI::FederateNotExecutionMember, 00745 RTI::ConcurrentAccessAttempted, 00746 RTI::SaveInProgress, 00747 RTI::RestoreInProgress, 00748 RTI::RTIinternalError); 00749 00751 virtual void nextEventRequest ( 00752 const RTI::FedTime& theTime) 00753 throw ( 00754 RTI::InvalidFederationTime, 00755 RTI::FederationTimeAlreadyPassed, 00756 RTI::TimeAdvanceAlreadyInProgress, 00757 RTI::EnableTimeRegulationPending, 00758 RTI::EnableTimeConstrainedPending, 00759 RTI::FederateNotExecutionMember, 00760 RTI::ConcurrentAccessAttempted, 00761 RTI::SaveInProgress, 00762 RTI::RestoreInProgress, 00763 RTI::RTIinternalError); 00764 00766 virtual void nextEventRequestAvailable ( 00767 const RTI::FedTime& theTime) 00768 throw ( 00769 RTI::InvalidFederationTime, 00770 RTI::FederationTimeAlreadyPassed, 00771 RTI::TimeAdvanceAlreadyInProgress, 00772 RTI::EnableTimeRegulationPending, 00773 RTI::EnableTimeConstrainedPending, 00774 RTI::FederateNotExecutionMember, 00775 RTI::ConcurrentAccessAttempted, 00776 RTI::SaveInProgress, 00777 RTI::RestoreInProgress, 00778 RTI::RTIinternalError); 00779 00781 virtual void flushQueueRequest ( 00782 const RTI::FedTime& theTime) 00783 throw ( 00784 RTI::InvalidFederationTime, 00785 RTI::FederationTimeAlreadyPassed, 00786 RTI::TimeAdvanceAlreadyInProgress, 00787 RTI::EnableTimeRegulationPending, 00788 RTI::EnableTimeConstrainedPending, 00789 RTI::FederateNotExecutionMember, 00790 RTI::ConcurrentAccessAttempted, 00791 RTI::SaveInProgress, 00792 RTI::RestoreInProgress, 00793 RTI::RTIinternalError); 00794 00796 virtual void enableAsynchronousDelivery() 00797 throw ( 00798 RTI::AsynchronousDeliveryAlreadyEnabled, 00799 RTI::FederateNotExecutionMember, 00800 RTI::ConcurrentAccessAttempted, 00801 RTI::SaveInProgress, 00802 RTI::RestoreInProgress, 00803 RTI::RTIinternalError); 00804 00806 virtual void disableAsynchronousDelivery() 00807 throw ( 00808 RTI::AsynchronousDeliveryAlreadyDisabled, 00809 RTI::FederateNotExecutionMember, 00810 RTI::ConcurrentAccessAttempted, 00811 RTI::SaveInProgress, 00812 RTI::RestoreInProgress, 00813 RTI::RTIinternalError); 00814 00816 virtual void queryLBTS ( 00817 RTI::FedTime& theTime) 00818 throw ( 00819 RTI::FederateNotExecutionMember, 00820 RTI::ConcurrentAccessAttempted, 00821 RTI::SaveInProgress, 00822 RTI::RestoreInProgress, 00823 RTI::RTIinternalError); 00824 00826 virtual void queryFederateTime ( 00827 RTI::FedTime& theTime) 00828 throw ( 00829 RTI::FederateNotExecutionMember, 00830 RTI::ConcurrentAccessAttempted, 00831 RTI::SaveInProgress, 00832 RTI::RestoreInProgress, 00833 RTI::RTIinternalError); 00834 00836 virtual void queryMinNextEventTime ( 00837 RTI::FedTime& theTime) 00838 throw ( 00839 RTI::FederateNotExecutionMember, 00840 RTI::ConcurrentAccessAttempted, 00841 RTI::SaveInProgress, 00842 RTI::RestoreInProgress, 00843 RTI::RTIinternalError); 00844 00846 virtual void modifyLookahead ( 00847 const RTI::FedTime& theLookahead) 00848 throw ( 00849 RTI::InvalidLookahead, 00850 RTI::FederateNotExecutionMember, 00851 RTI::ConcurrentAccessAttempted, 00852 RTI::SaveInProgress, 00853 RTI::RestoreInProgress, 00854 RTI::RTIinternalError); 00855 00857 virtual void queryLookahead ( 00858 RTI::FedTime& theTime) 00859 throw ( 00860 RTI::FederateNotExecutionMember, 00861 RTI::ConcurrentAccessAttempted, 00862 RTI::SaveInProgress, 00863 RTI::RestoreInProgress, 00864 RTI::RTIinternalError); 00865 00867 virtual void retract ( 00868 RTI::EventRetractionHandle theHandle) 00869 throw ( 00870 RTI::InvalidRetractionHandle, 00871 RTI::FederateNotExecutionMember, 00872 RTI::ConcurrentAccessAttempted, 00873 RTI::SaveInProgress, 00874 RTI::RestoreInProgress, 00875 RTI::RTIinternalError); 00876 00878 virtual void changeAttributeOrderType ( 00879 RTI::ObjectHandle theObject, 00880 const RTI::AttributeHandleSet& theAttributes, 00881 RTI::OrderingHandle theType) 00882 throw ( 00883 RTI::ObjectNotKnown, 00884 RTI::AttributeNotDefined, 00885 RTI::AttributeNotOwned, 00886 RTI::InvalidOrderingHandle, 00887 RTI::FederateNotExecutionMember, 00888 RTI::ConcurrentAccessAttempted, 00889 RTI::SaveInProgress, 00890 RTI::RestoreInProgress, 00891 RTI::RTIinternalError); 00892 00894 virtual void changeInteractionOrderType ( 00895 RTI::InteractionClassHandle theClass, 00896 RTI::OrderingHandle theType) 00897 throw ( 00898 RTI::InteractionClassNotDefined, 00899 RTI::InteractionClassNotPublished, 00900 RTI::InvalidOrderingHandle, 00901 RTI::FederateNotExecutionMember, 00902 RTI::ConcurrentAccessAttempted, 00903 RTI::SaveInProgress, 00904 RTI::RestoreInProgress, 00905 RTI::RTIinternalError); 00906 00907 //-------------------------------- 00909 //-------------------------------- 00910 00912 virtual RTI::Region* createRegion ( 00913 RTI::SpaceHandle theSpace, 00914 RTI::ULong numberOfExtents) 00915 throw ( 00916 RTI::SpaceNotDefined, 00917 RTI::InvalidExtents, 00918 RTI::FederateNotExecutionMember, 00919 RTI::ConcurrentAccessAttempted, 00920 RTI::SaveInProgress, 00921 RTI::RestoreInProgress, 00922 RTI::RTIinternalError); 00923 00925 virtual void notifyAboutRegionModification ( 00926 RTI::Region &theRegion) 00927 throw ( 00928 RTI::RegionNotKnown, 00929 RTI::InvalidExtents, 00930 RTI::FederateNotExecutionMember, 00931 RTI::ConcurrentAccessAttempted, 00932 RTI::SaveInProgress, 00933 RTI::RestoreInProgress, 00934 RTI::RTIinternalError); 00935 00937 virtual void deleteRegion ( 00938 RTI::Region *theRegion) 00939 throw ( 00940 RTI::RegionNotKnown, 00941 RTI::RegionInUse, 00942 RTI::FederateNotExecutionMember, 00943 RTI::ConcurrentAccessAttempted, 00944 RTI::SaveInProgress, 00945 RTI::RestoreInProgress, 00946 RTI::RTIinternalError); 00947 00949 00950 virtual RTI::ObjectHandle registerObjectInstanceWithRegion ( 00951 RTI::ObjectClassHandle theClass, 00952 const char *theObject, 00953 RTI::AttributeHandle theAttributes[], 00954 RTI::Region *theRegions[], 00955 RTI::ULong theNumberOfHandles) 00956 throw ( 00957 RTI::ObjectClassNotDefined, 00958 RTI::ObjectClassNotPublished, 00959 RTI::AttributeNotDefined, 00960 RTI::AttributeNotPublished, 00961 RTI::RegionNotKnown, 00962 RTI::InvalidRegionContext, 00963 RTI::ObjectAlreadyRegistered, 00964 RTI::FederateNotExecutionMember, 00965 RTI::ConcurrentAccessAttempted, 00966 RTI::SaveInProgress, 00967 RTI::RestoreInProgress, 00968 RTI::RTIinternalError); 00969 00970 virtual RTI::ObjectHandle registerObjectInstanceWithRegion ( 00971 RTI::ObjectClassHandle theClass, 00972 RTI::AttributeHandle theAttributes[], 00973 RTI::Region *theRegions[], 00974 RTI::ULong theNumberOfHandles) 00975 throw ( 00976 RTI::ObjectClassNotDefined, 00977 RTI::ObjectClassNotPublished, 00978 RTI::AttributeNotDefined, 00979 RTI::AttributeNotPublished, 00980 RTI::RegionNotKnown, 00981 RTI::InvalidRegionContext, 00982 RTI::FederateNotExecutionMember, 00983 RTI::ConcurrentAccessAttempted, 00984 RTI::SaveInProgress, 00985 RTI::RestoreInProgress, 00986 RTI::RTIinternalError); 00988 00990 virtual void associateRegionForUpdates ( 00991 RTI::Region &theRegion, 00992 RTI::ObjectHandle theObject, 00993 const RTI::AttributeHandleSet &theAttributes) 00994 throw ( 00995 RTI::ObjectNotKnown, 00996 RTI::AttributeNotDefined, 00997 RTI::InvalidRegionContext, 00998 RTI::RegionNotKnown, 00999 RTI::FederateNotExecutionMember, 01000 RTI::ConcurrentAccessAttempted, 01001 RTI::SaveInProgress, 01002 RTI::RestoreInProgress, 01003 RTI::RTIinternalError); 01004 01006 virtual void unassociateRegionForUpdates ( 01007 RTI::Region &theRegion, 01008 RTI::ObjectHandle theObject) 01009 throw ( 01010 RTI::ObjectNotKnown, 01011 RTI::InvalidRegionContext, 01012 RTI::RegionNotKnown, 01013 RTI::FederateNotExecutionMember, 01014 RTI::ConcurrentAccessAttempted, 01015 RTI::SaveInProgress, 01016 RTI::RestoreInProgress, 01017 RTI::RTIinternalError); 01018 01020 virtual void subscribeObjectClassAttributesWithRegion ( 01021 RTI::ObjectClassHandle theClass, 01022 RTI::Region &theRegion, 01023 const RTI::AttributeHandleSet &attributeList, 01024 RTI::Boolean active = RTI::RTI_TRUE) 01025 throw ( 01026 RTI::ObjectClassNotDefined, 01027 RTI::AttributeNotDefined, 01028 RTI::RegionNotKnown, 01029 RTI::InvalidRegionContext, 01030 RTI::FederateNotExecutionMember, 01031 RTI::ConcurrentAccessAttempted, 01032 RTI::SaveInProgress, 01033 RTI::RestoreInProgress, 01034 RTI::RTIinternalError); 01035 01037 virtual void unsubscribeObjectClassWithRegion ( 01038 RTI::ObjectClassHandle theClass, 01039 RTI::Region &theRegion) 01040 throw ( 01041 RTI::ObjectClassNotDefined, 01042 RTI::RegionNotKnown, 01043 RTI::ObjectClassNotSubscribed, 01044 RTI::FederateNotExecutionMember, 01045 RTI::ConcurrentAccessAttempted, 01046 RTI::SaveInProgress, 01047 RTI::RestoreInProgress, 01048 RTI::RTIinternalError); 01049 01051 virtual void subscribeInteractionClassWithRegion ( 01052 RTI::InteractionClassHandle theClass, 01053 RTI::Region &theRegion, 01054 RTI::Boolean active = RTI::RTI_TRUE) 01055 throw ( 01056 RTI::InteractionClassNotDefined, 01057 RTI::RegionNotKnown, 01058 RTI::InvalidRegionContext, 01059 RTI::FederateLoggingServiceCalls, 01060 RTI::FederateNotExecutionMember, 01061 RTI::ConcurrentAccessAttempted, 01062 RTI::SaveInProgress, 01063 RTI::RestoreInProgress, 01064 RTI::RTIinternalError); 01065 01067 virtual void unsubscribeInteractionClassWithRegion ( 01068 RTI::InteractionClassHandle theClass, 01069 RTI::Region &theRegion) 01070 throw ( 01071 RTI::InteractionClassNotDefined, 01072 RTI::InteractionClassNotSubscribed, 01073 RTI::RegionNotKnown, 01074 RTI::FederateNotExecutionMember, 01075 RTI::ConcurrentAccessAttempted, 01076 RTI::SaveInProgress, 01077 RTI::RestoreInProgress, 01078 RTI::RTIinternalError); 01079 01081 01082 virtual RTI::EventRetractionHandle sendInteractionWithRegion ( 01083 RTI::InteractionClassHandle theInteraction, 01084 const RTI::ParameterHandleValuePairSet &theParameters, 01085 const RTI::FedTime& theTime, 01086 const char *theTag, 01087 const RTI::Region &theRegion) 01088 throw ( 01089 RTI::InteractionClassNotDefined, 01090 RTI::InteractionClassNotPublished, 01091 RTI::InteractionParameterNotDefined, 01092 RTI::InvalidFederationTime, 01093 RTI::RegionNotKnown, 01094 RTI::InvalidRegionContext, 01095 RTI::FederateNotExecutionMember, 01096 RTI::ConcurrentAccessAttempted, 01097 RTI::SaveInProgress, 01098 RTI::RestoreInProgress, 01099 RTI::RTIinternalError); 01100 01101 virtual void sendInteractionWithRegion ( 01102 RTI::InteractionClassHandle theInteraction, 01103 const RTI::ParameterHandleValuePairSet &theParameters, 01104 const char *theTag, 01105 const RTI::Region &theRegion) 01106 throw ( 01107 RTI::InteractionClassNotDefined, 01108 RTI::InteractionClassNotPublished, 01109 RTI::InteractionParameterNotDefined, 01110 RTI::RegionNotKnown, 01111 RTI::InvalidRegionContext, 01112 RTI::FederateNotExecutionMember, 01113 RTI::ConcurrentAccessAttempted, 01114 RTI::SaveInProgress, 01115 RTI::RestoreInProgress, 01116 RTI::RTIinternalError); 01118 01120 virtual void requestClassAttributeValueUpdateWithRegion ( 01121 RTI::ObjectClassHandle theClass, 01122 const RTI::AttributeHandleSet &theAttributes, 01123 const RTI::Region &theRegion) 01124 throw ( 01125 RTI::ObjectClassNotDefined, 01126 RTI::AttributeNotDefined, 01127 RTI::RegionNotKnown, 01128 RTI::FederateNotExecutionMember, 01129 RTI::ConcurrentAccessAttempted, 01130 RTI::SaveInProgress, 01131 RTI::RestoreInProgress, 01132 RTI::RTIinternalError); 01133 01134 //------------------------ 01136 //------------------------ 01137 01139 virtual RTI::ObjectClassHandle getObjectClassHandle ( 01140 const char *theName) 01141 throw ( 01142 RTI::NameNotFound, 01143 RTI::FederateNotExecutionMember, 01144 RTI::ConcurrentAccessAttempted, 01145 RTI::RTIinternalError); 01146 01148 virtual char * getObjectClassName ( 01149 RTI::ObjectClassHandle theHandle) 01150 throw ( 01151 RTI::ObjectClassNotDefined, 01152 RTI::FederateNotExecutionMember, 01153 RTI::ConcurrentAccessAttempted, 01154 RTI::RTIinternalError); 01155 01157 virtual RTI::AttributeHandle getAttributeHandle ( 01158 const char *theName, 01159 RTI::ObjectClassHandle whichClass) 01160 throw ( 01161 RTI::ObjectClassNotDefined, 01162 RTI::NameNotFound, 01163 RTI::FederateNotExecutionMember, 01164 RTI::ConcurrentAccessAttempted, 01165 RTI::RTIinternalError); 01166 01168 virtual char * getAttributeName ( 01169 RTI::AttributeHandle theHandle, 01170 RTI::ObjectClassHandle whichClass) 01171 throw ( 01172 RTI::ObjectClassNotDefined, 01173 RTI::AttributeNotDefined, 01174 RTI::FederateNotExecutionMember, 01175 RTI::ConcurrentAccessAttempted, 01176 RTI::RTIinternalError); 01177 01179 virtual RTI::InteractionClassHandle getInteractionClassHandle ( 01180 const char *theName) 01181 throw ( 01182 RTI::NameNotFound, 01183 RTI::FederateNotExecutionMember, 01184 RTI::ConcurrentAccessAttempted, 01185 RTI::RTIinternalError); 01186 01188 virtual char * getInteractionClassName ( 01189 RTI::InteractionClassHandle theHandle) 01190 throw ( 01191 RTI::InteractionClassNotDefined, 01192 RTI::FederateNotExecutionMember, 01193 RTI::ConcurrentAccessAttempted, 01194 RTI::RTIinternalError); 01195 01197 virtual RTI::ParameterHandle getParameterHandle ( 01198 const char *theName, 01199 RTI::InteractionClassHandle whichClass) 01200 throw ( 01201 RTI::InteractionClassNotDefined, 01202 RTI::NameNotFound, 01203 RTI::FederateNotExecutionMember, 01204 RTI::ConcurrentAccessAttempted, 01205 RTI::RTIinternalError); 01206 01208 virtual char * getParameterName ( 01209 RTI::ParameterHandle theHandle, 01210 RTI::InteractionClassHandle whichClass) 01211 throw ( 01212 RTI::InteractionClassNotDefined, 01213 RTI::InteractionParameterNotDefined, 01214 RTI::FederateNotExecutionMember, 01215 RTI::ConcurrentAccessAttempted, 01216 RTI::RTIinternalError); 01217 01219 virtual RTI::ObjectHandle getObjectInstanceHandle ( 01220 const char *theName) 01221 throw ( 01222 RTI::ObjectNotKnown, 01223 RTI::FederateNotExecutionMember, 01224 RTI::ConcurrentAccessAttempted, 01225 RTI::RTIinternalError); 01226 01228 virtual char * getObjectInstanceName ( 01229 RTI::ObjectHandle theHandle) 01230 throw ( 01231 RTI::ObjectNotKnown, 01232 RTI::FederateNotExecutionMember, 01233 RTI::ConcurrentAccessAttempted, 01234 RTI::RTIinternalError); 01235 01237 virtual RTI::SpaceHandle getRoutingSpaceHandle ( 01238 const char *theName) 01239 throw ( 01240 RTI::NameNotFound, 01241 RTI::FederateNotExecutionMember, 01242 RTI::ConcurrentAccessAttempted, 01243 RTI::RTIinternalError); 01244 01246 virtual char * getRoutingSpaceName ( 01247 RTI::SpaceHandle theHandle) 01248 throw ( 01249 RTI::SpaceNotDefined, 01250 RTI::FederateNotExecutionMember, 01251 RTI::ConcurrentAccessAttempted, 01252 RTI::RTIinternalError); 01253 01255 virtual RTI::DimensionHandle getDimensionHandle ( 01256 const char *theName, 01257 RTI::SpaceHandle whichSpace) 01258 throw ( 01259 RTI::SpaceNotDefined, 01260 RTI::NameNotFound, 01261 RTI::FederateNotExecutionMember, 01262 RTI::ConcurrentAccessAttempted, 01263 RTI::RTIinternalError); 01264 01266 virtual char * getDimensionName ( 01267 RTI::DimensionHandle theHandle, 01268 RTI::SpaceHandle whichSpace) 01269 throw ( 01270 RTI::SpaceNotDefined, 01271 RTI::DimensionNotDefined, 01272 RTI::FederateNotExecutionMember, 01273 RTI::ConcurrentAccessAttempted, 01274 RTI::RTIinternalError); 01275 01277 virtual RTI::SpaceHandle getAttributeRoutingSpaceHandle ( 01278 RTI::AttributeHandle theHandle, 01279 RTI::ObjectClassHandle whichClass) 01280 throw ( 01281 RTI::ObjectClassNotDefined, 01282 RTI::AttributeNotDefined, 01283 RTI::FederateNotExecutionMember, 01284 RTI::ConcurrentAccessAttempted, 01285 RTI::RTIinternalError); 01286 01288 virtual RTI::ObjectClassHandle getObjectClass ( 01289 RTI::ObjectHandle theObject) 01290 throw ( 01291 RTI::ObjectNotKnown, 01292 RTI::FederateNotExecutionMember, 01293 RTI::ConcurrentAccessAttempted, 01294 RTI::RTIinternalError); 01295 01297 virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle ( 01298 RTI::InteractionClassHandle theHandle) 01299 throw ( 01300 RTI::InteractionClassNotDefined, 01301 RTI::FederateNotExecutionMember, 01302 RTI::ConcurrentAccessAttempted, 01303 RTI::RTIinternalError); 01304 01306 virtual RTI::TransportationHandle getTransportationHandle ( 01307 const char *theName) 01308 throw ( 01309 RTI::NameNotFound, 01310 RTI::FederateNotExecutionMember, 01311 RTI::ConcurrentAccessAttempted, 01312 RTI::RTIinternalError); 01313 01315 virtual char * getTransportationName ( 01316 RTI::TransportationHandle theHandle) 01317 throw ( 01318 RTI::InvalidTransportationHandle, 01319 RTI::FederateNotExecutionMember, 01320 RTI::ConcurrentAccessAttempted, 01321 RTI::RTIinternalError); 01322 01324 virtual RTI::OrderingHandle getOrderingHandle ( 01325 const char *theName) 01326 throw ( 01327 RTI::NameNotFound, 01328 RTI::FederateNotExecutionMember, 01329 RTI::ConcurrentAccessAttempted, 01330 RTI::RTIinternalError); 01331 01333 virtual char * getOrderingName ( 01334 RTI::OrderingHandle theHandle) 01335 throw ( 01336 RTI::InvalidOrderingHandle, 01337 RTI::FederateNotExecutionMember, 01338 RTI::ConcurrentAccessAttempted, 01339 RTI::RTIinternalError); 01340 01342 virtual void enableClassRelevanceAdvisorySwitch() 01343 throw( 01344 RTI::FederateNotExecutionMember, 01345 RTI::ConcurrentAccessAttempted, 01346 RTI::SaveInProgress, 01347 RTI::RestoreInProgress, 01348 RTI::RTIinternalError); 01349 01351 virtual void disableClassRelevanceAdvisorySwitch() 01352 throw( 01353 RTI::FederateNotExecutionMember, 01354 RTI::ConcurrentAccessAttempted, 01355 RTI::SaveInProgress, 01356 RTI::RestoreInProgress, 01357 RTI::RTIinternalError); 01358 01360 virtual void enableAttributeRelevanceAdvisorySwitch() 01361 throw( 01362 RTI::FederateNotExecutionMember, 01363 RTI::ConcurrentAccessAttempted, 01364 RTI::SaveInProgress, 01365 RTI::RestoreInProgress, 01366 RTI::RTIinternalError); 01367 01369 virtual void disableAttributeRelevanceAdvisorySwitch() 01370 throw( 01371 RTI::FederateNotExecutionMember, 01372 RTI::ConcurrentAccessAttempted, 01373 RTI::SaveInProgress, 01374 RTI::RestoreInProgress, 01375 RTI::RTIinternalError); 01376 01378 virtual void enableAttributeScopeAdvisorySwitch() 01379 throw( 01380 RTI::FederateNotExecutionMember, 01381 RTI::ConcurrentAccessAttempted, 01382 RTI::SaveInProgress, 01383 RTI::RestoreInProgress, 01384 RTI::RTIinternalError); 01385 01387 virtual void disableAttributeScopeAdvisorySwitch() 01388 throw( 01389 RTI::FederateNotExecutionMember, 01390 RTI::ConcurrentAccessAttempted, 01391 RTI::SaveInProgress, 01392 RTI::RestoreInProgress, 01393 RTI::RTIinternalError); 01394 01396 virtual void enableInteractionRelevanceAdvisorySwitch() 01397 throw( 01398 RTI::FederateNotExecutionMember, 01399 RTI::ConcurrentAccessAttempted, 01400 RTI::SaveInProgress, 01401 RTI::RestoreInProgress, 01402 RTI::RTIinternalError); 01403 01405 virtual void disableInteractionRelevanceAdvisorySwitch() 01406 throw( 01407 RTI::FederateNotExecutionMember, 01408 RTI::ConcurrentAccessAttempted, 01409 RTI::SaveInProgress, 01410 RTI::RestoreInProgress, 01411 RTI::RTIinternalError); 01412 01413 virtual RTI::Boolean tick () 01414 throw ( 01415 RTI::SpecifiedSaveLabelDoesNotExist, 01416 RTI::ConcurrentAccessAttempted, 01417 RTI::RTIinternalError); 01418 01419 virtual RTI::Boolean tick ( 01420 RTI::TickTime minimum, 01421 RTI::TickTime maximum, 01422 RTI::Boolean unlockWhileWaiting=RTI::RTI_FALSE) 01423 throw ( 01424 RTI::SpecifiedSaveLabelDoesNotExist, 01425 RTI::ConcurrentAccessAttempted, 01426 RTI::RTIinternalError); 01427 01428 virtual RTI::RegionToken getRegionToken( 01429 RTI::Region *) 01430 throw( 01431 RTI::FederateNotExecutionMember, 01432 RTI::ConcurrentAccessAttempted, 01433 RTI::RegionNotKnown, 01434 RTI::RTIinternalError); 01435 01436 virtual RTI::Region * getRegion( 01437 RTI::RegionToken) 01438 throw( 01439 RTI::FederateNotExecutionMember, 01440 RTI::ConcurrentAccessAttempted, 01441 RTI::RegionNotKnown, 01442 RTI::RTIinternalError); 01443 01444 //--------------------------------------------------------- 01446 //--------------------------------------------------------- 01447 01448 01449 public: 01450 01454 static DtRtiAmbassadorImplementor* create(RTI::RTIambassador* topLevelAmbPtr); 01455 01459 static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator); 01460 01461 protected: 01462 01464 virtual void throwInternalError(const MAKRti::DtString & errorMessage) const; 01465 01467 virtual void throwNotConnected(const MAKRti::DtString & errorMessage) const; 01468 01470 virtual void throwNotJoined(const MAKRti::DtString & errorMessage) const; 01471 01472 protected: 01473 01475 RTI::RTIambassador* myTopLevelAmb; 01476 01478 bool myAccessingRtiAmb; 01479 01480 protected: 01481 01483 static DtRtiAmbassadorImplementorCreator theCreator; 01484 }; 01485 01487 class DtConcurrentAccessCheck 01488 { 01489 public: 01490 01491 DtConcurrentAccessCheck(bool* accessFlag) 01492 { 01493 myAccessFlag = accessFlag; 01494 if(theAccessCheckRequired) 01495 { 01496 if(*myAccessFlag) 01497 { 01498 throw RTI::ConcurrentAccessAttempted("Concurrent RTIambassador access attempted."); 01499 } 01500 *myAccessFlag = true; 01501 } 01502 } 01503 01504 ~DtConcurrentAccessCheck() 01505 { 01506 *myAccessFlag = false; 01507 } 01508 01509 static void checkForConcurrentAccess(bool check) 01510 { 01511 theAccessCheckRequired = check; 01512 } 01513 01514 protected: 01515 01516 bool* myAccessFlag; 01517 01518 protected: 01519 01520 static bool theAccessCheckRequired; 01521 01522 private: 01523 DtConcurrentAccessCheck(const DtConcurrentAccessCheck& orig); 01524 DtConcurrentAccessCheck& operator=(const DtConcurrentAccessCheck& orig); 01525 }; 01526 01527 #endif