MAK RTIspy API Documentation for HLA 1.3
ambImp.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 DtIFSPEC13
00012 
00013 #include "rtiMsConfig.h"
00014 #include "ambImpBase.h"
00015 #ifdef DtIFSPEC13DLC
00016 #include "RTI13.h"
00017 #else
00018 #include "RTI.hh"
00019 #endif
00020 
00021 #ifdef DtIFSPEC13DLC
00022 #define RTI rti13
00023 #endif
00024 
00035 class DT_DLL_LRC DtRtiAmbassadorImplementor : public DtRtiAmbassadorBaseImplementor
00036 {
00037 public:
00038 
00040    typedef DtRtiAmbassadorImplementor* 
00041       (*DtRtiAmbassadorImplementorCreator)(RTI::RTIambassador* topLevelAmbPtr);
00042 
00043 protected:
00044 
00046    DtRtiAmbassadorImplementor(RTI::RTIambassador* topLevelAmbPtr)
00047       throw (
00048          RTI::MemoryExhausted,
00049          RTI::RTIinternalError);
00050 
00051 public:
00052 
00054    virtual ~DtRtiAmbassadorImplementor()
00055       throw (RTI::RTIinternalError);
00056 
00057 private:
00058    
00060    DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor const& );
00061 
00063    DtRtiAmbassadorImplementor& operator= (DtRtiAmbassadorImplementor const& );
00064 
00065 public:
00066 
00068    virtual void createFederationExecution (
00069       const char *executionName, 
00070       const char *FED)           
00071         throw (
00072           RTI::FederationExecutionAlreadyExists,
00073           RTI::CouldNotOpenFED,
00074           RTI::ErrorReadingFED,
00075           RTI::ConcurrentAccessAttempted,
00076           RTI::RTIinternalError);
00077 
00079    virtual void destroyFederationExecution (
00080       const char *executionName) 
00081         throw (
00082           RTI::FederatesCurrentlyJoined,
00083           RTI::FederationExecutionDoesNotExist, 
00084           RTI::ConcurrentAccessAttempted,
00085           RTI::RTIinternalError);
00086 
00088    virtual RTI::FederateHandle joinFederationExecution (
00089       const char *yourName, 
00090       const char *executionName,
00091       RTI::FederateAmbassador* federateAmbassadorReference, 
00092       unsigned long flags) 
00093         throw (
00094           RTI::FederateAlreadyExecutionMember,
00095           RTI::FederationExecutionDoesNotExist,
00096           RTI::CouldNotOpenFED,
00097           RTI::ErrorReadingFED,
00098           RTI::ConcurrentAccessAttempted,
00099           RTI::SaveInProgress,
00100           RTI::RestoreInProgress,
00101           RTI::RTIinternalError);
00102 
00104    virtual void resignFederationExecution (
00105       RTI::ResignAction theAction) 
00106         throw (
00107           RTI::FederateOwnsAttributes,
00108           RTI::FederateNotExecutionMember,
00109           RTI::InvalidResignAction,
00110           RTI::ConcurrentAccessAttempted,
00111           RTI::RTIinternalError);
00112 
00114 
00115    virtual void registerFederationSynchronizationPoint (       
00116       const char *label,  
00117       const char *theTag) 
00118         throw (
00119           RTI::FederateNotExecutionMember,
00120           RTI::ConcurrentAccessAttempted,
00121           RTI::SaveInProgress,
00122           RTI::RestoreInProgress,
00123           RTI::RTIinternalError);
00124 
00125    virtual void registerFederationSynchronizationPoint (       
00126       const char *label,
00127       const char *theTag,
00128       const RTI::FederateHandleSet& syncSet)
00129         throw (
00130           RTI::FederateNotExecutionMember,
00131           RTI::ConcurrentAccessAttempted,
00132           RTI::SaveInProgress,
00133           RTI::RestoreInProgress,
00134           RTI::RTIinternalError);
00136 
00138    virtual void synchronizationPointAchieved (      
00139       const char *label)
00140         throw (
00141           RTI::SynchronizationPointLabelWasNotAnnounced,
00142           RTI::FederateNotExecutionMember,
00143           RTI::ConcurrentAccessAttempted,
00144           RTI::SaveInProgress,
00145           RTI::RestoreInProgress,
00146           RTI::RTIinternalError);
00147 
00149 
00150    virtual void requestFederationSave (    
00151       const char *label,  
00152       const RTI::FedTime& theTime)
00153         throw (
00154           RTI::FederationTimeAlreadyPassed, 
00155           RTI::InvalidFederationTime,
00156           RTI::FederateNotExecutionMember,
00157           RTI::ConcurrentAccessAttempted,
00158           RTI::SaveInProgress,
00159           RTI::RestoreInProgress,
00160           RTI::RTIinternalError);
00161 
00162    virtual void requestFederationSave ( 
00163       const char *label) 
00164           throw (
00165             RTI::FederateNotExecutionMember,
00166             RTI::ConcurrentAccessAttempted,
00167             RTI::SaveInProgress,
00168             RTI::RestoreInProgress,
00169             RTI::RTIinternalError);
00171 
00173    virtual void federateSaveBegun ()
00174     throw (
00175       RTI::SaveNotInitiated,
00176       RTI::FederateNotExecutionMember,
00177       RTI::ConcurrentAccessAttempted,
00178       RTI::RestoreInProgress,
00179       RTI::RTIinternalError);
00180 
00182 
00183    virtual void federateSaveComplete ()
00184     throw (
00185       RTI::SaveNotInitiated,
00186       RTI::FederateNotExecutionMember,
00187       RTI::ConcurrentAccessAttempted,
00188       RTI::RestoreInProgress,
00189       RTI::RTIinternalError);
00190 
00191    virtual void federateSaveNotComplete ()
00192     throw (
00193       RTI::SaveNotInitiated,
00194       RTI::FederateNotExecutionMember,
00195       RTI::ConcurrentAccessAttempted,
00196       RTI::RestoreInProgress,
00197       RTI::RTIinternalError);
00199 
00201    virtual void requestFederationRestore (    
00202       const char *label) 
00203         throw (
00204           RTI::FederateNotExecutionMember,
00205           RTI::ConcurrentAccessAttempted,
00206           RTI::SaveInProgress,
00207           RTI::RestoreInProgress,
00208           RTI::RTIinternalError);
00209 
00211 
00212    virtual void federateRestoreComplete ()
00213       throw (
00214         RTI::RestoreNotRequested,
00215         RTI::FederateNotExecutionMember,
00216         RTI::ConcurrentAccessAttempted,
00217         RTI::SaveInProgress,
00218         RTI::RTIinternalError);
00219 
00220    virtual void federateRestoreNotComplete ()
00221     throw (
00222       RTI::RestoreNotRequested,
00223       RTI::FederateNotExecutionMember,
00224       RTI::ConcurrentAccessAttempted,
00225       RTI::SaveInProgress,
00226       RTI::RTIinternalError);
00228 
00229    //-----------------------------------
00231    //----------------------------------
00232 
00234    virtual void publishObjectClass (
00235       RTI::ObjectClassHandle   theClass,  
00236       const RTI::AttributeHandleSet& attributeList)
00237         throw (
00238           RTI::ObjectClassNotDefined,
00239           RTI::AttributeNotDefined,
00240           RTI::OwnershipAcquisitionPending,
00241           RTI::FederateNotExecutionMember,
00242           RTI::ConcurrentAccessAttempted,
00243           RTI::SaveInProgress,
00244           RTI::RestoreInProgress,
00245           RTI::RTIinternalError);
00246 
00248    virtual void unpublishObjectClass (
00249       RTI::ObjectClassHandle theClass)
00250         throw (
00251           RTI::ObjectClassNotDefined, 
00252           RTI::ObjectClassNotPublished,
00253           RTI::OwnershipAcquisitionPending,
00254           RTI::FederateNotExecutionMember,
00255           RTI::ConcurrentAccessAttempted,
00256           RTI::SaveInProgress,
00257           RTI::RestoreInProgress,
00258           RTI::RTIinternalError);
00259 
00261    virtual void publishInteractionClass (
00262       RTI::InteractionClassHandle theInteraction)
00263         throw (
00264           RTI::InteractionClassNotDefined,
00265           RTI::FederateNotExecutionMember,
00266           RTI::ConcurrentAccessAttempted,
00267           RTI::SaveInProgress,
00268           RTI::RestoreInProgress,
00269           RTI::RTIinternalError);
00270 
00272    virtual void unpublishInteractionClass (
00273       RTI::InteractionClassHandle theInteraction)
00274         throw (
00275           RTI::InteractionClassNotDefined,
00276           RTI::InteractionClassNotPublished,
00277           RTI::FederateNotExecutionMember,
00278           RTI::ConcurrentAccessAttempted,
00279           RTI::SaveInProgress,
00280           RTI::RestoreInProgress,
00281           RTI::RTIinternalError);
00282 
00284    virtual void subscribeObjectClassAttributes (
00285       RTI::ObjectClassHandle theClass,  
00286       const RTI::AttributeHandleSet& attributeList,
00287       RTI::Boolean active = RTI::RTI_TRUE)
00288         throw (
00289           RTI::ObjectClassNotDefined, 
00290           RTI::AttributeNotDefined,
00291           RTI::FederateNotExecutionMember,
00292           RTI::ConcurrentAccessAttempted,
00293           RTI::SaveInProgress,
00294           RTI::RestoreInProgress,
00295           RTI::RTIinternalError);
00296 
00298    virtual void unsubscribeObjectClass (
00299       RTI::ObjectClassHandle theClass)
00300         throw (
00301           RTI::ObjectClassNotDefined,
00302           RTI::ObjectClassNotSubscribed,
00303           RTI::FederateNotExecutionMember,
00304           RTI::ConcurrentAccessAttempted,
00305           RTI::SaveInProgress,
00306           RTI::RestoreInProgress,
00307           RTI::RTIinternalError);
00308 
00310    virtual void subscribeInteractionClass (
00311       RTI::InteractionClassHandle theClass, 
00312       RTI::Boolean active = RTI::RTI_TRUE)
00313         throw (
00314           RTI::InteractionClassNotDefined,
00315           RTI::FederateNotExecutionMember,
00316           RTI::ConcurrentAccessAttempted,
00317           RTI::FederateLoggingServiceCalls,
00318           RTI::SaveInProgress,
00319           RTI::RestoreInProgress,
00320           RTI::RTIinternalError);
00321 
00323    virtual void unsubscribeInteractionClass (
00324       RTI::InteractionClassHandle theClass)
00325         throw (
00326           RTI::InteractionClassNotDefined,
00327           RTI::InteractionClassNotSubscribed,
00328           RTI::FederateNotExecutionMember,
00329           RTI::ConcurrentAccessAttempted,
00330           RTI::SaveInProgress,
00331           RTI::RestoreInProgress,
00332           RTI::RTIinternalError);
00333 
00334    //-------------------------------
00336    //-------------------------------
00337 
00339 
00340    virtual RTI::ObjectHandle registerObjectInstance (
00341       RTI::ObjectClassHandle  theClass, 
00342       const char *theObject)
00343         throw (
00344           RTI::ObjectClassNotDefined,
00345           RTI::ObjectClassNotPublished,
00346           RTI::ObjectAlreadyRegistered,
00347           RTI::FederateNotExecutionMember,
00348           RTI::ConcurrentAccessAttempted,
00349           RTI::SaveInProgress,
00350           RTI::RestoreInProgress,
00351           RTI::RTIinternalError);
00352 
00353    virtual RTI::ObjectHandle registerObjectInstance (
00354       RTI::ObjectClassHandle theClass)
00355         throw (
00356           RTI::ObjectClassNotDefined,
00357           RTI::ObjectClassNotPublished,
00358           RTI::FederateNotExecutionMember,
00359           RTI::ConcurrentAccessAttempted,
00360           RTI::SaveInProgress,
00361           RTI::RestoreInProgress,
00362           RTI::RTIinternalError);
00364 
00366 
00367    virtual RTI::EventRetractionHandle updateAttributeValues (
00368       RTI::ObjectHandle theObject,
00369       const RTI::AttributeHandleValuePairSet& theAttributes,
00370       const RTI::FedTime& theTime, 
00371       const char *theTag) 
00372         throw (
00373           RTI::ObjectNotKnown,
00374           RTI::AttributeNotDefined,
00375           RTI::AttributeNotOwned,
00376           RTI::InvalidFederationTime,
00377           RTI::FederateNotExecutionMember,
00378           RTI::ConcurrentAccessAttempted,
00379           RTI::SaveInProgress,
00380           RTI::RestoreInProgress,
00381           RTI::RTIinternalError);
00382 
00383    virtual void updateAttributeValues (
00384         RTI::ObjectHandle theObject, 
00385         const RTI::AttributeHandleValuePairSet& theAttributes,
00386         const char *theTag)
00387             throw (
00388               RTI::ObjectNotKnown,
00389               RTI::AttributeNotDefined,
00390               RTI::AttributeNotOwned,
00391               RTI::FederateNotExecutionMember,
00392               RTI::ConcurrentAccessAttempted,
00393               RTI::SaveInProgress,
00394               RTI::RestoreInProgress,
00395               RTI::RTIinternalError);
00397 
00399 
00400    virtual RTI::EventRetractionHandle sendInteraction (
00401       RTI::InteractionClassHandle theInteraction,
00402       const RTI::ParameterHandleValuePairSet& theParameters,
00403       const RTI::FedTime& theTime,
00404       const char *theTag)
00405         throw (
00406           RTI::InteractionClassNotDefined,
00407           RTI::InteractionClassNotPublished,
00408           RTI::InteractionParameterNotDefined,
00409           RTI::InvalidFederationTime,
00410           RTI::FederateNotExecutionMember,
00411           RTI::ConcurrentAccessAttempted,
00412           RTI::SaveInProgress,
00413           RTI::RestoreInProgress,
00414           RTI::RTIinternalError);
00415 
00416    virtual void sendInteraction (
00417       RTI::InteractionClassHandle theInteraction,
00418       const RTI::ParameterHandleValuePairSet& theParameters,
00419       const char *theTag) 
00420         throw (
00421           RTI::InteractionClassNotDefined,
00422           RTI::InteractionClassNotPublished,
00423           RTI::InteractionParameterNotDefined,
00424           RTI::FederateNotExecutionMember,
00425           RTI::ConcurrentAccessAttempted,
00426           RTI::SaveInProgress,
00427           RTI::RestoreInProgress,
00428           RTI::RTIinternalError);
00430 
00432 
00433    virtual RTI::EventRetractionHandle deleteObjectInstance (
00434       RTI::ObjectHandle theObject, 
00435       const RTI::FedTime& theTime, 
00436       const char *theTag)
00437         throw (
00438           RTI::ObjectNotKnown,
00439           RTI::DeletePrivilegeNotHeld,
00440           RTI::InvalidFederationTime,
00441           RTI::FederateNotExecutionMember,
00442           RTI::ConcurrentAccessAttempted,
00443           RTI::SaveInProgress,
00444           RTI::RestoreInProgress,
00445           RTI::RTIinternalError);
00446 
00447    virtual void deleteObjectInstance (
00448       RTI::ObjectHandle theObject,
00449       const char *theTag)
00450         throw (
00451           RTI::ObjectNotKnown,
00452           RTI::DeletePrivilegeNotHeld,
00453           RTI::FederateNotExecutionMember,
00454           RTI::ConcurrentAccessAttempted,
00455           RTI::SaveInProgress,
00456           RTI::RestoreInProgress,
00457           RTI::RTIinternalError);
00459 
00461    virtual void localDeleteObjectInstance (
00462       RTI::ObjectHandle theObject) 
00463         throw (
00464           RTI::ObjectNotKnown,
00465           RTI::FederateOwnsAttributes,
00466           RTI::FederateNotExecutionMember,
00467           RTI::ConcurrentAccessAttempted,
00468           RTI::SaveInProgress,
00469           RTI::RestoreInProgress,
00470           RTI::RTIinternalError);
00471 
00473    virtual void changeAttributeTransportationType (
00474       RTI::ObjectHandle theObject,
00475       const RTI::AttributeHandleSet& theAttributes,
00476       RTI::TransportationHandle theType)
00477         throw (
00478           RTI::ObjectNotKnown,
00479           RTI::AttributeNotDefined,
00480           RTI::AttributeNotOwned,
00481           RTI::InvalidTransportationHandle,
00482           RTI::FederateNotExecutionMember,
00483           RTI::ConcurrentAccessAttempted,
00484           RTI::SaveInProgress,
00485           RTI::RestoreInProgress,
00486           RTI::RTIinternalError);
00487         
00489    virtual void changeInteractionTransportationType (
00490       RTI::InteractionClassHandle theClass,
00491       RTI::TransportationHandle theType)
00492         throw (
00493           RTI::InteractionClassNotDefined,
00494           RTI::InteractionClassNotPublished,
00495           RTI::InvalidTransportationHandle,
00496           RTI::FederateNotExecutionMember,
00497           RTI::ConcurrentAccessAttempted,
00498           RTI::SaveInProgress,
00499           RTI::RestoreInProgress,
00500           RTI::RTIinternalError);
00501 
00503 
00504    virtual void requestObjectAttributeValueUpdate (
00505       RTI::ObjectHandle theObject,
00506       const RTI::AttributeHandleSet& theAttributes)
00507         throw (
00508           RTI::ObjectNotKnown,
00509           RTI::AttributeNotDefined,
00510           RTI::FederateNotExecutionMember,
00511           RTI::ConcurrentAccessAttempted,
00512           RTI::SaveInProgress,
00513           RTI::RestoreInProgress,
00514           RTI::RTIinternalError);
00515 
00516    virtual void requestClassAttributeValueUpdate (
00517       RTI::ObjectClassHandle theClass,
00518       const RTI::AttributeHandleSet& theAttributes)
00519         throw (
00520           RTI::ObjectClassNotDefined, 
00521           RTI::AttributeNotDefined,
00522           RTI::FederateNotExecutionMember,
00523           RTI::ConcurrentAccessAttempted,
00524           RTI::SaveInProgress,
00525           RTI::RestoreInProgress,
00526           RTI::RTIinternalError);
00528 
00529    //---------------------------------
00531    //---------------------------------
00532 
00534    virtual void unconditionalAttributeOwnershipDivestiture (
00535       RTI::ObjectHandle theObject,
00536       const RTI::AttributeHandleSet& theAttributes)
00537         throw (
00538           RTI::ObjectNotKnown, 
00539           RTI::AttributeNotDefined,
00540           RTI::AttributeNotOwned,
00541           RTI::FederateNotExecutionMember,
00542           RTI::ConcurrentAccessAttempted,
00543           RTI::SaveInProgress,
00544           RTI::RestoreInProgress,
00545           RTI::RTIinternalError);
00546 
00548    virtual void negotiatedAttributeOwnershipDivestiture (
00549       RTI::ObjectHandle theObject, 
00550       const RTI::AttributeHandleSet& theAttributes,
00551       const char *theTag)
00552         throw (
00553           RTI::ObjectNotKnown,
00554           RTI::AttributeNotDefined,
00555           RTI::AttributeNotOwned,
00556           RTI::AttributeAlreadyBeingDivested,
00557           RTI::FederateNotExecutionMember,
00558           RTI::ConcurrentAccessAttempted,
00559           RTI::SaveInProgress,
00560           RTI::RestoreInProgress,
00561           RTI::RTIinternalError);
00562 
00564    virtual void attributeOwnershipAcquisition (
00565       RTI::ObjectHandle theObject, 
00566       const RTI::AttributeHandleSet& desiredAttributes,
00567       const char *theTag)
00568         throw (
00569           RTI::ObjectNotKnown,
00570           RTI::ObjectClassNotPublished,
00571           RTI::AttributeNotDefined,
00572           RTI::AttributeNotPublished,
00573           RTI::FederateOwnsAttributes,
00574           RTI::FederateNotExecutionMember,
00575           RTI::ConcurrentAccessAttempted,
00576           RTI::SaveInProgress,
00577           RTI::RestoreInProgress,
00578           RTI::RTIinternalError);
00579 
00581    virtual void attributeOwnershipAcquisitionIfAvailable (
00582       RTI::ObjectHandle theObject,
00583       const RTI::AttributeHandleSet& desiredAttributes)
00584         throw (
00585           RTI::ObjectNotKnown,
00586           RTI::ObjectClassNotPublished,
00587           RTI::AttributeNotDefined,
00588           RTI::AttributeNotPublished,
00589           RTI::FederateOwnsAttributes,
00590           RTI::AttributeAlreadyBeingAcquired,
00591           RTI::FederateNotExecutionMember,
00592           RTI::ConcurrentAccessAttempted,
00593           RTI::SaveInProgress,
00594           RTI::RestoreInProgress,
00595           RTI::RTIinternalError);
00596 
00598    virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse (
00599       RTI::ObjectHandle theObject,
00600       const RTI::AttributeHandleSet& theAttributes)
00601         throw (
00602           RTI::ObjectNotKnown,
00603           RTI::AttributeNotDefined,
00604           RTI::AttributeNotOwned,
00605           RTI::FederateWasNotAskedToReleaseAttribute,
00606           RTI::FederateNotExecutionMember,
00607           RTI::ConcurrentAccessAttempted,
00608           RTI::SaveInProgress,
00609           RTI::RestoreInProgress,
00610           RTI::RTIinternalError);
00611 
00613    virtual void cancelNegotiatedAttributeOwnershipDivestiture (
00614       RTI::ObjectHandle theObject,
00615       const RTI::AttributeHandleSet& theAttributes)
00616         throw (
00617           RTI::ObjectNotKnown,
00618           RTI::AttributeNotDefined,
00619           RTI::AttributeNotOwned,
00620           RTI::AttributeDivestitureWasNotRequested,
00621           RTI::FederateNotExecutionMember,
00622           RTI::ConcurrentAccessAttempted,
00623           RTI::SaveInProgress,
00624           RTI::RestoreInProgress,
00625           RTI::RTIinternalError);
00626 
00628    virtual void cancelAttributeOwnershipAcquisition (
00629       RTI::ObjectHandle theObject, 
00630       const RTI::AttributeHandleSet& theAttributes)
00631         throw (
00632           RTI::ObjectNotKnown,
00633           RTI::AttributeNotDefined,
00634           RTI::AttributeAlreadyOwned,
00635           RTI::AttributeAcquisitionWasNotRequested,
00636           RTI::FederateNotExecutionMember,
00637           RTI::ConcurrentAccessAttempted,
00638           RTI::SaveInProgress,
00639           RTI::RestoreInProgress,
00640           RTI::RTIinternalError);
00641 
00643    virtual void queryAttributeOwnership (
00644       RTI::ObjectHandle theObject,
00645       RTI::AttributeHandle theAttribute)
00646         throw (
00647           RTI::ObjectNotKnown,
00648           RTI::AttributeNotDefined,
00649           RTI::FederateNotExecutionMember,
00650           RTI::ConcurrentAccessAttempted,
00651           RTI::SaveInProgress,
00652           RTI::RestoreInProgress,
00653           RTI::RTIinternalError);
00654         
00656    virtual RTI::Boolean isAttributeOwnedByFederate (
00657       RTI::ObjectHandle theObject,
00658       RTI::AttributeHandle theAttribute)
00659         throw (
00660           RTI::ObjectNotKnown,
00661           RTI::AttributeNotDefined,
00662           RTI::FederateNotExecutionMember,
00663           RTI::ConcurrentAccessAttempted,
00664           RTI::SaveInProgress,
00665           RTI::RestoreInProgress,
00666           RTI::RTIinternalError);
00667         
00668    //----------------------------
00670    //----------------------------
00671 
00673    virtual void enableTimeRegulation (
00674       const RTI::FedTime& theFederateTime, 
00675       const RTI::FedTime& theLookahead)
00676         throw (
00677           RTI::TimeRegulationAlreadyEnabled,
00678           RTI::EnableTimeRegulationPending,
00679           RTI::TimeAdvanceAlreadyInProgress,
00680           RTI::InvalidFederationTime,
00681           RTI::InvalidLookahead,
00682           RTI::ConcurrentAccessAttempted,
00683           RTI::FederateNotExecutionMember,
00684           RTI::SaveInProgress,
00685           RTI::RestoreInProgress,
00686           RTI::RTIinternalError);
00687 
00689    virtual void disableTimeRegulation ()
00690     throw (
00691           RTI::TimeRegulationWasNotEnabled,
00692           RTI::ConcurrentAccessAttempted,
00693           RTI::FederateNotExecutionMember,
00694           RTI::SaveInProgress,
00695           RTI::RestoreInProgress,
00696           RTI::RTIinternalError);
00697 
00699    virtual void enableTimeConstrained ()
00700     throw (
00701           RTI::TimeConstrainedAlreadyEnabled,
00702           RTI::EnableTimeConstrainedPending,
00703           RTI::TimeAdvanceAlreadyInProgress,
00704           RTI::FederateNotExecutionMember,
00705           RTI::ConcurrentAccessAttempted,
00706           RTI::SaveInProgress,
00707           RTI::RestoreInProgress,
00708           RTI::RTIinternalError);
00709 
00711    virtual void disableTimeConstrained ()
00712     throw (
00713           RTI::TimeConstrainedWasNotEnabled,
00714           RTI::FederateNotExecutionMember,
00715           RTI::ConcurrentAccessAttempted,
00716           RTI::SaveInProgress,
00717           RTI::RestoreInProgress,
00718           RTI::RTIinternalError);
00719 
00721    virtual void timeAdvanceRequest (
00722      const  RTI::FedTime& theTime)
00723         throw (
00724           RTI::InvalidFederationTime,
00725           RTI::FederationTimeAlreadyPassed,
00726           RTI::TimeAdvanceAlreadyInProgress,
00727           RTI::EnableTimeRegulationPending,
00728           RTI::EnableTimeConstrainedPending,
00729           RTI::FederateNotExecutionMember,
00730           RTI::ConcurrentAccessAttempted,
00731           RTI::SaveInProgress,
00732           RTI::RestoreInProgress,
00733           RTI::RTIinternalError);
00734 
00736    virtual void timeAdvanceRequestAvailable (
00737     const RTI::FedTime& theTime)
00738       throw (
00739          RTI::InvalidFederationTime,
00740          RTI::FederationTimeAlreadyPassed,
00741          RTI::TimeAdvanceAlreadyInProgress,
00742          RTI::EnableTimeRegulationPending,
00743          RTI::EnableTimeConstrainedPending,
00744          RTI::FederateNotExecutionMember,
00745          RTI::ConcurrentAccessAttempted,
00746          RTI::SaveInProgress,
00747          RTI::RestoreInProgress,
00748          RTI::RTIinternalError);
00749 
00751    virtual void nextEventRequest (
00752       const RTI::FedTime& theTime)
00753         throw (
00754           RTI::InvalidFederationTime,
00755           RTI::FederationTimeAlreadyPassed,
00756           RTI::TimeAdvanceAlreadyInProgress,
00757           RTI::EnableTimeRegulationPending,
00758           RTI::EnableTimeConstrainedPending,
00759           RTI::FederateNotExecutionMember,
00760           RTI::ConcurrentAccessAttempted,
00761           RTI::SaveInProgress,
00762           RTI::RestoreInProgress,
00763           RTI::RTIinternalError);
00764 
00766    virtual void nextEventRequestAvailable (
00767       const RTI::FedTime& theTime)
00768         throw (
00769           RTI::InvalidFederationTime,
00770           RTI::FederationTimeAlreadyPassed,
00771           RTI::TimeAdvanceAlreadyInProgress,
00772           RTI::EnableTimeRegulationPending,
00773           RTI::EnableTimeConstrainedPending,  
00774           RTI::FederateNotExecutionMember,
00775           RTI::ConcurrentAccessAttempted,
00776           RTI::SaveInProgress,
00777           RTI::RestoreInProgress,
00778           RTI::RTIinternalError);
00779 
00781    virtual void flushQueueRequest (
00782       const RTI::FedTime& theTime)
00783         throw (
00784           RTI::InvalidFederationTime,
00785           RTI::FederationTimeAlreadyPassed,
00786           RTI::TimeAdvanceAlreadyInProgress,
00787           RTI::EnableTimeRegulationPending,
00788           RTI::EnableTimeConstrainedPending,  
00789           RTI::FederateNotExecutionMember,
00790           RTI::ConcurrentAccessAttempted,
00791           RTI::SaveInProgress,
00792           RTI::RestoreInProgress,
00793           RTI::RTIinternalError);
00794 
00796    virtual void enableAsynchronousDelivery()
00797       throw (
00798         RTI::AsynchronousDeliveryAlreadyEnabled,
00799         RTI::FederateNotExecutionMember,
00800         RTI::ConcurrentAccessAttempted,
00801         RTI::SaveInProgress,
00802         RTI::RestoreInProgress,
00803         RTI::RTIinternalError);
00804 
00806    virtual void disableAsynchronousDelivery()
00807       throw (
00808         RTI::AsynchronousDeliveryAlreadyDisabled,
00809         RTI::FederateNotExecutionMember,
00810         RTI::ConcurrentAccessAttempted,
00811         RTI::SaveInProgress,
00812         RTI::RestoreInProgress,
00813         RTI::RTIinternalError);
00814     
00816    virtual void queryLBTS (
00817       RTI::FedTime& theTime) 
00818         throw (
00819           RTI::FederateNotExecutionMember,
00820           RTI::ConcurrentAccessAttempted,
00821           RTI::SaveInProgress,
00822           RTI::RestoreInProgress,
00823           RTI::RTIinternalError);
00824 
00826    virtual void queryFederateTime (
00827       RTI::FedTime& theTime) 
00828         throw (
00829           RTI::FederateNotExecutionMember,
00830           RTI::ConcurrentAccessAttempted,
00831           RTI::SaveInProgress,
00832           RTI::RestoreInProgress,
00833           RTI::RTIinternalError);
00834 
00836    virtual void queryMinNextEventTime (
00837       RTI::FedTime& theTime) 
00838         throw (
00839           RTI::FederateNotExecutionMember,
00840           RTI::ConcurrentAccessAttempted,
00841           RTI::SaveInProgress,
00842           RTI::RestoreInProgress,
00843           RTI::RTIinternalError);
00844 
00846    virtual void modifyLookahead (
00847       const RTI::FedTime& theLookahead)
00848         throw (
00849           RTI::InvalidLookahead,
00850           RTI::FederateNotExecutionMember,
00851           RTI::ConcurrentAccessAttempted,
00852           RTI::SaveInProgress,
00853           RTI::RestoreInProgress,
00854           RTI::RTIinternalError);
00855 
00857    virtual void queryLookahead (
00858        RTI::FedTime& theTime) 
00859         throw (
00860           RTI::FederateNotExecutionMember,
00861           RTI::ConcurrentAccessAttempted,
00862           RTI::SaveInProgress,
00863           RTI::RestoreInProgress,
00864           RTI::RTIinternalError);
00865 
00867    virtual void retract (
00868       RTI::EventRetractionHandle theHandle)
00869         throw (
00870           RTI::InvalidRetractionHandle,
00871           RTI::FederateNotExecutionMember,
00872           RTI::ConcurrentAccessAttempted,
00873           RTI::SaveInProgress,
00874           RTI::RestoreInProgress,
00875           RTI::RTIinternalError);
00876 
00878    virtual void changeAttributeOrderType (
00879       RTI::ObjectHandle theObject, 
00880       const RTI::AttributeHandleSet& theAttributes,
00881       RTI::OrderingHandle theType) 
00882         throw (
00883           RTI::ObjectNotKnown,
00884           RTI::AttributeNotDefined,
00885           RTI::AttributeNotOwned,
00886           RTI::InvalidOrderingHandle,
00887           RTI::FederateNotExecutionMember,
00888           RTI::ConcurrentAccessAttempted,
00889           RTI::SaveInProgress,
00890           RTI::RestoreInProgress,
00891           RTI::RTIinternalError);
00892 
00894    virtual void changeInteractionOrderType (
00895       RTI::InteractionClassHandle theClass,
00896       RTI::OrderingHandle theType)
00897         throw (
00898           RTI::InteractionClassNotDefined,
00899           RTI::InteractionClassNotPublished,
00900           RTI::InvalidOrderingHandle,
00901           RTI::FederateNotExecutionMember,
00902           RTI::ConcurrentAccessAttempted,
00903           RTI::SaveInProgress,
00904           RTI::RestoreInProgress,
00905           RTI::RTIinternalError);
00906 
00907    //--------------------------------
00909    //--------------------------------
00910 
00912    virtual RTI::Region* createRegion (
00913       RTI::SpaceHandle theSpace,
00914       RTI::ULong numberOfExtents)
00915         throw (
00916           RTI::SpaceNotDefined,
00917           RTI::InvalidExtents,
00918           RTI::FederateNotExecutionMember,
00919           RTI::ConcurrentAccessAttempted,
00920           RTI::SaveInProgress,
00921           RTI::RestoreInProgress,
00922           RTI::RTIinternalError);
00923 
00925    virtual void notifyAboutRegionModification (
00926       RTI::Region &theRegion)
00927         throw (
00928           RTI::RegionNotKnown,
00929           RTI::InvalidExtents,
00930           RTI::FederateNotExecutionMember,
00931           RTI::ConcurrentAccessAttempted,
00932           RTI::SaveInProgress,
00933           RTI::RestoreInProgress,
00934           RTI::RTIinternalError);
00935 
00937    virtual void deleteRegion (
00938       RTI::Region *theRegion)
00939         throw (
00940           RTI::RegionNotKnown,
00941           RTI::RegionInUse,
00942           RTI::FederateNotExecutionMember,
00943           RTI::ConcurrentAccessAttempted,
00944           RTI::SaveInProgress,
00945           RTI::RestoreInProgress,
00946           RTI::RTIinternalError);
00947 
00949 
00950    virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
00951       RTI::ObjectClassHandle theClass,
00952       const char *theObject,
00953       RTI::AttributeHandle theAttributes[],
00954       RTI::Region *theRegions[],
00955       RTI::ULong theNumberOfHandles)
00956         throw (
00957           RTI::ObjectClassNotDefined,
00958           RTI::ObjectClassNotPublished,
00959           RTI::AttributeNotDefined,
00960           RTI::AttributeNotPublished,
00961           RTI::RegionNotKnown,
00962           RTI::InvalidRegionContext,
00963           RTI::ObjectAlreadyRegistered,
00964           RTI::FederateNotExecutionMember,
00965           RTI::ConcurrentAccessAttempted,
00966           RTI::SaveInProgress,
00967           RTI::RestoreInProgress,
00968           RTI::RTIinternalError);
00969 
00970    virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
00971       RTI::ObjectClassHandle theClass,
00972       RTI::AttributeHandle theAttributes[],
00973       RTI::Region *theRegions[],
00974       RTI::ULong theNumberOfHandles)
00975         throw (
00976           RTI::ObjectClassNotDefined,
00977           RTI::ObjectClassNotPublished,
00978           RTI::AttributeNotDefined,
00979           RTI::AttributeNotPublished,
00980           RTI::RegionNotKnown,
00981           RTI::InvalidRegionContext,
00982           RTI::FederateNotExecutionMember,
00983           RTI::ConcurrentAccessAttempted,
00984           RTI::SaveInProgress,
00985           RTI::RestoreInProgress,
00986           RTI::RTIinternalError);
00988 
00990    virtual void associateRegionForUpdates (
00991       RTI::Region &theRegion,
00992       RTI::ObjectHandle theObject,
00993       const RTI::AttributeHandleSet &theAttributes)
00994         throw (
00995           RTI::ObjectNotKnown,
00996           RTI::AttributeNotDefined,
00997           RTI::InvalidRegionContext,
00998           RTI::RegionNotKnown,
00999           RTI::FederateNotExecutionMember,
01000           RTI::ConcurrentAccessAttempted,
01001           RTI::SaveInProgress,
01002           RTI::RestoreInProgress,
01003           RTI::RTIinternalError);
01004 
01006    virtual void unassociateRegionForUpdates (
01007       RTI::Region &theRegion,
01008       RTI::ObjectHandle theObject)
01009         throw (
01010           RTI::ObjectNotKnown,
01011           RTI::InvalidRegionContext,
01012           RTI::RegionNotKnown,
01013           RTI::FederateNotExecutionMember,
01014           RTI::ConcurrentAccessAttempted,
01015           RTI::SaveInProgress,
01016           RTI::RestoreInProgress,
01017           RTI::RTIinternalError);
01018 
01020    virtual void subscribeObjectClassAttributesWithRegion (
01021       RTI::ObjectClassHandle theClass,
01022       RTI::Region &theRegion,
01023       const RTI::AttributeHandleSet &attributeList,
01024       RTI::Boolean active = RTI::RTI_TRUE)
01025         throw (
01026           RTI::ObjectClassNotDefined,
01027           RTI::AttributeNotDefined,
01028           RTI::RegionNotKnown,
01029           RTI::InvalidRegionContext,
01030           RTI::FederateNotExecutionMember,
01031           RTI::ConcurrentAccessAttempted,
01032           RTI::SaveInProgress,
01033           RTI::RestoreInProgress,
01034           RTI::RTIinternalError);
01035 
01037    virtual void unsubscribeObjectClassWithRegion (
01038       RTI::ObjectClassHandle theClass,
01039       RTI::Region &theRegion)
01040         throw (
01041           RTI::ObjectClassNotDefined,
01042           RTI::RegionNotKnown,
01043           RTI::ObjectClassNotSubscribed,
01044           RTI::FederateNotExecutionMember,
01045           RTI::ConcurrentAccessAttempted,
01046           RTI::SaveInProgress,
01047           RTI::RestoreInProgress,
01048           RTI::RTIinternalError);
01049 
01051    virtual void subscribeInteractionClassWithRegion (
01052       RTI::InteractionClassHandle theClass,
01053       RTI::Region &theRegion,
01054       RTI::Boolean active = RTI::RTI_TRUE)
01055         throw (
01056           RTI::InteractionClassNotDefined,
01057           RTI::RegionNotKnown,
01058           RTI::InvalidRegionContext,
01059           RTI::FederateLoggingServiceCalls,
01060           RTI::FederateNotExecutionMember,
01061           RTI::ConcurrentAccessAttempted,
01062           RTI::SaveInProgress,
01063           RTI::RestoreInProgress,
01064           RTI::RTIinternalError);
01065 
01067    virtual void unsubscribeInteractionClassWithRegion (
01068       RTI::InteractionClassHandle theClass,
01069       RTI::Region &theRegion)
01070         throw (
01071           RTI::InteractionClassNotDefined,
01072           RTI::InteractionClassNotSubscribed,
01073           RTI::RegionNotKnown,
01074           RTI::FederateNotExecutionMember,
01075           RTI::ConcurrentAccessAttempted,
01076           RTI::SaveInProgress,
01077           RTI::RestoreInProgress,
01078           RTI::RTIinternalError);
01079 
01081 
01082    virtual RTI::EventRetractionHandle sendInteractionWithRegion (
01083       RTI::InteractionClassHandle theInteraction,
01084       const RTI::ParameterHandleValuePairSet &theParameters,
01085       const RTI::FedTime& theTime,
01086       const char *theTag, 
01087       const RTI::Region &theRegion)
01088         throw (
01089           RTI::InteractionClassNotDefined,
01090           RTI::InteractionClassNotPublished,
01091           RTI::InteractionParameterNotDefined,
01092           RTI::InvalidFederationTime,
01093           RTI::RegionNotKnown,
01094           RTI::InvalidRegionContext,
01095           RTI::FederateNotExecutionMember,
01096           RTI::ConcurrentAccessAttempted,
01097           RTI::SaveInProgress,
01098           RTI::RestoreInProgress,
01099           RTI::RTIinternalError);
01100 
01101    virtual void sendInteractionWithRegion (
01102       RTI::InteractionClassHandle theInteraction,
01103       const RTI::ParameterHandleValuePairSet &theParameters,
01104       const char *theTag,
01105       const RTI::Region &theRegion) 
01106         throw (
01107           RTI::InteractionClassNotDefined,
01108           RTI::InteractionClassNotPublished,
01109           RTI::InteractionParameterNotDefined,
01110           RTI::RegionNotKnown,
01111           RTI::InvalidRegionContext,
01112           RTI::FederateNotExecutionMember,
01113           RTI::ConcurrentAccessAttempted,
01114           RTI::SaveInProgress,
01115           RTI::RestoreInProgress,
01116           RTI::RTIinternalError);
01118 
01120    virtual void requestClassAttributeValueUpdateWithRegion (
01121      RTI::ObjectClassHandle theClass,
01122      const RTI::AttributeHandleSet &theAttributes,
01123      const RTI::Region &theRegion)
01124         throw (
01125           RTI::ObjectClassNotDefined, 
01126           RTI::AttributeNotDefined,
01127           RTI::RegionNotKnown,
01128           RTI::FederateNotExecutionMember,
01129           RTI::ConcurrentAccessAttempted,
01130           RTI::SaveInProgress,
01131           RTI::RestoreInProgress,
01132           RTI::RTIinternalError);
01133 
01134    //------------------------
01136    //------------------------
01137 
01139    virtual RTI::ObjectClassHandle getObjectClassHandle (
01140       const char *theName)
01141         throw (
01142           RTI::NameNotFound,
01143           RTI::FederateNotExecutionMember,
01144           RTI::ConcurrentAccessAttempted,
01145           RTI::RTIinternalError);
01146 
01148    virtual char * getObjectClassName (
01149       RTI::ObjectClassHandle theHandle) 
01150         throw (
01151           RTI::ObjectClassNotDefined,
01152           RTI::FederateNotExecutionMember,
01153           RTI::ConcurrentAccessAttempted,
01154           RTI::RTIinternalError);
01155 
01157    virtual RTI::AttributeHandle getAttributeHandle (
01158       const char *theName, 
01159       RTI::ObjectClassHandle whichClass) 
01160         throw (
01161           RTI::ObjectClassNotDefined,
01162           RTI::NameNotFound,
01163           RTI::FederateNotExecutionMember,
01164           RTI::ConcurrentAccessAttempted,
01165           RTI::RTIinternalError);
01166 
01168    virtual char * getAttributeName (
01169       RTI::AttributeHandle theHandle,
01170       RTI::ObjectClassHandle whichClass) 
01171         throw (
01172           RTI::ObjectClassNotDefined,
01173           RTI::AttributeNotDefined,
01174           RTI::FederateNotExecutionMember,
01175           RTI::ConcurrentAccessAttempted,
01176           RTI::RTIinternalError);
01177 
01179    virtual RTI::InteractionClassHandle getInteractionClassHandle (
01180       const char *theName)
01181         throw (
01182           RTI::NameNotFound,
01183           RTI::FederateNotExecutionMember,
01184           RTI::ConcurrentAccessAttempted,
01185           RTI::RTIinternalError);
01186 
01188    virtual char * getInteractionClassName (
01189      RTI::InteractionClassHandle theHandle) 
01190         throw (
01191           RTI::InteractionClassNotDefined,
01192           RTI::FederateNotExecutionMember,
01193           RTI::ConcurrentAccessAttempted,
01194           RTI::RTIinternalError);
01195 
01197    virtual RTI::ParameterHandle getParameterHandle (
01198       const char *theName,
01199         RTI::InteractionClassHandle whichClass) 
01200         throw (
01201           RTI::InteractionClassNotDefined,
01202           RTI::NameNotFound,
01203           RTI::FederateNotExecutionMember,
01204           RTI::ConcurrentAccessAttempted,
01205           RTI::RTIinternalError);
01206     
01208    virtual char * getParameterName (
01209       RTI::ParameterHandle theHandle,  
01210       RTI::InteractionClassHandle whichClass)
01211         throw (
01212           RTI::InteractionClassNotDefined,
01213           RTI::InteractionParameterNotDefined,
01214           RTI::FederateNotExecutionMember,
01215           RTI::ConcurrentAccessAttempted,
01216           RTI::RTIinternalError);
01217 
01219    virtual RTI::ObjectHandle getObjectInstanceHandle (
01220       const char *theName)
01221         throw (
01222             RTI::ObjectNotKnown,
01223             RTI::FederateNotExecutionMember,
01224             RTI::ConcurrentAccessAttempted,
01225             RTI::RTIinternalError);
01226 
01228    virtual char * getObjectInstanceName (
01229      RTI::ObjectHandle theHandle)
01230         throw (
01231           RTI::ObjectNotKnown,
01232           RTI::FederateNotExecutionMember,
01233           RTI::ConcurrentAccessAttempted,
01234           RTI::RTIinternalError);
01235 
01237    virtual RTI::SpaceHandle getRoutingSpaceHandle (
01238      const char *theName)
01239         throw (
01240           RTI::NameNotFound,
01241           RTI::FederateNotExecutionMember,
01242           RTI::ConcurrentAccessAttempted,
01243           RTI::RTIinternalError);
01244         
01246    virtual char * getRoutingSpaceName (
01247       RTI::SpaceHandle theHandle) 
01248         throw (
01249           RTI::SpaceNotDefined,
01250           RTI::FederateNotExecutionMember,
01251           RTI::ConcurrentAccessAttempted,
01252           RTI::RTIinternalError);
01253 
01255    virtual RTI::DimensionHandle getDimensionHandle (
01256      const char *theName,
01257      RTI::SpaceHandle whichSpace)
01258         throw (
01259           RTI::SpaceNotDefined,
01260           RTI::NameNotFound,
01261           RTI::FederateNotExecutionMember,
01262           RTI::ConcurrentAccessAttempted,
01263           RTI::RTIinternalError);
01264     
01266    virtual char * getDimensionName (
01267       RTI::DimensionHandle theHandle,
01268       RTI::SpaceHandle whichSpace)
01269         throw (
01270           RTI::SpaceNotDefined,
01271           RTI::DimensionNotDefined,
01272           RTI::FederateNotExecutionMember,
01273           RTI::ConcurrentAccessAttempted,
01274           RTI::RTIinternalError);
01275 
01277    virtual RTI::SpaceHandle getAttributeRoutingSpaceHandle (
01278       RTI::AttributeHandle theHandle,
01279       RTI::ObjectClassHandle whichClass)
01280         throw (
01281           RTI::ObjectClassNotDefined,
01282           RTI::AttributeNotDefined,
01283           RTI::FederateNotExecutionMember,
01284           RTI::ConcurrentAccessAttempted,
01285           RTI::RTIinternalError);
01286 
01288    virtual RTI::ObjectClassHandle getObjectClass (
01289       RTI::ObjectHandle theObject)
01290         throw (
01291           RTI::ObjectNotKnown,
01292           RTI::FederateNotExecutionMember,
01293           RTI::ConcurrentAccessAttempted,
01294           RTI::RTIinternalError);
01295 
01297    virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle (
01298      RTI::InteractionClassHandle theHandle)
01299         throw (
01300           RTI::InteractionClassNotDefined,
01301           RTI::FederateNotExecutionMember,
01302           RTI::ConcurrentAccessAttempted,
01303           RTI::RTIinternalError);
01304 
01306    virtual RTI::TransportationHandle getTransportationHandle (
01307      const char *theName)
01308         throw (
01309           RTI::NameNotFound,
01310           RTI::FederateNotExecutionMember,
01311           RTI::ConcurrentAccessAttempted,
01312           RTI::RTIinternalError);
01313 
01315    virtual char * getTransportationName (
01316      RTI::TransportationHandle theHandle)
01317         throw (
01318           RTI::InvalidTransportationHandle,
01319           RTI::FederateNotExecutionMember,
01320           RTI::ConcurrentAccessAttempted,
01321           RTI::RTIinternalError);
01322 
01324    virtual RTI::OrderingHandle getOrderingHandle (
01325      const char *theName)
01326         throw (
01327           RTI::NameNotFound,
01328           RTI::FederateNotExecutionMember,
01329           RTI::ConcurrentAccessAttempted,
01330           RTI::RTIinternalError);
01331 
01333    virtual char * getOrderingName (
01334      RTI::OrderingHandle theHandle) 
01335         throw (
01336           RTI::InvalidOrderingHandle,
01337           RTI::FederateNotExecutionMember,
01338           RTI::ConcurrentAccessAttempted,
01339           RTI::RTIinternalError);
01340 
01342    virtual void enableClassRelevanceAdvisorySwitch()
01343         throw(
01344           RTI::FederateNotExecutionMember,
01345           RTI::ConcurrentAccessAttempted,
01346           RTI::SaveInProgress,
01347           RTI::RestoreInProgress,
01348           RTI::RTIinternalError);
01349 
01351    virtual void disableClassRelevanceAdvisorySwitch()
01352         throw(
01353           RTI::FederateNotExecutionMember,
01354           RTI::ConcurrentAccessAttempted,
01355           RTI::SaveInProgress,
01356           RTI::RestoreInProgress,
01357           RTI::RTIinternalError);
01358 
01360    virtual void enableAttributeRelevanceAdvisorySwitch()
01361         throw(
01362           RTI::FederateNotExecutionMember,
01363           RTI::ConcurrentAccessAttempted,
01364           RTI::SaveInProgress,
01365           RTI::RestoreInProgress,
01366           RTI::RTIinternalError);
01367 
01369    virtual void disableAttributeRelevanceAdvisorySwitch()
01370         throw(
01371           RTI::FederateNotExecutionMember,
01372           RTI::ConcurrentAccessAttempted,
01373           RTI::SaveInProgress,
01374           RTI::RestoreInProgress,
01375           RTI::RTIinternalError);
01376 
01378    virtual void enableAttributeScopeAdvisorySwitch()
01379         throw(
01380           RTI::FederateNotExecutionMember,
01381           RTI::ConcurrentAccessAttempted,
01382           RTI::SaveInProgress,
01383           RTI::RestoreInProgress,
01384           RTI::RTIinternalError);
01385 
01387    virtual void disableAttributeScopeAdvisorySwitch()
01388         throw(
01389           RTI::FederateNotExecutionMember,
01390           RTI::ConcurrentAccessAttempted,
01391           RTI::SaveInProgress,
01392           RTI::RestoreInProgress,
01393           RTI::RTIinternalError);
01394 
01396    virtual void enableInteractionRelevanceAdvisorySwitch()
01397         throw(
01398           RTI::FederateNotExecutionMember,
01399           RTI::ConcurrentAccessAttempted,
01400           RTI::SaveInProgress,
01401           RTI::RestoreInProgress,
01402           RTI::RTIinternalError);
01403 
01405    virtual void disableInteractionRelevanceAdvisorySwitch()
01406         throw(
01407           RTI::FederateNotExecutionMember,
01408           RTI::ConcurrentAccessAttempted,
01409           RTI::SaveInProgress,
01410           RTI::RestoreInProgress,
01411           RTI::RTIinternalError);
01412 
01413    virtual RTI::Boolean tick ()
01414         throw (
01415           RTI::SpecifiedSaveLabelDoesNotExist,
01416           RTI::ConcurrentAccessAttempted,
01417           RTI::RTIinternalError);
01418         
01419    virtual RTI::Boolean tick (
01420       RTI::TickTime minimum,
01421       RTI::TickTime maximum,
01422       RTI::Boolean unlockWhileWaiting=RTI::RTI_FALSE)
01423         throw (
01424           RTI::SpecifiedSaveLabelDoesNotExist,
01425           RTI::ConcurrentAccessAttempted,
01426           RTI::RTIinternalError);
01427 
01428    virtual RTI::RegionToken getRegionToken(
01429      RTI::Region *)
01430         throw(
01431           RTI::FederateNotExecutionMember,
01432           RTI::ConcurrentAccessAttempted,
01433           RTI::RegionNotKnown,
01434           RTI::RTIinternalError);
01435 
01436    virtual RTI::Region * getRegion(
01437       RTI::RegionToken)
01438         throw(
01439           RTI::FederateNotExecutionMember,
01440           RTI::ConcurrentAccessAttempted,
01441           RTI::RegionNotKnown,
01442           RTI::RTIinternalError);
01443 
01444    //---------------------------------------------------------
01446    //---------------------------------------------------------
01447    
01448 
01449 public:
01450 
01454    static DtRtiAmbassadorImplementor* create(RTI::RTIambassador* topLevelAmbPtr);
01455 
01459    static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
01460 
01461 protected:
01462 
01464    virtual void throwInternalError(const MAKRti::DtString & errorMessage) const;
01465 
01467    virtual void throwNotConnected(const MAKRti::DtString & errorMessage) const;
01468 
01470    virtual void throwNotJoined(const MAKRti::DtString & errorMessage) const;
01471 
01472 protected:
01473 
01475    RTI::RTIambassador* myTopLevelAmb;
01476 
01478    bool myAccessingRtiAmb;
01479 
01480 protected:
01481 
01483    static DtRtiAmbassadorImplementorCreator theCreator;
01484 };
01485 
01487 class DtConcurrentAccessCheck
01488 {
01489 public:
01490 
01491    DtConcurrentAccessCheck(bool* accessFlag)
01492    {
01493       myAccessFlag = accessFlag;
01494       if(theAccessCheckRequired)
01495       {
01496          if(*myAccessFlag)
01497          {
01498             throw RTI::ConcurrentAccessAttempted("Concurrent RTIambassador access attempted.");
01499          }
01500          *myAccessFlag = true;
01501       }
01502    }
01503 
01504    ~DtConcurrentAccessCheck()
01505    {
01506       *myAccessFlag = false;
01507    }
01508 
01509    static void checkForConcurrentAccess(bool check)
01510    {
01511       theAccessCheckRequired = check;
01512    }
01513 
01514 protected:
01515 
01516    bool* myAccessFlag;
01517 
01518 protected:
01519 
01520    static bool theAccessCheckRequired;
01521 
01522 private:
01523    DtConcurrentAccessCheck(const DtConcurrentAccessCheck& orig);
01524    DtConcurrentAccessCheck& operator=(const DtConcurrentAccessCheck& orig);
01525 };
01526 
01527 #endif 

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)