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