VR-Link API Documentation for HLA 1.3
dirRtiAmb1516.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 #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 

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)