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