![]() |
VR-Link API Documentation for HLA 1.3
|
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 00013 #ifndef DtHLA_1516_EVOLVED 00014 #include <vlutil/vlMachineTypes.h> 00015 #include "vrlRtiAmb1516.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 00036 DtDirectRtiAmbassador(const std::vector<std::wstring>& createArguments = 00037 std::vector<std::wstring>() ) 00038 throw(BadInitializationParameter, 00039 RTIinternalError); 00040 00041 virtual ~DtDirectRtiAmbassador(); 00042 00043 private: 00045 DtDirectRtiAmbassador(const DtDirectRtiAmbassador &other); 00046 00048 DtDirectRtiAmbassador& operator=(const DtDirectRtiAmbassador &other); 00049 00050 public: 00051 00053 virtual RTI::RTIambassador* rtiAmb(); 00054 00056 virtual void createFederationExecution 00057 (std::wstring const & federationExecutionName, 00058 std::wstring const & fullPathNameToTheFDDfile, 00059 std::wstring const & logicalTimeImplementationName = L"") 00060 throw (FederationExecutionAlreadyExists, 00061 CouldNotOpenFDD, 00062 ErrorReadingFDD, 00063 RTIinternalError) ; 00064 00066 virtual void destroyFederationExecution 00067 (std::wstring const & federationExecutionName) 00068 throw (FederatesCurrentlyJoined, 00069 FederationExecutionDoesNotExist, 00070 RTIinternalError); 00071 00073 virtual FederateHandle joinFederationExecution 00074 (std::wstring const & federateType, 00075 std::wstring const & federationExecutionName, 00076 FederateAmbassador & federateAmbassador) 00077 throw (FederateAlreadyExecutionMember, 00078 FederationExecutionDoesNotExist, 00079 SaveInProgress, 00080 RestoreInProgress, 00081 RTIinternalError) ; 00082 00084 virtual void resignFederationExecution 00085 (ResignAction resignAction) 00086 throw (OwnershipAcquisitionPending, 00087 FederateOwnsAttributes, 00088 FederateNotExecutionMember, 00089 RTIinternalError) ; 00090 00092 virtual void registerFederationSynchronizationPoint 00093 (std::wstring const & label, 00094 RTI::VariableLengthData const & aTag) 00095 throw (FederateNotExecutionMember, 00096 SaveInProgress, 00097 RestoreInProgress, 00098 RTIinternalError) ; 00099 00100 virtual void registerFederationSynchronizationPoint 00101 (std::wstring const & label, 00102 RTI::VariableLengthData const & aTag, 00103 FederateHandleSet const & syncSet) 00104 throw (FederateNotExecutionMember, 00105 SaveInProgress, 00106 RestoreInProgress, 00107 RTIinternalError) ; 00108 00110 virtual void synchronizationPointAchieved 00111 (std::wstring const & label) 00112 throw (SynchronizationPointLabelNotAnnounced, 00113 FederateNotExecutionMember, 00114 SaveInProgress, 00115 RestoreInProgress, 00116 RTIinternalError) ; 00117 00119 virtual void requestFederationSave 00120 (std::wstring const & label) 00121 throw (FederateNotExecutionMember, 00122 SaveInProgress, 00123 RestoreInProgress, 00124 RTIinternalError) ; 00125 00126 virtual void requestFederationSave 00127 (std::wstring const & label, 00128 LogicalTime const & theTime) 00129 throw (LogicalTimeAlreadyPassed, 00130 InvalidLogicalTime, 00131 FederateUnableToUseTime, 00132 FederateNotExecutionMember, 00133 SaveInProgress, 00134 RestoreInProgress, 00135 RTIinternalError) ; 00136 00138 virtual void federateSaveBegun () 00139 throw (SaveNotInitiated, 00140 FederateNotExecutionMember, 00141 RestoreInProgress, 00142 RTIinternalError) ; 00143 00145 virtual void federateSaveComplete () 00146 throw (FederateHasNotBegunSave, 00147 FederateNotExecutionMember, 00148 RestoreInProgress, 00149 RTIinternalError) ; 00150 00151 virtual void federateSaveNotComplete() 00152 throw (FederateHasNotBegunSave, 00153 FederateNotExecutionMember, 00154 RestoreInProgress, 00155 RTIinternalError) ; 00156 00158 virtual void queryFederationSaveStatus () 00159 throw (FederateNotExecutionMember, 00160 RestoreInProgress, 00161 RTIinternalError) ; 00162 00164 virtual void requestFederationRestore 00165 (std::wstring const & label) 00166 throw (FederateNotExecutionMember, 00167 SaveInProgress, 00168 RestoreInProgress, 00169 RTIinternalError) ; 00170 00172 virtual void federateRestoreComplete () 00173 throw (RestoreNotRequested, 00174 FederateNotExecutionMember, 00175 SaveInProgress, 00176 RTIinternalError) ; 00177 00178 virtual void federateRestoreNotComplete () 00179 throw (RestoreNotRequested, 00180 FederateNotExecutionMember, 00181 SaveInProgress, 00182 RTIinternalError) ; 00183 00185 virtual void queryFederationRestoreStatus () 00186 throw (FederateNotExecutionMember, 00187 SaveInProgress, 00188 RTIinternalError) ; 00189 00193 00195 virtual void publishObjectClassAttributes 00196 (ObjectClassHandle theClass, 00197 AttributeHandleSet const & attributeList) 00198 throw (ObjectClassNotDefined, 00199 AttributeNotDefined, 00200 FederateNotExecutionMember, 00201 SaveInProgress, 00202 RestoreInProgress, 00203 RTIinternalError) ; 00204 00206 virtual void unpublishObjectClass 00207 (ObjectClassHandle theClass) 00208 throw (ObjectClassNotDefined, 00209 OwnershipAcquisitionPending, 00210 FederateNotExecutionMember, 00211 SaveInProgress, 00212 RestoreInProgress, 00213 RTIinternalError) ; 00214 00215 virtual void unpublishObjectClassAttributes 00216 (ObjectClassHandle theClass, 00217 AttributeHandleSet const & attributeList) 00218 throw (ObjectClassNotDefined, 00219 AttributeNotDefined, 00220 OwnershipAcquisitionPending, 00221 FederateNotExecutionMember, 00222 SaveInProgress, 00223 RestoreInProgress, 00224 RTIinternalError) ; 00225 00227 virtual void publishInteractionClass 00228 (InteractionClassHandle theInteraction) 00229 throw (InteractionClassNotDefined, 00230 FederateNotExecutionMember, 00231 SaveInProgress, 00232 RestoreInProgress, 00233 RTIinternalError) ; 00234 00236 virtual void unpublishInteractionClass 00237 (InteractionClassHandle theInteraction) 00238 throw (InteractionClassNotDefined, 00239 FederateNotExecutionMember, 00240 SaveInProgress, 00241 RestoreInProgress, 00242 RTIinternalError) ; 00243 00245 virtual void subscribeObjectClassAttributes 00246 (ObjectClassHandle theClass, 00247 AttributeHandleSet const & attributeList, 00248 bool active = true) 00249 throw (ObjectClassNotDefined, 00250 AttributeNotDefined, 00251 FederateNotExecutionMember, 00252 SaveInProgress, 00253 RestoreInProgress, 00254 RTIinternalError) ; 00255 00257 virtual void unsubscribeObjectClass 00258 (ObjectClassHandle theClass) 00259 throw (ObjectClassNotDefined, 00260 FederateNotExecutionMember, 00261 SaveInProgress, 00262 RestoreInProgress, 00263 RTIinternalError) ; 00264 00265 virtual void unsubscribeObjectClassAttributes 00266 (ObjectClassHandle theClass, 00267 AttributeHandleSet const & attributeList) 00268 throw (ObjectClassNotDefined, 00269 AttributeNotDefined, 00270 FederateNotExecutionMember, 00271 SaveInProgress, 00272 RestoreInProgress, 00273 RTIinternalError) ; 00274 00276 virtual void subscribeInteractionClass 00277 (InteractionClassHandle theClass, 00278 bool active = true) 00279 throw (InteractionClassNotDefined, 00280 FederateServiceInvocationsAreBeingReportedViaMOM, 00281 FederateNotExecutionMember, 00282 SaveInProgress, 00283 RestoreInProgress, 00284 RTIinternalError) ; 00285 00287 virtual void unsubscribeInteractionClass 00288 (InteractionClassHandle theClass) 00289 throw (InteractionClassNotDefined, 00290 FederateNotExecutionMember, 00291 SaveInProgress, 00292 RestoreInProgress, 00293 RTIinternalError) ; 00294 00298 00300 virtual void reserveObjectInstanceName 00301 (std::wstring const & theObjectInstanceName) 00302 throw (IllegalName, 00303 FederateNotExecutionMember, 00304 SaveInProgress, 00305 RestoreInProgress, 00306 RTIinternalError) ; 00307 00309 virtual ObjectInstanceHandle registerObjectInstance 00310 (ObjectClassHandle theClass) 00311 throw (ObjectClassNotDefined, 00312 ObjectClassNotPublished, 00313 FederateNotExecutionMember, 00314 SaveInProgress, 00315 RestoreInProgress, 00316 RTIinternalError) ; 00317 00318 virtual ObjectInstanceHandle registerObjectInstance 00319 (ObjectClassHandle theClass, 00320 std::wstring const & theObjectInstanceName) 00321 throw (ObjectClassNotDefined, 00322 ObjectClassNotPublished, 00323 ObjectInstanceNameNotReserved, 00324 ObjectInstanceNameInUse, 00325 FederateNotExecutionMember, 00326 SaveInProgress, 00327 RestoreInProgress, 00328 RTIinternalError) ; 00329 00331 virtual void updateAttributeValues 00332 (ObjectInstanceHandle theObject, 00333 AttributeHandleValueMap const & theAttributeValues, 00334 RTI::VariableLengthData const & aTag) 00335 throw (ObjectInstanceNotKnown, 00336 AttributeNotDefined, 00337 AttributeNotOwned, 00338 FederateNotExecutionMember, 00339 SaveInProgress, 00340 RestoreInProgress, 00341 RTIinternalError) ; 00342 00343 virtual MessageRetractionHandle updateAttributeValues 00344 (ObjectInstanceHandle theObject, 00345 AttributeHandleValueMap const & theAttributeValues, 00346 RTI::VariableLengthData const & aTag, 00347 LogicalTime const & theTime) 00348 throw (ObjectInstanceNotKnown, 00349 AttributeNotDefined, 00350 AttributeNotOwned, 00351 InvalidLogicalTime, 00352 FederateNotExecutionMember, 00353 SaveInProgress, 00354 RestoreInProgress, 00355 RTIinternalError) ; 00356 00358 virtual void sendInteraction 00359 (InteractionClassHandle theInteraction, 00360 ParameterHandleValueMap const & theParameterValues, 00361 RTI::VariableLengthData const & aTag) 00362 throw (InteractionClassNotPublished, 00363 InteractionClassNotDefined, 00364 InteractionParameterNotDefined, 00365 FederateNotExecutionMember, 00366 SaveInProgress, 00367 RestoreInProgress, 00368 RTIinternalError) ; 00369 00370 virtual MessageRetractionHandle sendInteraction 00371 (InteractionClassHandle theInteraction, 00372 ParameterHandleValueMap const & theParameterValues, 00373 RTI::VariableLengthData const & aTag, 00374 LogicalTime const & theTime) 00375 throw (InteractionClassNotPublished, 00376 InteractionClassNotDefined, 00377 InteractionParameterNotDefined, 00378 InvalidLogicalTime, 00379 FederateNotExecutionMember, 00380 SaveInProgress, 00381 RestoreInProgress, 00382 RTIinternalError) ; 00383 00385 virtual void deleteObjectInstance 00386 (ObjectInstanceHandle theObject, 00387 RTI::VariableLengthData const & aTag) 00388 throw (DeletePrivilegeNotHeld, 00389 ObjectInstanceNotKnown, 00390 FederateNotExecutionMember, 00391 SaveInProgress, 00392 RestoreInProgress, 00393 RTIinternalError) ; 00394 00395 virtual MessageRetractionHandle deleteObjectInstance 00396 (ObjectInstanceHandle theObject, 00397 RTI::VariableLengthData const & aTag, 00398 LogicalTime const & theTime) 00399 throw (DeletePrivilegeNotHeld, 00400 ObjectInstanceNotKnown, 00401 InvalidLogicalTime, 00402 FederateNotExecutionMember, 00403 SaveInProgress, 00404 RestoreInProgress, 00405 RTIinternalError) ; 00406 00408 virtual void localDeleteObjectInstance 00409 (ObjectInstanceHandle theObject) 00410 throw (ObjectInstanceNotKnown, 00411 FederateOwnsAttributes, 00412 OwnershipAcquisitionPending, 00413 FederateNotExecutionMember, 00414 SaveInProgress, 00415 RestoreInProgress, 00416 RTIinternalError) ; 00417 00419 virtual void changeAttributeTransportationType 00420 (ObjectInstanceHandle theObject, 00421 AttributeHandleSet const & theAttributes, 00422 TransportationType theType) 00423 throw (ObjectInstanceNotKnown, 00424 AttributeNotDefined, 00425 AttributeNotOwned, 00426 FederateNotExecutionMember, 00427 SaveInProgress, 00428 RestoreInProgress, 00429 RTIinternalError) ; 00430 00432 virtual void changeInteractionTransportationType 00433 (InteractionClassHandle theClass, 00434 TransportationType theType) 00435 throw (InteractionClassNotDefined, 00436 InteractionClassNotPublished, 00437 FederateNotExecutionMember, 00438 SaveInProgress, 00439 RestoreInProgress, 00440 RTIinternalError) ; 00441 00443 virtual void requestAttributeValueUpdate 00444 (ObjectInstanceHandle theObject, 00445 AttributeHandleSet const & theAttributes, 00446 RTI::VariableLengthData const & aTag) 00447 throw (ObjectInstanceNotKnown, 00448 AttributeNotDefined, 00449 FederateNotExecutionMember, 00450 SaveInProgress, 00451 RestoreInProgress, 00452 RTIinternalError) ; 00453 00454 virtual void requestAttributeValueUpdate 00455 (ObjectClassHandle theClass, 00456 AttributeHandleSet const & theAttributes, 00457 RTI::VariableLengthData const & aTag) 00458 throw (ObjectClassNotDefined, 00459 AttributeNotDefined, 00460 FederateNotExecutionMember, 00461 SaveInProgress, 00462 RestoreInProgress, 00463 RTIinternalError) ; 00464 00469 virtual void unconditionalAttributeOwnershipDivestiture 00470 (ObjectInstanceHandle theObject, 00471 AttributeHandleSet const & theAttributes) 00472 throw (ObjectInstanceNotKnown, 00473 AttributeNotDefined, 00474 AttributeNotOwned, 00475 FederateNotExecutionMember, 00476 SaveInProgress, 00477 RestoreInProgress, 00478 RTIinternalError) ; 00479 00481 virtual void negotiatedAttributeOwnershipDivestiture 00482 (ObjectInstanceHandle theObject, 00483 AttributeHandleSet const & theAttributes, 00484 RTI::VariableLengthData const & aTag) 00485 throw (ObjectInstanceNotKnown, 00486 AttributeNotDefined, 00487 AttributeNotOwned, 00488 AttributeAlreadyBeingDivested, 00489 FederateNotExecutionMember, 00490 SaveInProgress, 00491 RestoreInProgress, 00492 RTIinternalError) ; 00493 00495 virtual void confirmDivestiture 00496 (ObjectInstanceHandle theObject, 00497 AttributeHandleSet const & confirmedAttributes, 00498 RTI::VariableLengthData const & aTag) 00499 throw (ObjectInstanceNotKnown, 00500 AttributeNotDefined, 00501 AttributeNotOwned, 00502 AttributeDivestitureWasNotRequested, 00503 NoAcquisitionPending, 00504 FederateNotExecutionMember, 00505 SaveInProgress, 00506 RestoreInProgress, 00507 RTIinternalError) ; 00508 00510 virtual void attributeOwnershipAcquisition 00511 (ObjectInstanceHandle theObject, 00512 AttributeHandleSet const & desiredAttributes, 00513 RTI::VariableLengthData const & aTag) 00514 throw (ObjectInstanceNotKnown, 00515 ObjectClassNotPublished, 00516 AttributeNotDefined, 00517 AttributeNotPublished, 00518 FederateOwnsAttributes, 00519 FederateNotExecutionMember, 00520 SaveInProgress, 00521 RestoreInProgress, 00522 RTIinternalError) ; 00523 00525 virtual void attributeOwnershipAcquisitionIfAvailable 00526 (ObjectInstanceHandle theObject, 00527 AttributeHandleSet const & desiredAttributes) 00528 throw (ObjectInstanceNotKnown, 00529 ObjectClassNotPublished, 00530 AttributeNotDefined, 00531 AttributeNotPublished, 00532 FederateOwnsAttributes, 00533 AttributeAlreadyBeingAcquired, 00534 FederateNotExecutionMember, 00535 SaveInProgress, 00536 RestoreInProgress, 00537 RTIinternalError) ; 00538 00540 virtual void attributeOwnershipDivestitureIfWanted( 00541 ObjectInstanceHandle theObject, 00542 AttributeHandleSet const & theAttributes, 00543 AttributeHandleSet & theDivestedAttributes) 00544 throw (ObjectInstanceNotKnown, 00545 AttributeNotDefined, 00546 AttributeNotOwned, 00547 FederateNotExecutionMember, 00548 SaveInProgress, 00549 RestoreInProgress, 00550 RTIinternalError) ; 00551 00553 virtual void cancelNegotiatedAttributeOwnershipDivestiture 00554 (ObjectInstanceHandle theObject, 00555 AttributeHandleSet const & theAttributes) 00556 throw (ObjectInstanceNotKnown, 00557 AttributeNotDefined, 00558 AttributeNotOwned, 00559 AttributeDivestitureWasNotRequested, 00560 FederateNotExecutionMember, 00561 SaveInProgress, 00562 RestoreInProgress, 00563 RTIinternalError) ; 00564 00566 virtual void cancelAttributeOwnershipAcquisition 00567 (ObjectInstanceHandle theObject, 00568 AttributeHandleSet const & theAttributes) 00569 throw (ObjectInstanceNotKnown, 00570 AttributeNotDefined, 00571 AttributeAlreadyOwned, 00572 AttributeAcquisitionWasNotRequested, 00573 FederateNotExecutionMember, 00574 SaveInProgress, 00575 RestoreInProgress, 00576 RTIinternalError) ; 00577 00579 virtual void queryAttributeOwnership 00580 (ObjectInstanceHandle theObject, 00581 AttributeHandle theAttribute) 00582 throw (ObjectInstanceNotKnown, 00583 AttributeNotDefined, 00584 FederateNotExecutionMember, 00585 SaveInProgress, 00586 RestoreInProgress, 00587 RTIinternalError) ; 00588 00590 virtual bool isAttributeOwnedByFederate 00591 (ObjectInstanceHandle theObject, 00592 AttributeHandle theAttribute) 00593 throw (ObjectInstanceNotKnown, 00594 AttributeNotDefined, 00595 FederateNotExecutionMember, 00596 SaveInProgress, 00597 RestoreInProgress, 00598 RTIinternalError) ; 00599 00603 00605 virtual void enableTimeRegulation 00606 (LogicalTimeInterval const & theLookahead) 00607 throw (TimeRegulationAlreadyEnabled, 00608 InvalidLookahead, 00609 InTimeAdvancingState, 00610 RequestForTimeRegulationPending, 00611 FederateNotExecutionMember, 00612 SaveInProgress, 00613 RestoreInProgress, 00614 RTIinternalError) ; 00615 00617 virtual void disableTimeRegulation () 00618 throw (TimeRegulationIsNotEnabled, 00619 FederateNotExecutionMember, 00620 SaveInProgress, 00621 RestoreInProgress, 00622 RTIinternalError) ; 00623 00625 virtual void enableTimeConstrained () 00626 throw (TimeConstrainedAlreadyEnabled, 00627 InTimeAdvancingState, 00628 RequestForTimeConstrainedPending, 00629 FederateNotExecutionMember, 00630 SaveInProgress, 00631 RestoreInProgress, 00632 RTIinternalError) ; 00633 00635 virtual void disableTimeConstrained () 00636 throw (TimeConstrainedIsNotEnabled, 00637 FederateNotExecutionMember, 00638 SaveInProgress, 00639 RestoreInProgress, 00640 RTIinternalError) ; 00641 00643 virtual void timeAdvanceRequest 00644 (LogicalTime const & theTime) 00645 throw (InvalidLogicalTime, 00646 LogicalTimeAlreadyPassed, 00647 InTimeAdvancingState, 00648 RequestForTimeRegulationPending, 00649 RequestForTimeConstrainedPending, 00650 FederateNotExecutionMember, 00651 SaveInProgress, 00652 RestoreInProgress, 00653 RTIinternalError) ; 00654 00656 virtual void timeAdvanceRequestAvailable 00657 (LogicalTime const & theTime) 00658 throw (InvalidLogicalTime, 00659 LogicalTimeAlreadyPassed, 00660 InTimeAdvancingState, 00661 RequestForTimeRegulationPending, 00662 RequestForTimeConstrainedPending, 00663 FederateNotExecutionMember, 00664 SaveInProgress, 00665 RestoreInProgress, 00666 RTIinternalError) ; 00667 00669 virtual void nextMessageRequest 00670 (LogicalTime const & theTime) 00671 throw (InvalidLogicalTime, 00672 LogicalTimeAlreadyPassed, 00673 InTimeAdvancingState, 00674 RequestForTimeRegulationPending, 00675 RequestForTimeConstrainedPending, 00676 FederateNotExecutionMember, 00677 SaveInProgress, 00678 RestoreInProgress, 00679 RTIinternalError) ; 00680 00682 virtual void nextMessageRequestAvailable 00683 (LogicalTime const & theTime) 00684 throw (InvalidLogicalTime, 00685 LogicalTimeAlreadyPassed, 00686 InTimeAdvancingState, 00687 RequestForTimeRegulationPending, 00688 RequestForTimeConstrainedPending, 00689 FederateNotExecutionMember, 00690 SaveInProgress, 00691 RestoreInProgress, 00692 RTIinternalError) ; 00693 00695 virtual void flushQueueRequest 00696 (LogicalTime const & theTime) 00697 throw (InvalidLogicalTime, 00698 LogicalTimeAlreadyPassed, 00699 InTimeAdvancingState, 00700 RequestForTimeRegulationPending, 00701 RequestForTimeConstrainedPending, 00702 FederateNotExecutionMember, 00703 SaveInProgress, 00704 RestoreInProgress, 00705 RTIinternalError) ; 00706 00708 virtual void enableAsynchronousDelivery () 00709 throw (AsynchronousDeliveryAlreadyEnabled, 00710 FederateNotExecutionMember, 00711 SaveInProgress, 00712 RestoreInProgress, 00713 RTIinternalError) ; 00714 00716 virtual void disableAsynchronousDelivery () 00717 throw (AsynchronousDeliveryAlreadyDisabled, 00718 FederateNotExecutionMember, 00719 SaveInProgress, 00720 RestoreInProgress, 00721 RTIinternalError) ; 00722 00724 virtual bool queryGALT (LogicalTime & theTime) 00725 throw (FederateNotExecutionMember, 00726 SaveInProgress, 00727 RestoreInProgress, 00728 RTIinternalError) ; 00729 00731 virtual void queryLogicalTime (LogicalTime & theTime) 00732 throw (FederateNotExecutionMember, 00733 SaveInProgress, 00734 RestoreInProgress, 00735 RTIinternalError) ; 00736 00738 virtual bool queryLITS (LogicalTime & theTime) 00739 throw (FederateNotExecutionMember, 00740 SaveInProgress, 00741 RestoreInProgress, 00742 RTIinternalError) ; 00743 00745 virtual void modifyLookahead 00746 (LogicalTimeInterval const & theLookahead) 00747 throw (TimeRegulationIsNotEnabled, 00748 InvalidLookahead, 00749 InTimeAdvancingState, 00750 FederateNotExecutionMember, 00751 SaveInProgress, 00752 RestoreInProgress, 00753 RTIinternalError) ; 00754 00756 virtual void queryLookahead (LogicalTimeInterval & interval) 00757 throw (TimeRegulationIsNotEnabled, 00758 FederateNotExecutionMember, 00759 SaveInProgress, 00760 RestoreInProgress, 00761 RTIinternalError) ; 00762 00764 virtual void retract 00765 (MessageRetractionHandle theHandle) 00766 throw (InvalidRetractionHandle, 00767 TimeRegulationIsNotEnabled, 00768 MessageCanNoLongerBeRetracted, 00769 FederateNotExecutionMember, 00770 SaveInProgress, 00771 RestoreInProgress, 00772 RTIinternalError) ; 00773 00775 virtual void changeAttributeOrderType 00776 (ObjectInstanceHandle theObject, 00777 AttributeHandleSet const & theAttributes, 00778 OrderType theType) 00779 throw (ObjectInstanceNotKnown, 00780 AttributeNotDefined, 00781 AttributeNotOwned, 00782 FederateNotExecutionMember, 00783 SaveInProgress, 00784 RestoreInProgress, 00785 RTIinternalError) ; 00786 00788 virtual void changeInteractionOrderType 00789 (InteractionClassHandle theClass, 00790 OrderType theType) 00791 throw (InteractionClassNotDefined, 00792 InteractionClassNotPublished, 00793 FederateNotExecutionMember, 00794 SaveInProgress, 00795 RestoreInProgress, 00796 RTIinternalError) ; 00797 00801 00803 virtual RegionHandle createRegion 00804 (DimensionHandleSet const & theDimensions) 00805 throw (InvalidDimensionHandle, 00806 FederateNotExecutionMember, 00807 SaveInProgress, 00808 RestoreInProgress, 00809 RTIinternalError) ; 00810 00812 virtual void commitRegionModifications 00813 (RegionHandleSet const & theRegionHandleSet) 00814 throw (InvalidRegion, 00815 RegionNotCreatedByThisFederate, 00816 FederateNotExecutionMember, 00817 SaveInProgress, 00818 RestoreInProgress, 00819 RTIinternalError) ; 00820 00822 virtual void deleteRegion 00823 (RegionHandle theRegion) 00824 throw (InvalidRegion, 00825 RegionNotCreatedByThisFederate, 00826 RegionInUseForUpdateOrSubscription, 00827 FederateNotExecutionMember, 00828 SaveInProgress, 00829 RestoreInProgress, 00830 RTIinternalError) ; 00831 00833 virtual ObjectInstanceHandle registerObjectInstanceWithRegions 00834 (ObjectClassHandle theClass, 00835 AttributeHandleSetRegionHandleSetPairVector const & 00836 theAttributeHandleSetRegionHandleSetPairVector) 00837 throw (ObjectClassNotDefined, 00838 ObjectClassNotPublished, 00839 AttributeNotDefined, 00840 AttributeNotPublished, 00841 InvalidRegion, 00842 RegionNotCreatedByThisFederate, 00843 InvalidRegionContext, 00844 FederateNotExecutionMember, 00845 SaveInProgress, 00846 RestoreInProgress, 00847 RTIinternalError) ; 00848 00849 virtual ObjectInstanceHandle registerObjectInstanceWithRegions 00850 (ObjectClassHandle theClass, 00851 AttributeHandleSetRegionHandleSetPairVector const & 00852 theAttributeHandleSetRegionHandleSetPairVector, 00853 std::wstring const & theObjectInstanceName) 00854 throw (ObjectClassNotDefined, 00855 ObjectClassNotPublished, 00856 AttributeNotDefined, 00857 AttributeNotPublished, 00858 InvalidRegion, 00859 RegionNotCreatedByThisFederate, 00860 InvalidRegionContext, 00861 ObjectInstanceNameNotReserved, 00862 ObjectInstanceNameInUse, 00863 FederateNotExecutionMember, 00864 SaveInProgress, 00865 RestoreInProgress, 00866 RTIinternalError) ; 00867 00869 virtual void associateRegionsForUpdates 00870 (ObjectInstanceHandle theObject, 00871 AttributeHandleSetRegionHandleSetPairVector const & 00872 theAttributeHandleSetRegionHandleSetPairVector) 00873 throw (ObjectInstanceNotKnown, 00874 AttributeNotDefined, 00875 InvalidRegion, 00876 RegionNotCreatedByThisFederate, 00877 InvalidRegionContext, 00878 FederateNotExecutionMember, 00879 SaveInProgress, 00880 RestoreInProgress, 00881 RTIinternalError) ; 00882 00884 virtual void unassociateRegionsForUpdates 00885 (ObjectInstanceHandle theObject, 00886 AttributeHandleSetRegionHandleSetPairVector const & 00887 theAttributeHandleSetRegionHandleSetPairVector) 00888 throw (ObjectInstanceNotKnown, 00889 AttributeNotDefined, 00890 InvalidRegion, 00891 RegionNotCreatedByThisFederate, 00892 FederateNotExecutionMember, 00893 SaveInProgress, 00894 RestoreInProgress, 00895 RTIinternalError) ; 00896 00898 virtual void subscribeObjectClassAttributesWithRegions 00899 (ObjectClassHandle theClass, 00900 AttributeHandleSetRegionHandleSetPairVector const & 00901 theAttributeHandleSetRegionHandleSetPairVector, 00902 bool active = true) 00903 throw (ObjectClassNotDefined, 00904 AttributeNotDefined, 00905 InvalidRegion, 00906 RegionNotCreatedByThisFederate, 00907 InvalidRegionContext, 00908 FederateNotExecutionMember, 00909 SaveInProgress, 00910 RestoreInProgress, 00911 RTIinternalError) ; 00912 00914 virtual void unsubscribeObjectClassAttributesWithRegions 00915 (ObjectClassHandle theClass, 00916 AttributeHandleSetRegionHandleSetPairVector const & 00917 theAttributeHandleSetRegionHandleSetPairVector) 00918 throw (ObjectClassNotDefined, 00919 AttributeNotDefined, 00920 InvalidRegion, 00921 RegionNotCreatedByThisFederate, 00922 FederateNotExecutionMember, 00923 SaveInProgress, 00924 RestoreInProgress, 00925 RTIinternalError) ; 00926 00928 virtual void subscribeInteractionClassWithRegions 00929 (InteractionClassHandle theClass, 00930 RegionHandleSet const & theRegionHandleSet, 00931 bool active = true) 00932 throw (InteractionClassNotDefined, 00933 InvalidRegion, 00934 RegionNotCreatedByThisFederate, 00935 InvalidRegionContext, 00936 FederateServiceInvocationsAreBeingReportedViaMOM, 00937 FederateNotExecutionMember, 00938 SaveInProgress, 00939 RestoreInProgress, 00940 RTIinternalError) ; 00941 00943 virtual void unsubscribeInteractionClassWithRegions 00944 (InteractionClassHandle theClass, 00945 RegionHandleSet const & theRegionHandleSet) 00946 throw (InteractionClassNotDefined, 00947 InvalidRegion, 00948 RegionNotCreatedByThisFederate, 00949 FederateNotExecutionMember, 00950 SaveInProgress, 00951 RestoreInProgress, 00952 RTIinternalError) ; 00953 00955 virtual void sendInteractionWithRegions 00956 (InteractionClassHandle theInteraction, 00957 ParameterHandleValueMap const & theParameterValues, 00958 RegionHandleSet const & theRegionHandleSet, 00959 RTI::VariableLengthData const & aTag) 00960 throw (InteractionClassNotDefined, 00961 InteractionClassNotPublished, 00962 InteractionParameterNotDefined, 00963 InvalidRegion, 00964 RegionNotCreatedByThisFederate, 00965 InvalidRegionContext, 00966 FederateNotExecutionMember, 00967 SaveInProgress, 00968 RestoreInProgress, 00969 RTIinternalError) ; 00970 00971 virtual MessageRetractionHandle sendInteractionWithRegions 00972 (InteractionClassHandle theInteraction, 00973 ParameterHandleValueMap const & theParameterValues, 00974 RegionHandleSet const & theRegionHandleSet, 00975 RTI::VariableLengthData const & aTag, 00976 LogicalTime const & theTime) 00977 throw (InteractionClassNotDefined, 00978 InteractionClassNotPublished, 00979 InteractionParameterNotDefined, 00980 InvalidRegion, 00981 RegionNotCreatedByThisFederate, 00982 InvalidRegionContext, 00983 InvalidLogicalTime, 00984 FederateNotExecutionMember, 00985 SaveInProgress, 00986 RestoreInProgress, 00987 RTIinternalError) ; 00988 00990 virtual void requestAttributeValueUpdateWithRegions 00991 (ObjectClassHandle theClass, 00992 AttributeHandleSetRegionHandleSetPairVector const & theSet, 00993 RTI::VariableLengthData const & aTag) 00994 throw (ObjectClassNotDefined, 00995 AttributeNotDefined, 00996 InvalidRegion, 00997 RegionNotCreatedByThisFederate, 00998 InvalidRegionContext, 00999 FederateNotExecutionMember, 01000 SaveInProgress, 01001 RestoreInProgress, 01002 RTIinternalError) ; 01003 01007 01009 virtual ObjectClassHandle getObjectClassHandle 01010 (std::wstring const & theName) 01011 throw (NameNotFound, 01012 FederateNotExecutionMember, 01013 RTIinternalError) ; 01014 01016 virtual std::wstring getObjectClassName 01017 (ObjectClassHandle theClass) 01018 throw (InvalidObjectClassHandle, 01019 FederateNotExecutionMember, 01020 RTIinternalError) ; 01021 01023 virtual AttributeHandle getAttributeHandle 01024 (ObjectClassHandle theClass, 01025 std::wstring const & theAttributeName) 01026 throw (InvalidObjectClassHandle, 01027 NameNotFound, 01028 FederateNotExecutionMember, 01029 RTIinternalError) ; 01030 01032 virtual std::wstring getAttributeName 01033 (ObjectClassHandle theClass, 01034 AttributeHandle theHandle) 01035 throw (InvalidObjectClassHandle, 01036 InvalidAttributeHandle, 01037 AttributeNotDefined, 01038 FederateNotExecutionMember, 01039 RTIinternalError) ; 01040 01042 virtual InteractionClassHandle getInteractionClassHandle 01043 (std::wstring const & theName) 01044 throw (NameNotFound, 01045 FederateNotExecutionMember, 01046 RTIinternalError) ; 01047 01049 virtual std::wstring getInteractionClassName 01050 (InteractionClassHandle theHandle) 01051 throw (InvalidInteractionClassHandle, 01052 FederateNotExecutionMember, 01053 RTIinternalError) ; 01054 01056 virtual ParameterHandle getParameterHandle 01057 (InteractionClassHandle whichClass, 01058 std::wstring const & theName) 01059 throw (InvalidInteractionClassHandle, 01060 NameNotFound, 01061 FederateNotExecutionMember, 01062 RTIinternalError) ; 01063 01065 virtual std::wstring getParameterName 01066 (InteractionClassHandle whichClass, 01067 ParameterHandle theHandle) 01068 throw (InvalidInteractionClassHandle, 01069 InvalidParameterHandle, 01070 InteractionParameterNotDefined, 01071 FederateNotExecutionMember, 01072 RTIinternalError) ; 01073 01075 virtual ObjectInstanceHandle getObjectInstanceHandle 01076 (std::wstring const & theName) 01077 throw (ObjectInstanceNotKnown, 01078 FederateNotExecutionMember, 01079 RTIinternalError) ; 01080 01082 virtual std::wstring getObjectInstanceName 01083 (ObjectInstanceHandle theHandle) 01084 throw (ObjectInstanceNotKnown, 01085 FederateNotExecutionMember, 01086 RTIinternalError) ; 01087 01089 virtual DimensionHandle getDimensionHandle 01090 (std::wstring const & theName) 01091 throw (NameNotFound, 01092 FederateNotExecutionMember, 01093 RTIinternalError) ; 01094 01096 virtual std::wstring getDimensionName 01097 (DimensionHandle theHandle) 01098 throw (InvalidDimensionHandle, 01099 FederateNotExecutionMember, 01100 RTIinternalError) ; 01101 01103 virtual unsigned long getDimensionUpperBound 01104 (DimensionHandle theHandle) 01105 throw (InvalidDimensionHandle, 01106 FederateNotExecutionMember, 01107 RTIinternalError) ; 01108 01110 virtual DimensionHandleSet getAvailableDimensionsForClassAttribute 01111 (ObjectClassHandle theClass, 01112 AttributeHandle theHandle) 01113 throw (InvalidObjectClassHandle, 01114 InvalidAttributeHandle, 01115 AttributeNotDefined, 01116 FederateNotExecutionMember, 01117 RTIinternalError) ; 01118 01120 virtual ObjectClassHandle getKnownObjectClassHandle 01121 (ObjectInstanceHandle theObject) 01122 throw (ObjectInstanceNotKnown, 01123 FederateNotExecutionMember, 01124 RTIinternalError) ; 01125 01127 virtual DimensionHandleSet getAvailableDimensionsForInteractionClass 01128 (InteractionClassHandle theClass) 01129 throw (InvalidInteractionClassHandle, 01130 FederateNotExecutionMember, 01131 RTIinternalError) ; 01132 01134 virtual TransportationType getTransportationType 01135 (std::wstring const & transportationName) 01136 throw (InvalidTransportationName, 01137 FederateNotExecutionMember, 01138 RTIinternalError) ; 01139 01141 virtual std::wstring getTransportationName 01142 (TransportationType transportationType) 01143 throw (InvalidTransportationType, 01144 FederateNotExecutionMember, 01145 RTIinternalError) ; 01146 01148 virtual OrderType getOrderType 01149 (std::wstring const & orderName) 01150 throw (InvalidOrderName, 01151 FederateNotExecutionMember, 01152 RTIinternalError) ; 01153 01155 virtual std::wstring getOrderName 01156 (OrderType orderType) 01157 throw (InvalidOrderType, 01158 FederateNotExecutionMember, 01159 RTIinternalError) ; 01160 01162 virtual void enableObjectClassRelevanceAdvisorySwitch () 01163 throw (ObjectClassRelevanceAdvisorySwitchIsOn, 01164 FederateNotExecutionMember, 01165 SaveInProgress, 01166 RestoreInProgress, 01167 RTIinternalError) ; 01168 01170 virtual void disableObjectClassRelevanceAdvisorySwitch () 01171 throw (ObjectClassRelevanceAdvisorySwitchIsOff, 01172 FederateNotExecutionMember, 01173 SaveInProgress, 01174 RestoreInProgress, 01175 RTIinternalError) ; 01176 01178 virtual void enableAttributeRelevanceAdvisorySwitch () 01179 throw (AttributeRelevanceAdvisorySwitchIsOn, 01180 FederateNotExecutionMember, 01181 SaveInProgress, 01182 RestoreInProgress, 01183 RTIinternalError) ; 01184 01186 virtual void disableAttributeRelevanceAdvisorySwitch () 01187 throw (AttributeRelevanceAdvisorySwitchIsOff, 01188 FederateNotExecutionMember, 01189 SaveInProgress, 01190 RestoreInProgress, 01191 RTIinternalError) ; 01192 01194 virtual void enableAttributeScopeAdvisorySwitch () 01195 throw (AttributeScopeAdvisorySwitchIsOn, 01196 FederateNotExecutionMember, 01197 SaveInProgress, 01198 RestoreInProgress, 01199 RTIinternalError) ; 01200 01202 virtual void disableAttributeScopeAdvisorySwitch () 01203 throw (AttributeScopeAdvisorySwitchIsOff, 01204 FederateNotExecutionMember, 01205 SaveInProgress, 01206 RestoreInProgress, 01207 RTIinternalError) ; 01208 01210 virtual void enableInteractionRelevanceAdvisorySwitch () 01211 throw (InteractionRelevanceAdvisorySwitchIsOn, 01212 FederateNotExecutionMember, 01213 SaveInProgress, 01214 RestoreInProgress, 01215 RTIinternalError) ; 01216 01218 virtual void disableInteractionRelevanceAdvisorySwitch () 01219 throw (InteractionRelevanceAdvisorySwitchIsOff, 01220 FederateNotExecutionMember, 01221 SaveInProgress, 01222 RestoreInProgress, 01223 RTIinternalError) ; 01224 01226 virtual 01227 DimensionHandleSet getDimensionHandleSet 01228 (RegionHandle theRegionHandle) 01229 throw (InvalidRegion, 01230 FederateNotExecutionMember, 01231 SaveInProgress, 01232 RestoreInProgress, 01233 RTIinternalError) ; 01234 01236 virtual 01237 RangeBounds getRangeBounds 01238 (RegionHandle theRegionHandle, 01239 DimensionHandle theDimensionHandle) 01240 throw (InvalidRegion, 01241 RegionDoesNotContainSpecifiedDimension, 01242 FederateNotExecutionMember, 01243 SaveInProgress, 01244 RestoreInProgress, 01245 RTIinternalError) ; 01246 01248 virtual void setRangeBounds 01249 (RegionHandle theRegionHandle, 01250 DimensionHandle theDimensionHandle, 01251 RangeBounds const & theRangeBounds) 01252 throw (InvalidRegion, 01253 RegionNotCreatedByThisFederate, 01254 RegionDoesNotContainSpecifiedDimension, 01255 InvalidRangeBound, 01256 FederateNotExecutionMember, 01257 SaveInProgress, 01258 RestoreInProgress, 01259 RTIinternalError) ; 01260 01262 virtual unsigned long normalizeFederateHandle 01263 (FederateHandle theFederateHandle) 01264 throw (FederateNotExecutionMember, 01265 RTIinternalError) ; 01266 01268 virtual unsigned long normalizeServiceGroup 01269 (ServiceGroupIndicator theServiceGroup) 01270 throw (FederateNotExecutionMember, 01271 InvalidServiceGroup, 01272 RTIinternalError) ; 01273 01275 virtual bool evokeCallback(double approximateMinimumTimeInSeconds) 01276 throw (FederateNotExecutionMember, 01277 RTIinternalError) ; 01278 01280 virtual bool evokeMultipleCallbacks(double approximateMinimumTimeInSeconds, 01281 double approximateMaximumTimeInSeconds) 01282 throw (FederateNotExecutionMember, 01283 RTIinternalError) ; 01284 01286 virtual void enableCallbacks () 01287 throw (FederateNotExecutionMember, 01288 SaveInProgress, 01289 RestoreInProgress, 01290 RTIinternalError) ; 01291 01293 virtual void disableCallbacks () 01294 throw (FederateNotExecutionMember, 01295 SaveInProgress, 01296 RestoreInProgress, 01297 RTIinternalError) ; 01298 01299 virtual FederateHandle decodeFederateHandle( 01300 VariableLengthData const & encodedValue) const ; 01301 01302 virtual ObjectClassHandle decodeObjectClassHandle( 01303 VariableLengthData const & encodedValue) const ; 01304 01305 virtual InteractionClassHandle decodeInteractionClassHandle( 01306 VariableLengthData const & encodedValue) const ; 01307 01308 virtual ObjectInstanceHandle decodeObjectInstanceHandle( 01309 VariableLengthData const & encodedValue) const ; 01310 01311 virtual AttributeHandle decodeAttributeHandle( 01312 VariableLengthData const & encodedValue) const ; 01313 01314 virtual ParameterHandle decodeParameterHandle( 01315 VariableLengthData const & encodedValue) const ; 01316 01317 virtual DimensionHandle decodeDimensionHandle( 01318 VariableLengthData const & encodedValue) const ; 01319 01320 virtual MessageRetractionHandle decodeMessageRetractionHandle( 01321 VariableLengthData const & encodedValue) const ; 01322 01323 virtual RegionHandle decodeRegionHandle( 01324 VariableLengthData const & encodedValue) const ; 01325 01326 virtual void rtiAmbCreationArgs(std::vector<std::wstring>& args) const; 01327 01328 01329 public: 01330 01332 static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args); 01333 01334 protected: 01335 01336 std::auto_ptr<RTIambassador> myRtiAmb; 01337 FederateAmbassador *myFedAmb; 01338 01339 std::vector<std::wstring> myRtiAmbCreationArgs; 01340 01341 }; 01342 01343 #endif 01344 #endif 01345 #endif 01346 01347