![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #if DtHLA 00012 #if DtHLA_1516_EVOLVED 00013 00014 #include <vlutil/vlMachineTypes.h> 00015 #include "rtiNamespace.h" 00016 00017 using namespace RTI; 00018 00019 00024 class DT_DLL_VL DtVrlRtiAmbassador 00025 { 00026 00027 public: 00028 00029 00030 DtVrlRtiAmbassador() 00031 throw (); 00032 00033 virtual ~DtVrlRtiAmbassador(); 00034 00035 private: 00037 DtVrlRtiAmbassador(const DtVrlRtiAmbassador& orig); 00038 00040 DtVrlRtiAmbassador& operator=(const DtVrlRtiAmbassador& orig); 00041 00042 public: 00043 00046 virtual RTI::RTIambassador* rtiAmb(); 00047 00048 // 4.2 00049 virtual void connect ( 00050 FederateAmbassador & federateAmbassador, 00051 CallbackModel theCallbackModel, 00052 std::wstring const & localSettingsDesignator=L"") 00053 throw ( 00054 ConnectionFailed, 00055 InvalidLocalSettingsDesignator, 00056 UnsupportedCallbackModel, 00057 AlreadyConnected, 00058 CallNotAllowedFromWithinCallback, 00059 RTIinternalError) = 0; 00060 00061 // 4.3 00062 virtual void disconnect () 00063 throw ( 00064 FederateIsExecutionMember, 00065 CallNotAllowedFromWithinCallback, 00066 RTIinternalError) = 0; 00067 00068 // 4.5 00069 virtual void createFederationExecution ( 00070 std::wstring const & federationExecutionName, 00071 std::wstring const & fomModule, 00072 std::wstring const & logicalTimeImplementationName = L"") 00073 throw ( 00074 CouldNotCreateLogicalTimeFactory, 00075 InconsistentFDD, 00076 ErrorReadingFDD, 00077 CouldNotOpenFDD, 00078 FederationExecutionAlreadyExists, 00079 NotConnected, 00080 RTIinternalError) = 0; 00081 00082 virtual void createFederationExecution ( 00083 std::wstring const & federationExecutionName, 00084 std::vector<std::wstring> const & fomModules, 00085 std::wstring const & logicalTimeImplementationName = L"") 00086 throw ( 00087 CouldNotCreateLogicalTimeFactory, 00088 InconsistentFDD, 00089 ErrorReadingFDD, 00090 CouldNotOpenFDD, 00091 FederationExecutionAlreadyExists, 00092 NotConnected, 00093 RTIinternalError) = 0; 00094 00095 virtual void createFederationExecutionWithMIM ( 00096 std::wstring const & federationExecutionName, 00097 std::vector<std::wstring> const & fomModules, 00098 std::wstring const & mimModule, 00099 std::wstring const & logicalTimeImplementationName = L"") 00100 throw ( 00101 CouldNotCreateLogicalTimeFactory, 00102 InconsistentFDD, 00103 ErrorReadingFDD, 00104 CouldNotOpenFDD, 00105 DesignatorIsHLAstandardMIM, 00106 ErrorReadingMIM, 00107 CouldNotOpenMIM, 00108 FederationExecutionAlreadyExists, 00109 NotConnected, 00110 RTIinternalError) = 0; 00111 00112 // 4.6 00113 virtual void destroyFederationExecution ( 00114 std::wstring const & federationExecutionName) 00115 throw ( 00116 FederatesCurrentlyJoined, 00117 FederationExecutionDoesNotExist, 00118 NotConnected, 00119 RTIinternalError) = 0; 00120 00121 // 4.7 00122 virtual void listFederationExecutions () const 00123 throw ( 00124 NotConnected, 00125 RTIinternalError) = 0; 00126 00127 // 4.9 00128 virtual FederateHandle joinFederationExecution ( 00129 std::wstring const & federateType, 00130 std::wstring const & federationExecutionName, 00131 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>()) 00132 throw ( 00133 CouldNotCreateLogicalTimeFactory, 00134 FederationExecutionDoesNotExist, 00135 InconsistentFDD, 00136 ErrorReadingFDD, 00137 CouldNotOpenFDD, 00138 SaveInProgress, 00139 RestoreInProgress, 00140 FederateAlreadyExecutionMember, 00141 NotConnected, 00142 CallNotAllowedFromWithinCallback, 00143 RTIinternalError) = 0; 00144 00145 virtual FederateHandle joinFederationExecution ( 00146 std::wstring const & federateName, 00147 std::wstring const & federateType, 00148 std::wstring const & federationExecutionName, 00149 std::vector<std::wstring> const & additionalFomModules=std::vector<std::wstring>()) 00150 throw ( 00151 CouldNotCreateLogicalTimeFactory, 00152 FederateNameAlreadyInUse, 00153 FederationExecutionDoesNotExist, 00154 InconsistentFDD, 00155 ErrorReadingFDD, 00156 CouldNotOpenFDD, 00157 SaveInProgress, 00158 RestoreInProgress, 00159 FederateAlreadyExecutionMember, 00160 NotConnected, 00161 CallNotAllowedFromWithinCallback, 00162 RTIinternalError) = 0; 00163 00164 // 4.10 00165 virtual void resignFederationExecution ( 00166 ResignAction resignAction) 00167 throw ( 00168 InvalidResignAction, 00169 OwnershipAcquisitionPending, 00170 FederateOwnsAttributes, 00171 FederateNotExecutionMember, 00172 NotConnected, 00173 CallNotAllowedFromWithinCallback, 00174 RTIinternalError) = 0; 00175 00176 // 4.11 00177 virtual void registerFederationSynchronizationPoint ( 00178 std::wstring const & label, 00179 VariableLengthData const & theUserSuppliedTag) 00180 throw ( 00181 SaveInProgress, 00182 RestoreInProgress, 00183 FederateNotExecutionMember, 00184 NotConnected, 00185 RTIinternalError) = 0; 00186 00187 virtual void registerFederationSynchronizationPoint ( 00188 std::wstring const & label, 00189 VariableLengthData const & theUserSuppliedTag, 00190 FederateHandleSet const & synchronizationSet) 00191 throw ( 00192 InvalidFederateHandle, 00193 SaveInProgress, 00194 RestoreInProgress, 00195 FederateNotExecutionMember, 00196 NotConnected, 00197 RTIinternalError) = 0; 00198 00199 // 4.14 00200 virtual void synchronizationPointAchieved ( 00201 std::wstring const & label, 00202 bool successfully = true) 00203 throw ( 00204 SynchronizationPointLabelNotAnnounced, 00205 SaveInProgress, 00206 RestoreInProgress, 00207 FederateNotExecutionMember, 00208 NotConnected, 00209 RTIinternalError) = 0; 00210 00211 // 4.16 00212 virtual void requestFederationSave ( 00213 std::wstring const & label) 00214 throw ( 00215 SaveInProgress, 00216 RestoreInProgress, 00217 FederateNotExecutionMember, 00218 NotConnected, 00219 RTIinternalError) = 0; 00220 00221 virtual void requestFederationSave ( 00222 std::wstring const & label, 00223 LogicalTime const & theTime) 00224 throw ( 00225 LogicalTimeAlreadyPassed, 00226 InvalidLogicalTime, 00227 FederateUnableToUseTime, 00228 SaveInProgress, 00229 RestoreInProgress, 00230 FederateNotExecutionMember, 00231 NotConnected, 00232 RTIinternalError) = 0; 00233 00234 // 4.18 00235 virtual void federateSaveBegun () 00236 throw ( 00237 SaveNotInitiated, 00238 RestoreInProgress, 00239 FederateNotExecutionMember, 00240 NotConnected, 00241 RTIinternalError) = 0; 00242 00243 // 4.19 00244 virtual void federateSaveComplete () 00245 throw ( 00246 FederateHasNotBegunSave, 00247 RestoreInProgress, 00248 FederateNotExecutionMember, 00249 NotConnected, 00250 RTIinternalError) = 0; 00251 00252 virtual void federateSaveNotComplete () 00253 throw ( 00254 FederateHasNotBegunSave, 00255 RestoreInProgress, 00256 FederateNotExecutionMember, 00257 NotConnected, 00258 RTIinternalError) = 0; 00259 00260 // 4.21 00261 virtual void abortFederationSave () 00262 throw ( 00263 SaveNotInProgress, 00264 FederateNotExecutionMember, 00265 NotConnected, 00266 RTIinternalError) = 0; 00267 00268 // 4.22 00269 virtual void queryFederationSaveStatus () 00270 throw ( 00271 RestoreInProgress, 00272 FederateNotExecutionMember, 00273 NotConnected, 00274 RTIinternalError) = 0; 00275 00276 // 4.24 00277 virtual void requestFederationRestore ( 00278 std::wstring const & label) 00279 throw ( 00280 SaveInProgress, 00281 RestoreInProgress, 00282 FederateNotExecutionMember, 00283 NotConnected, 00284 RTIinternalError) = 0; 00285 00286 // 4.28 00287 virtual void federateRestoreComplete () 00288 throw ( 00289 RestoreNotRequested, 00290 SaveInProgress, 00291 FederateNotExecutionMember, 00292 NotConnected, 00293 RTIinternalError) = 0; 00294 00295 virtual void federateRestoreNotComplete () 00296 throw ( 00297 RestoreNotRequested, 00298 SaveInProgress, 00299 FederateNotExecutionMember, 00300 NotConnected, 00301 RTIinternalError) = 0; 00302 00303 // 4.30 00304 virtual void abortFederationRestore () 00305 throw ( 00306 RestoreNotInProgress, 00307 FederateNotExecutionMember, 00308 NotConnected, 00309 RTIinternalError) = 0; 00310 00311 // 4.31 00312 virtual void queryFederationRestoreStatus () 00313 throw ( 00314 SaveInProgress, 00315 FederateNotExecutionMember, 00316 NotConnected, 00317 RTIinternalError) = 0; 00318 00320 // Declaration Management Services // 00322 00323 // 5.2 00324 virtual void publishObjectClassAttributes ( 00325 ObjectClassHandle theClass, 00326 AttributeHandleSet const & attributeList) 00327 throw ( 00328 AttributeNotDefined, 00329 ObjectClassNotDefined, 00330 SaveInProgress, 00331 RestoreInProgress, 00332 FederateNotExecutionMember, 00333 NotConnected, 00334 RTIinternalError) = 0; 00335 00336 // 5.3 00337 virtual void unpublishObjectClass ( 00338 ObjectClassHandle theClass) 00339 throw ( 00340 OwnershipAcquisitionPending, 00341 ObjectClassNotDefined, 00342 SaveInProgress, 00343 RestoreInProgress, 00344 FederateNotExecutionMember, 00345 NotConnected, 00346 RTIinternalError) = 0; 00347 00348 virtual void unpublishObjectClassAttributes ( 00349 ObjectClassHandle theClass, 00350 AttributeHandleSet const & attributeList) 00351 throw ( 00352 OwnershipAcquisitionPending, 00353 AttributeNotDefined, 00354 ObjectClassNotDefined, 00355 SaveInProgress, 00356 RestoreInProgress, 00357 FederateNotExecutionMember, 00358 NotConnected, 00359 RTIinternalError) = 0; 00360 00361 // 5.4 00362 virtual void publishInteractionClass ( 00363 InteractionClassHandle theInteraction) 00364 throw ( 00365 InteractionClassNotDefined, 00366 SaveInProgress, 00367 RestoreInProgress, 00368 FederateNotExecutionMember, 00369 NotConnected, 00370 RTIinternalError) = 0; 00371 00372 // 5.5 00373 virtual void unpublishInteractionClass ( 00374 InteractionClassHandle theInteraction) 00375 throw ( 00376 InteractionClassNotDefined, 00377 SaveInProgress, 00378 RestoreInProgress, 00379 FederateNotExecutionMember, 00380 NotConnected, 00381 RTIinternalError) = 0; 00382 00383 // 5.6 00384 virtual void subscribeObjectClassAttributes ( 00385 ObjectClassHandle theClass, 00386 AttributeHandleSet const & attributeList, 00387 bool active = true, 00388 std::wstring const & updateRateDesignator = L"") 00389 throw ( 00390 AttributeNotDefined, 00391 ObjectClassNotDefined, 00392 InvalidUpdateRateDesignator, 00393 SaveInProgress, 00394 RestoreInProgress, 00395 FederateNotExecutionMember, 00396 NotConnected, 00397 RTIinternalError) = 0; 00398 00399 // 5.7 00400 virtual void unsubscribeObjectClass ( 00401 ObjectClassHandle theClass) 00402 throw ( 00403 ObjectClassNotDefined, 00404 SaveInProgress, 00405 RestoreInProgress, 00406 FederateNotExecutionMember, 00407 NotConnected, 00408 RTIinternalError) = 0; 00409 00410 virtual void unsubscribeObjectClassAttributes ( 00411 ObjectClassHandle theClass, 00412 AttributeHandleSet const & attributeList) 00413 throw ( 00414 AttributeNotDefined, 00415 ObjectClassNotDefined, 00416 SaveInProgress, 00417 RestoreInProgress, 00418 FederateNotExecutionMember, 00419 NotConnected, 00420 RTIinternalError) = 0; 00421 00422 // 5.8 00423 virtual void subscribeInteractionClass ( 00424 InteractionClassHandle theClass, 00425 bool active = true) 00426 throw ( 00427 FederateServiceInvocationsAreBeingReportedViaMOM, 00428 InteractionClassNotDefined, 00429 SaveInProgress, 00430 RestoreInProgress, 00431 FederateNotExecutionMember, 00432 NotConnected, 00433 RTIinternalError) = 0; 00434 00435 // 5.9 00436 virtual void unsubscribeInteractionClass ( 00437 InteractionClassHandle theClass) 00438 throw ( 00439 InteractionClassNotDefined, 00440 SaveInProgress, 00441 RestoreInProgress, 00442 FederateNotExecutionMember, 00443 NotConnected, 00444 RTIinternalError) = 0; 00445 00447 // Object Management Services // 00449 00450 // 6.2 00451 virtual void reserveObjectInstanceName ( 00452 std::wstring const & theObjectInstanceName) 00453 throw ( 00454 IllegalName, 00455 SaveInProgress, 00456 RestoreInProgress, 00457 FederateNotExecutionMember, 00458 NotConnected, 00459 RTIinternalError) = 0; 00460 00461 // 6.4 00462 virtual void releaseObjectInstanceName ( 00463 std::wstring const & theObjectInstanceName) 00464 throw ( 00465 ObjectInstanceNameNotReserved, 00466 SaveInProgress, 00467 RestoreInProgress, 00468 FederateNotExecutionMember, 00469 NotConnected, 00470 RTIinternalError) = 0; 00471 00472 // 6.5 00473 virtual void reserveMultipleObjectInstanceName ( 00474 std::set<std::wstring> const & theObjectInstanceNames) 00475 throw ( 00476 IllegalName, 00477 NameSetWasEmpty, 00478 SaveInProgress, 00479 RestoreInProgress, 00480 FederateNotExecutionMember, 00481 NotConnected, 00482 RTIinternalError) = 0; 00483 00484 // 6.7 00485 virtual void releaseMultipleObjectInstanceName ( 00486 std::set<std::wstring> const & theObjectInstanceNames) 00487 throw ( 00488 ObjectInstanceNameNotReserved, 00489 SaveInProgress, 00490 RestoreInProgress, 00491 FederateNotExecutionMember, 00492 NotConnected, 00493 RTIinternalError) = 0; 00494 00495 // 6.8 00496 virtual ObjectInstanceHandle registerObjectInstance ( 00497 ObjectClassHandle theClass) 00498 throw ( 00499 ObjectClassNotPublished, 00500 ObjectClassNotDefined, 00501 SaveInProgress, 00502 RestoreInProgress, 00503 FederateNotExecutionMember, 00504 NotConnected, 00505 RTIinternalError) = 0; 00506 00507 virtual ObjectInstanceHandle registerObjectInstance ( 00508 ObjectClassHandle theClass, 00509 std::wstring const & theObjectInstanceName) 00510 throw ( 00511 ObjectInstanceNameInUse, 00512 ObjectInstanceNameNotReserved, 00513 ObjectClassNotPublished, 00514 ObjectClassNotDefined, 00515 SaveInProgress, 00516 RestoreInProgress, 00517 FederateNotExecutionMember, 00518 NotConnected, 00519 RTIinternalError) = 0; 00520 00521 // 6.10 00522 virtual void updateAttributeValues ( 00523 ObjectInstanceHandle theObject, 00524 AttributeHandleValueMap const & theAttributeValues, 00525 VariableLengthData const & theUserSuppliedTag) 00526 throw ( 00527 AttributeNotOwned, 00528 AttributeNotDefined, 00529 ObjectInstanceNotKnown, 00530 SaveInProgress, 00531 RestoreInProgress, 00532 FederateNotExecutionMember, 00533 NotConnected, 00534 RTIinternalError) = 0; 00535 00536 virtual MessageRetractionHandle updateAttributeValues ( 00537 ObjectInstanceHandle theObject, 00538 AttributeHandleValueMap const & theAttributeValues, 00539 VariableLengthData const & theUserSuppliedTag, 00540 LogicalTime const & theTime) 00541 throw ( 00542 InvalidLogicalTime, 00543 AttributeNotOwned, 00544 AttributeNotDefined, 00545 ObjectInstanceNotKnown, 00546 SaveInProgress, 00547 RestoreInProgress, 00548 FederateNotExecutionMember, 00549 NotConnected, 00550 RTIinternalError) = 0; 00551 00552 // 6.12 00553 virtual void sendInteraction ( 00554 InteractionClassHandle theInteraction, 00555 ParameterHandleValueMap const & theParameterValues, 00556 VariableLengthData const & theUserSuppliedTag) 00557 throw ( 00558 InteractionClassNotPublished, 00559 InteractionParameterNotDefined, 00560 InteractionClassNotDefined, 00561 SaveInProgress, 00562 RestoreInProgress, 00563 FederateNotExecutionMember, 00564 NotConnected, 00565 RTIinternalError) = 0; 00566 00567 virtual MessageRetractionHandle sendInteraction ( 00568 InteractionClassHandle theInteraction, 00569 ParameterHandleValueMap const & theParameterValues, 00570 VariableLengthData const & theUserSuppliedTag, 00571 LogicalTime const & theTime) 00572 throw ( 00573 InvalidLogicalTime, 00574 InteractionClassNotPublished, 00575 InteractionParameterNotDefined, 00576 InteractionClassNotDefined, 00577 SaveInProgress, 00578 RestoreInProgress, 00579 FederateNotExecutionMember, 00580 NotConnected, 00581 RTIinternalError) = 0; 00582 00583 // 6.14 00584 virtual void deleteObjectInstance ( 00585 ObjectInstanceHandle theObject, 00586 VariableLengthData const & theUserSuppliedTag) 00587 throw ( 00588 DeletePrivilegeNotHeld, 00589 ObjectInstanceNotKnown, 00590 SaveInProgress, 00591 RestoreInProgress, 00592 FederateNotExecutionMember, 00593 NotConnected, 00594 RTIinternalError) = 0; 00595 00596 virtual MessageRetractionHandle deleteObjectInstance ( 00597 ObjectInstanceHandle theObject, 00598 VariableLengthData const & theUserSuppliedTag, 00599 LogicalTime const & theTime) 00600 throw ( 00601 InvalidLogicalTime, 00602 DeletePrivilegeNotHeld, 00603 ObjectInstanceNotKnown, 00604 SaveInProgress, 00605 RestoreInProgress, 00606 FederateNotExecutionMember, 00607 NotConnected, 00608 RTIinternalError) = 0; 00609 00610 // 6.16 00611 virtual void localDeleteObjectInstance ( 00612 ObjectInstanceHandle theObject) 00613 throw ( 00614 OwnershipAcquisitionPending, 00615 FederateOwnsAttributes, 00616 ObjectInstanceNotKnown, 00617 SaveInProgress, 00618 RestoreInProgress, 00619 FederateNotExecutionMember, 00620 NotConnected, 00621 RTIinternalError) = 0; 00622 00623 // 6.19 00624 virtual void requestAttributeValueUpdate ( 00625 ObjectInstanceHandle theObject, 00626 AttributeHandleSet const & theAttributes, 00627 VariableLengthData const & theUserSuppliedTag) 00628 throw ( 00629 AttributeNotDefined, 00630 ObjectInstanceNotKnown, 00631 SaveInProgress, 00632 RestoreInProgress, 00633 FederateNotExecutionMember, 00634 NotConnected, 00635 RTIinternalError) = 0; 00636 00637 virtual void requestAttributeValueUpdate ( 00638 ObjectClassHandle theClass, 00639 AttributeHandleSet const & theAttributes, 00640 VariableLengthData const & theUserSuppliedTag) 00641 throw ( 00642 AttributeNotDefined, 00643 ObjectClassNotDefined, 00644 SaveInProgress, 00645 RestoreInProgress, 00646 FederateNotExecutionMember, 00647 NotConnected, 00648 RTIinternalError) = 0; 00649 00650 // 6.23 00651 virtual void requestAttributeTransportationTypeChange ( 00652 ObjectInstanceHandle theObject, 00653 AttributeHandleSet const & theAttributes, 00654 TransportationType theType) 00655 throw ( 00656 AttributeAlreadyBeingChanged, 00657 AttributeNotOwned, 00658 AttributeNotDefined, 00659 ObjectInstanceNotKnown, 00660 InvalidTransportationType, 00661 SaveInProgress, 00662 RestoreInProgress, 00663 FederateNotExecutionMember, 00664 NotConnected, 00665 RTIinternalError) = 0; 00666 00667 // 6.25 00668 virtual void queryAttributeTransportationType ( 00669 ObjectInstanceHandle theObject, 00670 AttributeHandle theAttribute) 00671 throw ( 00672 AttributeNotDefined, 00673 ObjectInstanceNotKnown, 00674 SaveInProgress, 00675 RestoreInProgress, 00676 FederateNotExecutionMember, 00677 NotConnected, 00678 RTIinternalError) = 0; 00679 00680 // 6.27 00681 virtual void requestInteractionTransportationTypeChange ( 00682 InteractionClassHandle theClass, 00683 TransportationType theType) 00684 throw ( 00685 InteractionClassAlreadyBeingChanged, 00686 InteractionClassNotPublished, 00687 InteractionClassNotDefined, 00688 InvalidTransportationType, 00689 SaveInProgress, 00690 RestoreInProgress, 00691 FederateNotExecutionMember, 00692 NotConnected, 00693 RTIinternalError) = 0; 00694 00695 // 6.29 00696 virtual void queryInteractionTransportationType ( 00697 FederateHandle theFederate, 00698 InteractionClassHandle theInteraction) 00699 throw ( 00700 InteractionClassNotDefined, 00701 SaveInProgress, 00702 RestoreInProgress, 00703 FederateNotExecutionMember, 00704 NotConnected, 00705 RTIinternalError) = 0; 00706 00707 00709 // Ownership Management Services // 00711 00712 // 7.2 00713 virtual void unconditionalAttributeOwnershipDivestiture ( 00714 ObjectInstanceHandle theObject, 00715 AttributeHandleSet const & theAttributes) 00716 throw ( 00717 AttributeNotOwned, 00718 AttributeNotDefined, 00719 ObjectInstanceNotKnown, 00720 SaveInProgress, 00721 RestoreInProgress, 00722 FederateNotExecutionMember, 00723 NotConnected, 00724 RTIinternalError) = 0; 00725 00726 // 7.3 00727 virtual void negotiatedAttributeOwnershipDivestiture ( 00728 ObjectInstanceHandle theObject, 00729 AttributeHandleSet const & theAttributes, 00730 VariableLengthData const & theUserSuppliedTag) 00731 throw ( 00732 AttributeAlreadyBeingDivested, 00733 AttributeNotOwned, 00734 AttributeNotDefined, 00735 ObjectInstanceNotKnown, 00736 SaveInProgress, 00737 RestoreInProgress, 00738 FederateNotExecutionMember, 00739 NotConnected, 00740 RTIinternalError) = 0; 00741 00742 // 7.6 00743 virtual void confirmDivestiture ( 00744 ObjectInstanceHandle theObject, 00745 AttributeHandleSet const & confirmedAttributes, 00746 VariableLengthData const & theUserSuppliedTag) 00747 throw ( 00748 NoAcquisitionPending, 00749 AttributeDivestitureWasNotRequested, 00750 AttributeNotOwned, 00751 AttributeNotDefined, 00752 ObjectInstanceNotKnown, 00753 SaveInProgress, 00754 RestoreInProgress, 00755 FederateNotExecutionMember, 00756 NotConnected, 00757 RTIinternalError) = 0; 00758 00759 // 7.8 00760 virtual void attributeOwnershipAcquisition ( 00761 ObjectInstanceHandle theObject, 00762 AttributeHandleSet const & desiredAttributes, 00763 VariableLengthData const & theUserSuppliedTag) 00764 throw ( 00765 AttributeNotPublished, 00766 ObjectClassNotPublished, 00767 FederateOwnsAttributes, 00768 AttributeNotDefined, 00769 ObjectInstanceNotKnown, 00770 SaveInProgress, 00771 RestoreInProgress, 00772 FederateNotExecutionMember, 00773 NotConnected, 00774 RTIinternalError) = 0; 00775 00776 // 7.9 00777 virtual void attributeOwnershipAcquisitionIfAvailable ( 00778 ObjectInstanceHandle theObject, 00779 AttributeHandleSet const & desiredAttributes) 00780 throw ( 00781 AttributeAlreadyBeingAcquired, 00782 AttributeNotPublished, 00783 ObjectClassNotPublished, 00784 FederateOwnsAttributes, 00785 AttributeNotDefined, 00786 ObjectInstanceNotKnown, 00787 SaveInProgress, 00788 RestoreInProgress, 00789 FederateNotExecutionMember, 00790 NotConnected, 00791 RTIinternalError) = 0; 00792 00793 // 7.12 00794 virtual void attributeOwnershipReleaseDenied ( 00795 ObjectInstanceHandle theObject, 00796 AttributeHandleSet const & theAttributes) 00797 throw ( 00798 AttributeNotOwned, 00799 AttributeNotDefined, 00800 ObjectInstanceNotKnown, 00801 SaveInProgress, 00802 RestoreInProgress, 00803 FederateNotExecutionMember, 00804 NotConnected, 00805 RTIinternalError) = 0; 00806 00807 // 7.13 00808 virtual void attributeOwnershipDivestitureIfWanted ( 00809 ObjectInstanceHandle theObject, 00810 AttributeHandleSet const & theAttributes, 00811 AttributeHandleSet & theDivestedAttributes) // filled by RTI 00812 throw ( 00813 AttributeNotOwned, 00814 AttributeNotDefined, 00815 ObjectInstanceNotKnown, 00816 SaveInProgress, 00817 RestoreInProgress, 00818 FederateNotExecutionMember, 00819 NotConnected, 00820 RTIinternalError) = 0; 00821 00822 // 7.14 00823 virtual void cancelNegotiatedAttributeOwnershipDivestiture ( 00824 ObjectInstanceHandle theObject, 00825 AttributeHandleSet const & theAttributes) 00826 throw ( 00827 AttributeDivestitureWasNotRequested, 00828 AttributeNotOwned, 00829 AttributeNotDefined, 00830 ObjectInstanceNotKnown, 00831 SaveInProgress, 00832 RestoreInProgress, 00833 FederateNotExecutionMember, 00834 NotConnected, 00835 RTIinternalError) = 0; 00836 00837 // 7.15 00838 virtual void cancelAttributeOwnershipAcquisition ( 00839 ObjectInstanceHandle theObject, 00840 AttributeHandleSet const & theAttributes) 00841 throw ( 00842 AttributeAcquisitionWasNotRequested, 00843 AttributeAlreadyOwned, 00844 AttributeNotDefined, 00845 ObjectInstanceNotKnown, 00846 SaveInProgress, 00847 RestoreInProgress, 00848 FederateNotExecutionMember, 00849 NotConnected, 00850 RTIinternalError) = 0; 00851 00852 // 7.17 00853 virtual void queryAttributeOwnership ( 00854 ObjectInstanceHandle theObject, 00855 AttributeHandle theAttribute) 00856 throw ( 00857 AttributeNotDefined, 00858 ObjectInstanceNotKnown, 00859 SaveInProgress, 00860 RestoreInProgress, 00861 FederateNotExecutionMember, 00862 NotConnected, 00863 RTIinternalError) = 0; 00864 00865 // 7.19 00866 virtual bool isAttributeOwnedByFederate ( 00867 ObjectInstanceHandle theObject, 00868 AttributeHandle theAttribute) 00869 throw ( 00870 AttributeNotDefined, 00871 ObjectInstanceNotKnown, 00872 SaveInProgress, 00873 RestoreInProgress, 00874 FederateNotExecutionMember, 00875 NotConnected, 00876 RTIinternalError) = 0; 00877 00879 // Time Management Services // 00881 00882 // 8.2 00883 virtual void enableTimeRegulation ( 00884 LogicalTimeInterval const & theLookahead) 00885 throw ( 00886 InvalidLookahead, 00887 InTimeAdvancingState, 00888 RequestForTimeRegulationPending, 00889 TimeRegulationAlreadyEnabled, 00890 SaveInProgress, 00891 RestoreInProgress, 00892 FederateNotExecutionMember, 00893 NotConnected, 00894 RTIinternalError) = 0; 00895 00896 // 8.4 00897 virtual void disableTimeRegulation () 00898 throw ( 00899 TimeRegulationIsNotEnabled, 00900 SaveInProgress, 00901 RestoreInProgress, 00902 FederateNotExecutionMember, 00903 NotConnected, 00904 RTIinternalError) = 0; 00905 00906 // 8.5 00907 virtual void enableTimeConstrained () 00908 throw ( 00909 InTimeAdvancingState, 00910 RequestForTimeConstrainedPending, 00911 TimeConstrainedAlreadyEnabled, 00912 SaveInProgress, 00913 RestoreInProgress, 00914 FederateNotExecutionMember, 00915 NotConnected, 00916 RTIinternalError) = 0; 00917 00918 // 8.7 00919 virtual void disableTimeConstrained () 00920 throw ( 00921 TimeConstrainedIsNotEnabled, 00922 SaveInProgress, 00923 RestoreInProgress, 00924 FederateNotExecutionMember, 00925 NotConnected, 00926 RTIinternalError) = 0; 00927 00928 // 8.8 00929 virtual void timeAdvanceRequest ( 00930 LogicalTime const & theTime) 00931 throw ( 00932 LogicalTimeAlreadyPassed, 00933 InvalidLogicalTime, 00934 InTimeAdvancingState, 00935 RequestForTimeRegulationPending, 00936 RequestForTimeConstrainedPending, 00937 SaveInProgress, 00938 RestoreInProgress, 00939 FederateNotExecutionMember, 00940 NotConnected, 00941 RTIinternalError) = 0; 00942 00943 // 8.9 00944 virtual void timeAdvanceRequestAvailable ( 00945 LogicalTime const & theTime) 00946 throw ( 00947 LogicalTimeAlreadyPassed, 00948 InvalidLogicalTime, 00949 InTimeAdvancingState, 00950 RequestForTimeRegulationPending, 00951 RequestForTimeConstrainedPending, 00952 SaveInProgress, 00953 RestoreInProgress, 00954 FederateNotExecutionMember, 00955 NotConnected, 00956 RTIinternalError) = 0; 00957 00958 // 8.10 00959 virtual void nextMessageRequest ( 00960 LogicalTime const & theTime) 00961 throw ( 00962 LogicalTimeAlreadyPassed, 00963 InvalidLogicalTime, 00964 InTimeAdvancingState, 00965 RequestForTimeRegulationPending, 00966 RequestForTimeConstrainedPending, 00967 SaveInProgress, 00968 RestoreInProgress, 00969 FederateNotExecutionMember, 00970 NotConnected, 00971 RTIinternalError) = 0; 00972 00973 // 8.11 00974 virtual void nextMessageRequestAvailable ( 00975 LogicalTime const & theTime) 00976 throw ( 00977 LogicalTimeAlreadyPassed, 00978 InvalidLogicalTime, 00979 InTimeAdvancingState, 00980 RequestForTimeRegulationPending, 00981 RequestForTimeConstrainedPending, 00982 SaveInProgress, 00983 RestoreInProgress, 00984 FederateNotExecutionMember, 00985 NotConnected, 00986 RTIinternalError) = 0; 00987 00988 // 8.12 00989 virtual void flushQueueRequest ( 00990 LogicalTime const & theTime) 00991 throw ( 00992 LogicalTimeAlreadyPassed, 00993 InvalidLogicalTime, 00994 InTimeAdvancingState, 00995 RequestForTimeRegulationPending, 00996 RequestForTimeConstrainedPending, 00997 SaveInProgress, 00998 RestoreInProgress, 00999 FederateNotExecutionMember, 01000 NotConnected, 01001 RTIinternalError) = 0; 01002 01003 // 8.14 01004 virtual void enableAsynchronousDelivery () 01005 throw ( 01006 AsynchronousDeliveryAlreadyEnabled, 01007 SaveInProgress, 01008 RestoreInProgress, 01009 FederateNotExecutionMember, 01010 NotConnected, 01011 RTIinternalError) = 0; 01012 01013 // 8.15 01014 virtual void disableAsynchronousDelivery () 01015 throw ( 01016 AsynchronousDeliveryAlreadyDisabled, 01017 SaveInProgress, 01018 RestoreInProgress, 01019 FederateNotExecutionMember, 01020 NotConnected, 01021 RTIinternalError) = 0; 01022 01023 // 8.16 01024 virtual bool queryGALT (LogicalTime & theTime) 01025 throw ( 01026 SaveInProgress, 01027 RestoreInProgress, 01028 FederateNotExecutionMember, 01029 NotConnected, 01030 RTIinternalError) = 0; 01031 01032 // 8.17 01033 virtual void queryLogicalTime (LogicalTime & theTime) 01034 throw ( 01035 SaveInProgress, 01036 RestoreInProgress, 01037 FederateNotExecutionMember, 01038 NotConnected, 01039 RTIinternalError) = 0; 01040 01041 // 8.18 01042 virtual bool queryLITS (LogicalTime & theTime) 01043 throw ( 01044 SaveInProgress, 01045 RestoreInProgress, 01046 FederateNotExecutionMember, 01047 NotConnected, 01048 RTIinternalError) = 0; 01049 01050 // 8.19 01051 virtual void modifyLookahead ( 01052 LogicalTimeInterval const & theLookahead) 01053 throw ( 01054 InvalidLookahead, 01055 InTimeAdvancingState, 01056 TimeRegulationIsNotEnabled, 01057 SaveInProgress, 01058 RestoreInProgress, 01059 FederateNotExecutionMember, 01060 NotConnected, 01061 RTIinternalError) = 0; 01062 01063 // 8.20 01064 virtual void queryLookahead (LogicalTimeInterval & interval) 01065 throw ( 01066 TimeRegulationIsNotEnabled, 01067 SaveInProgress, 01068 RestoreInProgress, 01069 FederateNotExecutionMember, 01070 NotConnected, 01071 RTIinternalError) = 0; 01072 01073 // 8.21 01074 virtual void retract ( 01075 MessageRetractionHandle theHandle) 01076 throw ( 01077 MessageCanNoLongerBeRetracted, 01078 InvalidMessageRetractionHandle, 01079 TimeRegulationIsNotEnabled, 01080 SaveInProgress, 01081 RestoreInProgress, 01082 FederateNotExecutionMember, 01083 NotConnected, 01084 RTIinternalError) = 0; 01085 01086 // 8.23 01087 virtual void changeAttributeOrderType ( 01088 ObjectInstanceHandle theObject, 01089 AttributeHandleSet const & theAttributes, 01090 OrderType theType) 01091 throw ( 01092 AttributeNotOwned, 01093 AttributeNotDefined, 01094 ObjectInstanceNotKnown, 01095 SaveInProgress, 01096 RestoreInProgress, 01097 FederateNotExecutionMember, 01098 NotConnected, 01099 RTIinternalError) = 0; 01100 01101 // 8.24 01102 virtual void changeInteractionOrderType ( 01103 InteractionClassHandle theClass, 01104 OrderType theType) 01105 throw ( 01106 InteractionClassNotPublished, 01107 InteractionClassNotDefined, 01108 SaveInProgress, 01109 RestoreInProgress, 01110 FederateNotExecutionMember, 01111 NotConnected, 01112 RTIinternalError) = 0; 01113 01115 // Data Distribution Management // 01117 01118 // 9.2 01119 virtual RegionHandle createRegion ( 01120 DimensionHandleSet const & theDimensions) 01121 throw ( 01122 InvalidDimensionHandle, 01123 SaveInProgress, 01124 RestoreInProgress, 01125 FederateNotExecutionMember, 01126 NotConnected, 01127 RTIinternalError) = 0; 01128 01129 // 9.3 01130 virtual void commitRegionModifications ( 01131 RegionHandleSet const & theRegionHandleSet) 01132 throw ( 01133 RegionNotCreatedByThisFederate, 01134 InvalidRegion, 01135 SaveInProgress, 01136 RestoreInProgress, 01137 FederateNotExecutionMember, 01138 NotConnected, 01139 RTIinternalError) = 0; 01140 01141 // 9.4 01142 virtual void deleteRegion ( 01143 RegionHandle const & theRegion) 01144 throw ( 01145 RegionInUseForUpdateOrSubscription, 01146 RegionNotCreatedByThisFederate, 01147 InvalidRegion, 01148 SaveInProgress, 01149 RestoreInProgress, 01150 FederateNotExecutionMember, 01151 NotConnected, 01152 RTIinternalError) = 0; 01153 01154 // 9.5 01155 virtual ObjectInstanceHandle registerObjectInstanceWithRegions ( 01156 ObjectClassHandle theClass, 01157 AttributeHandleSetRegionHandleSetPairVector const & 01158 theAttributeHandleSetRegionHandleSetPairVector) 01159 throw ( 01160 InvalidRegionContext, 01161 RegionNotCreatedByThisFederate, 01162 InvalidRegion, 01163 AttributeNotPublished, 01164 ObjectClassNotPublished, 01165 AttributeNotDefined, 01166 ObjectClassNotDefined, 01167 SaveInProgress, 01168 RestoreInProgress, 01169 FederateNotExecutionMember, 01170 NotConnected, 01171 RTIinternalError) = 0; 01172 01173 virtual ObjectInstanceHandle registerObjectInstanceWithRegions ( 01174 ObjectClassHandle theClass, 01175 AttributeHandleSetRegionHandleSetPairVector const & 01176 theAttributeHandleSetRegionHandleSetPairVector, 01177 std::wstring const & theObjectInstanceName) 01178 throw ( 01179 ObjectInstanceNameInUse, 01180 ObjectInstanceNameNotReserved, 01181 InvalidRegionContext, 01182 RegionNotCreatedByThisFederate, 01183 InvalidRegion, 01184 AttributeNotPublished, 01185 ObjectClassNotPublished, 01186 AttributeNotDefined, 01187 ObjectClassNotDefined, 01188 SaveInProgress, 01189 RestoreInProgress, 01190 FederateNotExecutionMember, 01191 NotConnected, 01192 RTIinternalError) = 0; 01193 01194 // 9.6 01195 virtual void associateRegionsForUpdates ( 01196 ObjectInstanceHandle theObject, 01197 AttributeHandleSetRegionHandleSetPairVector const & 01198 theAttributeHandleSetRegionHandleSetPairVector) 01199 throw ( 01200 InvalidRegionContext, 01201 RegionNotCreatedByThisFederate, 01202 InvalidRegion, 01203 AttributeNotDefined, 01204 ObjectInstanceNotKnown, 01205 SaveInProgress, 01206 RestoreInProgress, 01207 FederateNotExecutionMember, 01208 NotConnected, 01209 RTIinternalError) = 0; 01210 01211 // 9.7 01212 virtual void unassociateRegionsForUpdates ( 01213 ObjectInstanceHandle theObject, 01214 AttributeHandleSetRegionHandleSetPairVector const & 01215 theAttributeHandleSetRegionHandleSetPairVector) 01216 throw ( 01217 RegionNotCreatedByThisFederate, 01218 InvalidRegion, 01219 AttributeNotDefined, 01220 ObjectInstanceNotKnown, 01221 SaveInProgress, 01222 RestoreInProgress, 01223 FederateNotExecutionMember, 01224 NotConnected, 01225 RTIinternalError) = 0; 01226 01227 // 9.8 01228 virtual void subscribeObjectClassAttributesWithRegions ( 01229 ObjectClassHandle theClass, 01230 AttributeHandleSetRegionHandleSetPairVector const & 01231 theAttributeHandleSetRegionHandleSetPairVector, 01232 bool active = true, 01233 std::wstring const & updateRateDesignator = L"") 01234 throw ( 01235 InvalidRegionContext, 01236 RegionNotCreatedByThisFederate, 01237 InvalidRegion, 01238 AttributeNotDefined, 01239 ObjectClassNotDefined, 01240 InvalidUpdateRateDesignator, 01241 SaveInProgress, 01242 RestoreInProgress, 01243 FederateNotExecutionMember, 01244 NotConnected, 01245 RTIinternalError) = 0; 01246 01247 01248 // 9.9 01249 virtual void unsubscribeObjectClassAttributesWithRegions ( 01250 ObjectClassHandle theClass, 01251 AttributeHandleSetRegionHandleSetPairVector const & 01252 theAttributeHandleSetRegionHandleSetPairVector) 01253 throw ( 01254 RegionNotCreatedByThisFederate, 01255 InvalidRegion, 01256 AttributeNotDefined, 01257 ObjectClassNotDefined, 01258 SaveInProgress, 01259 RestoreInProgress, 01260 FederateNotExecutionMember, 01261 NotConnected, 01262 RTIinternalError) = 0; 01263 01264 // 9.10 01265 virtual void subscribeInteractionClassWithRegions ( 01266 InteractionClassHandle theClass, 01267 RegionHandleSet const & theRegionHandleSet, 01268 bool active = true) 01269 throw ( 01270 FederateServiceInvocationsAreBeingReportedViaMOM, 01271 InvalidRegionContext, 01272 RegionNotCreatedByThisFederate, 01273 InvalidRegion, 01274 InteractionClassNotDefined, 01275 SaveInProgress, 01276 RestoreInProgress, 01277 FederateNotExecutionMember, 01278 NotConnected, 01279 RTIinternalError) = 0; 01280 01281 // 9.11 01282 virtual void unsubscribeInteractionClassWithRegions ( 01283 InteractionClassHandle theClass, 01284 RegionHandleSet const & theRegionHandleSet) 01285 throw ( 01286 RegionNotCreatedByThisFederate, 01287 InvalidRegion, 01288 InteractionClassNotDefined, 01289 SaveInProgress, 01290 RestoreInProgress, 01291 FederateNotExecutionMember, 01292 NotConnected, 01293 RTIinternalError) = 0; 01294 01295 // 9.12 01296 virtual void sendInteractionWithRegions ( 01297 InteractionClassHandle theInteraction, 01298 ParameterHandleValueMap const & theParameterValues, 01299 RegionHandleSet const & theRegionHandleSet, 01300 VariableLengthData const & theUserSuppliedTag) 01301 throw ( 01302 InvalidRegionContext, 01303 RegionNotCreatedByThisFederate, 01304 InvalidRegion, 01305 InteractionClassNotPublished, 01306 InteractionParameterNotDefined, 01307 InteractionClassNotDefined, 01308 SaveInProgress, 01309 RestoreInProgress, 01310 FederateNotExecutionMember, 01311 NotConnected, 01312 RTIinternalError) = 0; 01313 01314 virtual MessageRetractionHandle sendInteractionWithRegions ( 01315 InteractionClassHandle theInteraction, 01316 ParameterHandleValueMap const & theParameterValues, 01317 RegionHandleSet const & theRegionHandleSet, 01318 VariableLengthData const & theUserSuppliedTag, 01319 LogicalTime const & theTime) 01320 throw ( 01321 InvalidLogicalTime, 01322 InvalidRegionContext, 01323 RegionNotCreatedByThisFederate, 01324 InvalidRegion, 01325 InteractionClassNotPublished, 01326 InteractionParameterNotDefined, 01327 InteractionClassNotDefined, 01328 SaveInProgress, 01329 RestoreInProgress, 01330 FederateNotExecutionMember, 01331 NotConnected, 01332 RTIinternalError) = 0; 01333 01334 // 9.13 01335 virtual void requestAttributeValueUpdateWithRegions ( 01336 ObjectClassHandle theClass, 01337 AttributeHandleSetRegionHandleSetPairVector const & theSet, 01338 VariableLengthData const & theUserSuppliedTag) 01339 throw ( 01340 InvalidRegionContext, 01341 RegionNotCreatedByThisFederate, 01342 InvalidRegion, 01343 AttributeNotDefined, 01344 ObjectClassNotDefined, 01345 SaveInProgress, 01346 RestoreInProgress, 01347 FederateNotExecutionMember, 01348 NotConnected, 01349 RTIinternalError) = 0; 01350 01352 // RTI Support Services // 01354 01355 // 10.2 01356 virtual ResignAction getAutomaticResignDirective () 01357 throw ( 01358 FederateNotExecutionMember, 01359 NotConnected, 01360 RTIinternalError) = 0; 01361 01362 // 10.3 01363 virtual void setAutomaticResignDirective ( 01364 ResignAction resignAction) 01365 throw ( 01366 InvalidResignAction, 01367 FederateNotExecutionMember, 01368 NotConnected, 01369 RTIinternalError) = 0; 01370 01371 // 10.4 01372 virtual FederateHandle getFederateHandle ( 01373 std::wstring const & theName) 01374 throw ( 01375 NameNotFound, 01376 FederateNotExecutionMember, 01377 NotConnected, 01378 RTIinternalError) = 0; 01379 01380 // 10.5 01381 virtual std::wstring getFederateName ( 01382 FederateHandle theHandle) 01383 throw ( 01384 InvalidFederateHandle, 01385 FederateHandleNotKnown, 01386 FederateNotExecutionMember, 01387 NotConnected, 01388 RTIinternalError) = 0; 01389 01390 // 10.6 01391 virtual ObjectClassHandle getObjectClassHandle ( 01392 std::wstring const & theName) 01393 throw ( 01394 NameNotFound, 01395 FederateNotExecutionMember, 01396 NotConnected, 01397 RTIinternalError) = 0; 01398 01399 // 10.7 01400 virtual std::wstring getObjectClassName ( 01401 ObjectClassHandle theHandle) 01402 throw ( 01403 InvalidObjectClassHandle, 01404 FederateNotExecutionMember, 01405 NotConnected, 01406 RTIinternalError) = 0; 01407 01408 // 10.8 01409 virtual ObjectClassHandle getKnownObjectClassHandle ( 01410 ObjectInstanceHandle theObject) 01411 throw ( 01412 ObjectInstanceNotKnown, 01413 FederateNotExecutionMember, 01414 NotConnected, 01415 RTIinternalError) = 0; 01416 01417 // 10.9 01418 virtual ObjectInstanceHandle getObjectInstanceHandle ( 01419 std::wstring const & theName) 01420 throw ( 01421 ObjectInstanceNotKnown, 01422 FederateNotExecutionMember, 01423 NotConnected, 01424 RTIinternalError) = 0; 01425 01426 // 10.10 01427 virtual std::wstring getObjectInstanceName ( 01428 ObjectInstanceHandle theHandle) 01429 throw ( 01430 ObjectInstanceNotKnown, 01431 FederateNotExecutionMember, 01432 NotConnected, 01433 RTIinternalError) = 0; 01434 01435 // 10.11 01436 virtual AttributeHandle getAttributeHandle ( 01437 ObjectClassHandle whichClass, 01438 std::wstring const & theAttributeName) 01439 throw ( 01440 NameNotFound, 01441 InvalidObjectClassHandle, 01442 FederateNotExecutionMember, 01443 NotConnected, 01444 RTIinternalError) = 0; 01445 01446 // 10.12 01447 virtual std::wstring getAttributeName ( 01448 ObjectClassHandle whichClass, 01449 AttributeHandle theHandle) 01450 throw ( 01451 AttributeNotDefined, 01452 InvalidAttributeHandle, 01453 InvalidObjectClassHandle, 01454 FederateNotExecutionMember, 01455 NotConnected, 01456 RTIinternalError) = 0; 01457 01458 // 10.13 01459 virtual double getUpdateRateValue ( 01460 std::wstring const & updateRateDesignator) 01461 throw ( 01462 InvalidUpdateRateDesignator, 01463 FederateNotExecutionMember, 01464 NotConnected, 01465 RTIinternalError) = 0; 01466 01467 // 10.14 01468 virtual double getUpdateRateValueForAttribute ( 01469 ObjectInstanceHandle theObject, 01470 AttributeHandle theAttribute) 01471 throw ( 01472 ObjectInstanceNotKnown, 01473 AttributeNotDefined, 01474 FederateNotExecutionMember, 01475 NotConnected, 01476 RTIinternalError) = 0; 01477 01478 // 10.15 01479 virtual InteractionClassHandle getInteractionClassHandle ( 01480 std::wstring const & theName) 01481 throw ( 01482 NameNotFound, 01483 FederateNotExecutionMember, 01484 NotConnected, 01485 RTIinternalError) = 0; 01486 01487 // 10.16 01488 virtual std::wstring getInteractionClassName ( 01489 InteractionClassHandle theHandle) 01490 throw ( 01491 InvalidInteractionClassHandle, 01492 FederateNotExecutionMember, 01493 NotConnected, 01494 RTIinternalError) = 0; 01495 01496 // 10.17 01497 virtual ParameterHandle getParameterHandle ( 01498 InteractionClassHandle whichClass, 01499 std::wstring const & theName) 01500 throw ( 01501 NameNotFound, 01502 InvalidInteractionClassHandle, 01503 FederateNotExecutionMember, 01504 NotConnected, 01505 RTIinternalError) = 0; 01506 01507 // 10.18 01508 virtual std::wstring getParameterName ( 01509 InteractionClassHandle whichClass, 01510 ParameterHandle theHandle) 01511 throw ( 01512 InteractionParameterNotDefined, 01513 InvalidParameterHandle, 01514 InvalidInteractionClassHandle, 01515 FederateNotExecutionMember, 01516 NotConnected, 01517 RTIinternalError) = 0; 01518 01519 // 10.19 01520 virtual OrderType getOrderType ( 01521 std::wstring const & orderName) 01522 throw ( 01523 InvalidOrderName, 01524 FederateNotExecutionMember, 01525 NotConnected, 01526 RTIinternalError) = 0; 01527 01528 // 10.20 01529 virtual std::wstring getOrderName ( 01530 OrderType orderType) 01531 throw ( 01532 InvalidOrderType, 01533 FederateNotExecutionMember, 01534 NotConnected, 01535 RTIinternalError) = 0; 01536 01537 // 10.21 01538 virtual TransportationType getTransportationType ( 01539 std::wstring const & transportationName) 01540 throw ( 01541 InvalidTransportationName, 01542 FederateNotExecutionMember, 01543 NotConnected, 01544 RTIinternalError) = 0; 01545 01546 // 10.22 01547 virtual std::wstring getTransportationName ( 01548 TransportationType transportationType) 01549 throw ( 01550 InvalidTransportationType, 01551 FederateNotExecutionMember, 01552 NotConnected, 01553 RTIinternalError) = 0; 01554 01555 // 10.23 01556 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute ( 01557 ObjectClassHandle theClass, 01558 AttributeHandle theHandle) 01559 throw ( 01560 AttributeNotDefined, 01561 InvalidAttributeHandle, 01562 InvalidObjectClassHandle, 01563 FederateNotExecutionMember, 01564 NotConnected, 01565 RTIinternalError) = 0; 01566 01567 // 10.24 01568 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass ( 01569 InteractionClassHandle theClass) 01570 throw ( 01571 InvalidInteractionClassHandle, 01572 FederateNotExecutionMember, 01573 NotConnected, 01574 RTIinternalError) = 0; 01575 01576 // 10.25 01577 virtual DimensionHandle getDimensionHandle ( 01578 std::wstring const & theName) 01579 throw ( 01580 NameNotFound, 01581 FederateNotExecutionMember, 01582 NotConnected, 01583 RTIinternalError) = 0; 01584 01585 // 10.26 01586 virtual std::wstring getDimensionName ( 01587 DimensionHandle theHandle) 01588 throw ( 01589 InvalidDimensionHandle, 01590 FederateNotExecutionMember, 01591 NotConnected, 01592 RTIinternalError) = 0; 01593 01594 // 10.27 01595 virtual unsigned long getDimensionUpperBound ( 01596 DimensionHandle theHandle) 01597 throw ( 01598 InvalidDimensionHandle, 01599 FederateNotExecutionMember, 01600 NotConnected, 01601 RTIinternalError) = 0; 01602 01603 // 10.28 01604 virtual DimensionHandleSet getDimensionHandleSet ( 01605 RegionHandle theRegionHandle) 01606 throw ( 01607 InvalidRegion, 01608 SaveInProgress, 01609 RestoreInProgress, 01610 FederateNotExecutionMember, 01611 NotConnected, 01612 RTIinternalError) = 0; 01613 01614 // 10.29 01615 virtual RangeBounds getRangeBounds ( 01616 RegionHandle theRegionHandle, 01617 DimensionHandle theDimensionHandle) 01618 throw ( 01619 RegionDoesNotContainSpecifiedDimension, 01620 InvalidRegion, 01621 SaveInProgress, 01622 RestoreInProgress, 01623 FederateNotExecutionMember, 01624 NotConnected, 01625 RTIinternalError) = 0; 01626 01627 // 10.30 01628 virtual void setRangeBounds ( 01629 RegionHandle theRegionHandle, 01630 DimensionHandle theDimensionHandle, 01631 RangeBounds const & theRangeBounds) 01632 throw ( 01633 InvalidRangeBound, 01634 RegionDoesNotContainSpecifiedDimension, 01635 RegionNotCreatedByThisFederate, 01636 InvalidRegion, 01637 SaveInProgress, 01638 RestoreInProgress, 01639 FederateNotExecutionMember, 01640 NotConnected, 01641 RTIinternalError) = 0; 01642 01643 // 10.31 01644 virtual unsigned long normalizeFederateHandle ( 01645 FederateHandle theFederateHandle) 01646 throw ( 01647 InvalidFederateHandle, 01648 FederateNotExecutionMember, 01649 NotConnected, 01650 RTIinternalError) = 0; 01651 01652 // 10.32 01653 virtual unsigned long normalizeServiceGroup ( 01654 ServiceGroup theServiceGroup) 01655 throw ( 01656 InvalidServiceGroup, 01657 FederateNotExecutionMember, 01658 NotConnected, 01659 RTIinternalError) = 0; 01660 01661 // 10.33 01662 virtual void enableObjectClassRelevanceAdvisorySwitch () 01663 throw ( 01664 ObjectClassRelevanceAdvisorySwitchIsOn, 01665 SaveInProgress, 01666 RestoreInProgress, 01667 FederateNotExecutionMember, 01668 NotConnected, 01669 RTIinternalError) = 0; 01670 01671 // 10.34 01672 virtual void disableObjectClassRelevanceAdvisorySwitch () 01673 throw ( 01674 ObjectClassRelevanceAdvisorySwitchIsOff, 01675 SaveInProgress, 01676 RestoreInProgress, 01677 FederateNotExecutionMember, 01678 NotConnected, 01679 RTIinternalError) = 0; 01680 01681 // 10.35 01682 virtual void enableAttributeRelevanceAdvisorySwitch () 01683 throw ( 01684 AttributeRelevanceAdvisorySwitchIsOn, 01685 SaveInProgress, 01686 RestoreInProgress, 01687 FederateNotExecutionMember, 01688 NotConnected, 01689 RTIinternalError) = 0; 01690 01691 // 10.36 01692 virtual void disableAttributeRelevanceAdvisorySwitch () 01693 throw ( 01694 AttributeRelevanceAdvisorySwitchIsOff, 01695 SaveInProgress, 01696 RestoreInProgress, 01697 FederateNotExecutionMember, 01698 NotConnected, 01699 RTIinternalError) = 0; 01700 01701 // 10.37 01702 virtual void enableAttributeScopeAdvisorySwitch () 01703 throw ( 01704 AttributeScopeAdvisorySwitchIsOn, 01705 SaveInProgress, 01706 RestoreInProgress, 01707 FederateNotExecutionMember, 01708 NotConnected, 01709 RTIinternalError) = 0; 01710 01711 // 10.38 01712 virtual void disableAttributeScopeAdvisorySwitch () 01713 throw ( 01714 AttributeScopeAdvisorySwitchIsOff, 01715 SaveInProgress, 01716 RestoreInProgress, 01717 FederateNotExecutionMember, 01718 NotConnected, 01719 RTIinternalError) = 0; 01720 01721 // 10.39 01722 virtual void enableInteractionRelevanceAdvisorySwitch () 01723 throw ( 01724 InteractionRelevanceAdvisorySwitchIsOn, 01725 SaveInProgress, 01726 RestoreInProgress, 01727 FederateNotExecutionMember, 01728 NotConnected, 01729 RTIinternalError) = 0; 01730 01731 // 10.40 01732 virtual void disableInteractionRelevanceAdvisorySwitch () 01733 throw ( 01734 InteractionRelevanceAdvisorySwitchIsOff, 01735 SaveInProgress, 01736 RestoreInProgress, 01737 FederateNotExecutionMember, 01738 NotConnected, 01739 RTIinternalError) = 0; 01740 01741 // 10.41 01742 virtual bool evokeCallback ( 01743 double approximateMinimumTimeInSeconds) 01744 throw ( 01745 CallNotAllowedFromWithinCallback, 01746 RTIinternalError) = 0; 01747 01748 // 10.42 01749 virtual bool evokeMultipleCallbacks ( 01750 double approximateMinimumTimeInSeconds, 01751 double approximateMaximumTimeInSeconds) 01752 throw ( 01753 CallNotAllowedFromWithinCallback, 01754 RTIinternalError) = 0; 01755 01756 // 10.43 01757 virtual void enableCallbacks () 01758 throw ( 01759 SaveInProgress, 01760 RestoreInProgress, 01761 RTIinternalError) = 0; 01762 01763 // 10.44 01764 virtual void disableCallbacks () 01765 throw ( 01766 SaveInProgress, 01767 RestoreInProgress, 01768 RTIinternalError) = 0; 01769 01770 // API-specific services 01771 01772 // Return instance of time factory being used by the federation 01773 virtual std::auto_ptr<LogicalTimeFactory> getTimeFactory () const 01774 throw ( 01775 FederateNotExecutionMember, 01776 NotConnected, 01777 RTIinternalError) = 0; 01778 01779 // Decode handles 01780 virtual FederateHandle decodeFederateHandle ( 01781 VariableLengthData const & encodedValue) const 01782 throw ( 01783 CouldNotDecode, 01784 FederateNotExecutionMember, 01785 NotConnected, 01786 RTIinternalError) = 0; 01787 01788 virtual ObjectClassHandle decodeObjectClassHandle ( 01789 VariableLengthData const & encodedValue) const 01790 throw ( 01791 CouldNotDecode, 01792 FederateNotExecutionMember, 01793 NotConnected, 01794 RTIinternalError) = 0; 01795 01796 virtual InteractionClassHandle decodeInteractionClassHandle ( 01797 VariableLengthData const & encodedValue) const 01798 throw ( 01799 CouldNotDecode, 01800 FederateNotExecutionMember, 01801 NotConnected, 01802 RTIinternalError) = 0; 01803 01804 virtual ObjectInstanceHandle decodeObjectInstanceHandle ( 01805 VariableLengthData const & encodedValue) const 01806 throw ( 01807 CouldNotDecode, 01808 FederateNotExecutionMember, 01809 NotConnected, 01810 RTIinternalError) = 0; 01811 01812 virtual AttributeHandle decodeAttributeHandle ( 01813 VariableLengthData const & encodedValue) const 01814 throw ( 01815 CouldNotDecode, 01816 FederateNotExecutionMember, 01817 NotConnected, 01818 RTIinternalError) = 0; 01819 01820 virtual ParameterHandle decodeParameterHandle ( 01821 VariableLengthData const & encodedValue) const 01822 throw ( 01823 CouldNotDecode, 01824 FederateNotExecutionMember, 01825 NotConnected, 01826 RTIinternalError) = 0; 01827 01828 virtual DimensionHandle decodeDimensionHandle ( 01829 VariableLengthData const & encodedValue) const 01830 throw ( 01831 CouldNotDecode, 01832 FederateNotExecutionMember, 01833 NotConnected, 01834 RTIinternalError) = 0; 01835 01836 virtual MessageRetractionHandle decodeMessageRetractionHandle ( 01837 VariableLengthData const & encodedValue) const 01838 throw ( 01839 CouldNotDecode, 01840 FederateNotExecutionMember, 01841 NotConnected, 01842 RTIinternalError) = 0; 01843 01844 virtual RegionHandle decodeRegionHandle ( 01845 VariableLengthData const & encodedValue) const 01846 throw ( 01847 CouldNotDecode, 01848 FederateNotExecutionMember, 01849 NotConnected, 01850 RTIinternalError) = 0; 01851 01852 public: 01853 01854 static RTI::RTIambassador * create(); 01855 01856 protected: 01857 01858 std::auto_ptr<RTIambassador> myRtiAmb; 01859 FederateAmbassador *myFedAmb; 01860 }; 01861 01862 #endif 01863 #endif 01864 01865