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

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)