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