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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)