VR-Link API Documentation for DIS
vrlRtiAmb1516.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)