MAK RTIspy API Documentation for HLA 1.3
fedAmbWrap.h
Go to the documentation of this file.
00001 /********************************************************************* 
00002 ** Copyright (c) 1998 MaK Technologies, Inc. 
00003 ** All rights reserved. 
00004 *********************************************************************/ 
00005 /********************************************************************* 
00006 ** $RCSfile: fedAmbWrap.h,v $ $Revision: 1.12 $ $State: Exp $
00007 *********************************************************************/ 
00008  
00011 
00012 #ifndef DtFedAmbWrapper_H_
00013 #define DtFedAmbWrapper_H_
00014 
00015 #ifdef DtIFSPEC13
00016 
00017 #include "rtiMsConfig.h"
00018 
00019 #ifdef DtIFSPEC13DLC
00020 #include "NullFederateAmbassador13.h" 
00021 #define RTI rti13
00022 #else
00023 #include "NullFederateAmbassador.hh" 
00024 #endif
00025 
00026 class DtFedAmbWrapper; 
00027  
00028 typedef DtFedAmbWrapper* (*DtFedAmbWrapperCreator) 
00029    (RTI::FederateAmbassador* fedAmb); 
00030  
00037 
00038 #ifdef DtIFSPEC13DLC
00039 class DT_DLL_LRC DtFedAmbWrapper : public rti13::NullFederateAmbassador 
00040 #else
00041 class DT_DLL_LRC DtFedAmbWrapper : public NullFederateAmbassador 
00042 #endif
00043 { 
00044 public: 
00045    DtFedAmbWrapper(RTI::FederateAmbassador* fedAmb) :  
00046       NullFederateAmbassador(), myFedAmb(fedAmb) {} 
00047  
00048    virtual ~DtFedAmbWrapper() throw (RTI::FederateInternalError) {} 
00049  
00050    virtual RTI::FederateAmbassador* fedAmb(); 
00051    virtual void setFedAmb(RTI::FederateAmbassador* f); 
00052  
00053 protected: 
00054    RTI::FederateAmbassador* myFedAmb; 
00055  
00056 public: 
00057  
00059 
00060  
00061    virtual void synchronizationPointRegistrationSucceeded ( 
00062      const char *label)  
00063    throw ( 
00064      RTI::FederateInternalError); 
00065  
00066    virtual void synchronizationPointRegistrationFailed ( 
00067      const char *label)  
00068    throw ( 
00069      RTI::FederateInternalError); 
00070  
00071    virtual void announceSynchronizationPoint ( 
00072      const char *label,  
00073      const char *tag)    
00074    throw ( 
00075      RTI::FederateInternalError); 
00076  
00077    virtual void federationSynchronized ( 
00078      const char *label)  
00079    throw ( 
00080      RTI::FederateInternalError); 
00081  
00082    virtual void initiateFederateSave ( 
00083      const char *label)  
00084    throw ( 
00085      RTI::UnableToPerformSave, 
00086      RTI::FederateInternalError); 
00087  
00088    virtual void federationSaved () 
00089    throw ( 
00090      RTI::FederateInternalError); 
00091  
00092    virtual void federationNotSaved () 
00093    throw ( 
00094      RTI::FederateInternalError); 
00095  
00096    virtual void requestFederationRestoreSucceeded ( 
00097      const char *label)  
00098    throw ( 
00099      RTI::FederateInternalError); 
00100  
00101    virtual void requestFederationRestoreFailed ( 
00102      const char *label, 
00103      const char *reason)  
00104    throw ( 
00105      RTI::FederateInternalError); 
00106  
00107    virtual void federationRestoreBegun () 
00108    throw ( 
00109      RTI::FederateInternalError); 
00110  
00111    virtual void initiateFederateRestore ( 
00112      const char               *label,    
00113      RTI::FederateHandle handle)   
00114    throw ( 
00115      RTI::SpecifiedSaveLabelDoesNotExist, 
00116      RTI::CouldNotRestore, 
00117      RTI::FederateInternalError); 
00118  
00119    virtual void federationRestored () 
00120    throw ( 
00121      RTI::FederateInternalError); 
00122  
00123    virtual void federationNotRestored () 
00124    throw ( 
00125      RTI::FederateInternalError); 
00126  
00128 
00130 
00131  
00132    virtual void startRegistrationForObjectClass ( 
00133      RTI::ObjectClassHandle   theClass)       
00134    throw ( 
00135      RTI::ObjectClassNotPublished, 
00136      RTI::FederateInternalError); 
00137  
00138    virtual void stopRegistrationForObjectClass ( 
00139      RTI::ObjectClassHandle   theClass)       
00140    throw ( 
00141      RTI::ObjectClassNotPublished, 
00142      RTI::FederateInternalError); 
00143  
00144    virtual void turnInteractionsOn ( 
00145      RTI::InteractionClassHandle theHandle)  
00146    throw ( 
00147      RTI::InteractionClassNotPublished, 
00148      RTI::FederateInternalError); 
00149  
00150    virtual void turnInteractionsOff ( 
00151      RTI::InteractionClassHandle theHandle)  
00152    throw ( 
00153      RTI::InteractionClassNotPublished, 
00154      RTI::FederateInternalError); 
00155  
00157 
00159 
00160  
00161    virtual void discoverObjectInstance ( 
00162      RTI::ObjectHandle          theObject,       
00163      RTI::ObjectClassHandle     theObjectClass,  
00164      const char*                      theObjectName)   
00165    throw ( 
00166      RTI::CouldNotDiscover, 
00167      RTI::ObjectClassNotKnown, 
00168      RTI::FederateInternalError); 
00169  
00170    virtual void reflectAttributeValues ( 
00171      RTI::ObjectHandle                 theObject,      
00172      const RTI::AttributeHandleValuePairSet& theAttributes,  
00173      const RTI::FedTime&                     theTime,        
00174      const char                             *theTag,         
00175      RTI::EventRetractionHandle        theHandle)      
00176    throw ( 
00177      RTI::ObjectNotKnown, 
00178      RTI::AttributeNotKnown, 
00179      RTI::FederateOwnsAttributes, 
00180      RTI::InvalidFederationTime, 
00181      RTI::FederateInternalError); 
00182  
00183    virtual void reflectAttributeValues ( 
00184      RTI::ObjectHandle                 theObject,      
00185      const RTI::AttributeHandleValuePairSet& theAttributes,  
00186      const char                             *theTag)         
00187    throw ( 
00188      RTI::ObjectNotKnown, 
00189      RTI::AttributeNotKnown, 
00190      RTI::FederateOwnsAttributes, 
00191      RTI::FederateInternalError); 
00192  
00193    virtual void receiveInteraction ( 
00194      RTI::InteractionClassHandle       theInteraction,  
00195      const RTI::ParameterHandleValuePairSet& theParameters,   
00196      const RTI::FedTime&                     theTime,         
00197      const char                             *theTag,          
00198      RTI::EventRetractionHandle        theHandle)       
00199    throw ( 
00200      RTI::InteractionClassNotKnown, 
00201      RTI::InteractionParameterNotKnown, 
00202      RTI::InvalidFederationTime, 
00203      RTI::FederateInternalError); 
00204  
00205    virtual void receiveInteraction ( 
00206      RTI::InteractionClassHandle       theInteraction,  
00207      const RTI::ParameterHandleValuePairSet& theParameters,   
00208      const char                             *theTag)          
00209    throw ( 
00210      RTI::InteractionClassNotKnown, 
00211      RTI::InteractionParameterNotKnown, 
00212      RTI::FederateInternalError); 
00213  
00214    virtual void removeObjectInstance ( 
00215      RTI::ObjectHandle          theObject,  
00216      const RTI::FedTime&              theTime,    
00217      const char                      *theTag,     
00218      RTI::EventRetractionHandle theHandle)  
00219    throw ( 
00220      RTI::ObjectNotKnown, 
00221      RTI::InvalidFederationTime, 
00222      RTI::FederateInternalError); 
00223  
00224    virtual void removeObjectInstance ( 
00225      RTI::ObjectHandle          theObject,  
00226      const char                      *theTag)     
00227    throw ( 
00228      RTI::ObjectNotKnown, 
00229      RTI::FederateInternalError); 
00230  
00231    virtual void attributesInScope ( 
00232      RTI::ObjectHandle        theObject,      
00233      const RTI::AttributeHandleSet& theAttributes)  
00234    throw ( 
00235      RTI::ObjectNotKnown, 
00236      RTI::AttributeNotKnown, 
00237      RTI::FederateInternalError); 
00238  
00239    virtual void attributesOutOfScope ( 
00240      RTI::ObjectHandle        theObject,      
00241      const RTI::AttributeHandleSet& theAttributes)  
00242    throw ( 
00243      RTI::ObjectNotKnown, 
00244      RTI::AttributeNotKnown, 
00245      RTI::FederateInternalError); 
00246  
00247    virtual void provideAttributeValueUpdate ( 
00248      RTI::ObjectHandle        theObject,      
00249      const RTI::AttributeHandleSet& theAttributes)  
00250    throw ( 
00251      RTI::ObjectNotKnown, 
00252      RTI::AttributeNotKnown, 
00253      RTI::AttributeNotOwned, 
00254      RTI::FederateInternalError); 
00255  
00256    virtual void turnUpdatesOnForObjectInstance ( 
00257      RTI::ObjectHandle        theObject,      
00258      const RTI::AttributeHandleSet& theAttributes)  
00259    throw ( 
00260      RTI::ObjectNotKnown, 
00261      RTI::AttributeNotOwned, 
00262      RTI::FederateInternalError); 
00263  
00264    virtual void turnUpdatesOffForObjectInstance ( 
00265      RTI::ObjectHandle        theObject,       
00266      const RTI::AttributeHandleSet& theAttributes)  
00267    throw ( 
00268      RTI::ObjectNotKnown, 
00269      RTI::AttributeNotOwned, 
00270      RTI::FederateInternalError); 
00271  
00273 
00275 
00276  
00277    virtual void requestAttributeOwnershipAssumption ( 
00278      RTI::ObjectHandle        theObject,          
00279      const RTI::AttributeHandleSet& offeredAttributes,  
00280      const char                    *theTag)             
00281    throw ( 
00282      RTI::ObjectNotKnown, 
00283      RTI::AttributeNotKnown, 
00284      RTI::AttributeAlreadyOwned, 
00285      RTI::AttributeNotPublished, 
00286      RTI::FederateInternalError); 
00287  
00288    virtual void attributeOwnershipDivestitureNotification ( 
00289      RTI::ObjectHandle        theObject,           
00290      const RTI::AttributeHandleSet& releasedAttributes)  
00291    throw ( 
00292      RTI::ObjectNotKnown, 
00293      RTI::AttributeNotKnown, 
00294      RTI::AttributeNotOwned, 
00295      RTI::AttributeDivestitureWasNotRequested, 
00296      RTI::FederateInternalError); 
00297  
00298    virtual void attributeOwnershipAcquisitionNotification ( 
00299      RTI::ObjectHandle        theObject,          
00300      const RTI::AttributeHandleSet& securedAttributes)  
00301    throw ( 
00302      RTI::ObjectNotKnown, 
00303      RTI::AttributeNotKnown, 
00304      RTI::AttributeAcquisitionWasNotRequested, 
00305      RTI::AttributeAlreadyOwned, 
00306      RTI::AttributeNotPublished, 
00307      RTI::FederateInternalError); 
00308  
00309    virtual void attributeOwnershipUnavailable ( 
00310      RTI::ObjectHandle        theObject,          
00311      const RTI::AttributeHandleSet& theAttributes)  
00312    throw ( 
00313      RTI::ObjectNotKnown, 
00314      RTI::AttributeNotKnown, 
00315      RTI::AttributeAlreadyOwned, 
00316      RTI::AttributeAcquisitionWasNotRequested, 
00317      RTI::FederateInternalError); 
00318  
00319    virtual void requestAttributeOwnershipRelease ( 
00320      RTI::ObjectHandle        theObject,            
00321      const RTI::AttributeHandleSet& candidateAttributes,  
00322      const char                    *theTag)               
00323    throw ( 
00324      RTI::ObjectNotKnown, 
00325      RTI::AttributeNotKnown, 
00326      RTI::AttributeNotOwned, 
00327      RTI::FederateInternalError); 
00328  
00329    virtual void confirmAttributeOwnershipAcquisitionCancellation ( 
00330      RTI::ObjectHandle        theObject,          
00331      const RTI::AttributeHandleSet& theAttributes)  
00332    throw ( 
00333      RTI::ObjectNotKnown, 
00334      RTI::AttributeNotKnown, 
00335      RTI::AttributeAlreadyOwned, 
00336      RTI::AttributeAcquisitionWasNotCanceled, 
00337      RTI::FederateInternalError); 
00338  
00339    virtual void informAttributeOwnership ( 
00340      RTI::ObjectHandle    theObject,     
00341      RTI::AttributeHandle theAttribute,  
00342      RTI::FederateHandle  theOwner)      
00343    throw ( 
00344      RTI::ObjectNotKnown, 
00345      RTI::AttributeNotKnown, 
00346      RTI::FederateInternalError); 
00347  
00348    virtual void attributeIsNotOwned ( 
00349      RTI::ObjectHandle    theObject,     
00350      RTI::AttributeHandle theAttribute)  
00351    throw ( 
00352      RTI::ObjectNotKnown, 
00353      RTI::AttributeNotKnown, 
00354      RTI::FederateInternalError); 
00355  
00356    virtual void attributeOwnedByRTI ( 
00357      RTI::ObjectHandle    theObject,     
00358      RTI::AttributeHandle theAttribute)  
00359    throw ( 
00360      RTI::ObjectNotKnown, 
00361      RTI::AttributeNotKnown, 
00362      RTI::FederateInternalError); 
00363  
00365 
00367 
00368  
00369    virtual void timeRegulationEnabled ( 
00370     const  RTI::FedTime& theFederateTime)  
00371    throw ( 
00372      RTI::InvalidFederationTime, 
00373      RTI::EnableTimeRegulationWasNotPending, 
00374      RTI::FederateInternalError); 
00375  
00376    virtual void timeConstrainedEnabled ( 
00377      const RTI::FedTime& theFederateTime)  
00378    throw ( 
00379      RTI::InvalidFederationTime, 
00380      RTI::EnableTimeConstrainedWasNotPending, 
00381      RTI::FederateInternalError); 
00382  
00383    virtual void timeAdvanceGrant ( 
00384      const RTI::FedTime& theTime)  
00385    throw ( 
00386      RTI::InvalidFederationTime, 
00387      RTI::TimeAdvanceWasNotInProgress, 
00388      RTI::FederateInternalError); 
00389  
00390    virtual void requestRetraction ( 
00391      RTI::EventRetractionHandle theHandle)  
00392    throw ( 
00393      RTI::EventNotKnown, 
00394      RTI::FederateInternalError); 
00395 
00397 }; 
00398  
00399 inline RTI::FederateAmbassador* DtFedAmbWrapper::fedAmb() 
00400 { 
00401    return myFedAmb; 
00402 } 
00403  
00404 inline void DtFedAmbWrapper::setFedAmb(RTI::FederateAmbassador* f) 
00405 { 
00406    myFedAmb = f; 
00407 } 
00408  
00409 inline void DtFedAmbWrapper::synchronizationPointRegistrationSucceeded ( 
00410    const char *label) 
00411    throw ( 
00412      RTI::FederateInternalError) 
00413 {  
00414    if (myFedAmb)  
00415    {  
00416      myFedAmb->synchronizationPointRegistrationSucceeded(label); 
00417    }  
00418 } 
00419  
00420 inline void DtFedAmbWrapper::synchronizationPointRegistrationFailed ( 
00421    const char *label)   
00422    throw ( 
00423      RTI::FederateInternalError) 
00424 {  
00425    if (myFedAmb)  
00426    {  
00427      myFedAmb-> synchronizationPointRegistrationFailed(label); 
00428    }  
00429 } 
00430  
00431 inline void DtFedAmbWrapper::announceSynchronizationPoint ( 
00432    const char *label,   
00433    const char *tag)     
00434    throw ( 
00435      RTI::FederateInternalError) 
00436 {  
00437    if (myFedAmb)  
00438    {  
00439      myFedAmb-> announceSynchronizationPoint(label, tag); 
00440    }  
00441 } 
00442  
00443 inline void DtFedAmbWrapper::federationSynchronized ( 
00444    const char *label)   
00445    throw ( 
00446      RTI::FederateInternalError) 
00447 {  
00448    if (myFedAmb)  
00449    {  
00450      myFedAmb-> federationSynchronized(label); 
00451    }  
00452 } 
00453  
00454 inline void DtFedAmbWrapper::initiateFederateSave ( 
00455    const char *label)   
00456    throw ( 
00457      RTI::UnableToPerformSave, 
00458      RTI::FederateInternalError) 
00459 {  
00460    if (myFedAmb)  
00461    {  
00462      myFedAmb-> initiateFederateSave(label); 
00463    }  
00464 } 
00465  
00466 inline void DtFedAmbWrapper::federationSaved () 
00467    throw ( 
00468      RTI::FederateInternalError) 
00469 {  
00470    if (myFedAmb)  
00471    {  
00472      myFedAmb-> federationSaved(); 
00473    }  
00474 } 
00475  
00476 inline void DtFedAmbWrapper::federationNotSaved () 
00477    throw ( 
00478      RTI::FederateInternalError) 
00479 {  
00480    if (myFedAmb)  
00481    {  
00482      myFedAmb-> federationNotSaved(); 
00483    }  
00484 } 
00485  
00486 inline void DtFedAmbWrapper::requestFederationRestoreSucceeded ( 
00487    const char *label)   
00488    throw ( 
00489      RTI::FederateInternalError) 
00490 {  
00491    if (myFedAmb)  
00492    {  
00493      myFedAmb-> requestFederationRestoreSucceeded(label); 
00494    }  
00495 } 
00496  
00497 inline void DtFedAmbWrapper::requestFederationRestoreFailed ( 
00498    const char *label, const char *reason)   
00499    throw ( 
00500      RTI::FederateInternalError) 
00501 {  
00502    if (myFedAmb)  
00503    {  
00504      myFedAmb-> requestFederationRestoreFailed(label, reason); 
00505    }  
00506 } 
00507  
00508 inline void DtFedAmbWrapper::federationRestoreBegun () 
00509    throw ( 
00510      RTI::FederateInternalError) 
00511 {  
00512    if (myFedAmb)  
00513    {  
00514      myFedAmb-> federationRestoreBegun(); 
00515    }  
00516 } 
00517  
00518 inline void DtFedAmbWrapper::initiateFederateRestore ( 
00519    const char *label, RTI::FederateHandle handle)    
00520    throw ( 
00521      RTI::SpecifiedSaveLabelDoesNotExist, 
00522      RTI::CouldNotRestore, 
00523      RTI::FederateInternalError) 
00524 {  
00525    if (myFedAmb)  
00526    {  
00527      myFedAmb-> initiateFederateRestore(label, handle); 
00528    }  
00529 } 
00530  
00531  
00532 inline void DtFedAmbWrapper::federationRestored () 
00533    throw ( 
00534      RTI::FederateInternalError) 
00535 {  
00536    if (myFedAmb)  
00537    {  
00538      myFedAmb-> federationRestored(); 
00539    }  
00540 } 
00541  
00542 inline void DtFedAmbWrapper::federationNotRestored () 
00543    throw ( 
00544      RTI::FederateInternalError) 
00545 {  
00546    if (myFedAmb)  
00547    {  
00548      myFedAmb-> federationNotRestored(); 
00549    }  
00550 } 
00551  
00552 inline void DtFedAmbWrapper::startRegistrationForObjectClass ( 
00553    RTI::ObjectClassHandle  theClass)        
00554    throw ( 
00555      RTI::ObjectClassNotPublished, 
00556      RTI::FederateInternalError) 
00557 {  
00558    if (myFedAmb)  
00559    {  
00560      myFedAmb-> startRegistrationForObjectClass(theClass); 
00561    }  
00562 } 
00563  
00564 inline void DtFedAmbWrapper::stopRegistrationForObjectClass ( 
00565    RTI::ObjectClassHandle   theClass)        
00566    throw ( 
00567      RTI::ObjectClassNotPublished, 
00568      RTI::FederateInternalError) 
00569 {  
00570    if (myFedAmb)  
00571    {  
00572      myFedAmb-> stopRegistrationForObjectClass(theClass); 
00573    }  
00574 } 
00575  
00576 inline void DtFedAmbWrapper::turnInteractionsOn ( 
00577    RTI::InteractionClassHandle theHandle)   
00578    throw ( 
00579      RTI::InteractionClassNotPublished, 
00580      RTI::FederateInternalError) 
00581 {  
00582    if (myFedAmb)  
00583    {  
00584      myFedAmb-> turnInteractionsOn(theHandle); 
00585    }  
00586 } 
00587  
00588  
00589 inline void DtFedAmbWrapper::turnInteractionsOff ( 
00590    RTI::InteractionClassHandle theHandle)   
00591    throw ( 
00592      RTI::InteractionClassNotPublished, 
00593      RTI::FederateInternalError) 
00594 {  
00595    if (myFedAmb)  
00596    {  
00597      myFedAmb-> turnInteractionsOff(theHandle); 
00598    }  
00599 } 
00600  
00601  
00602 inline void DtFedAmbWrapper::discoverObjectInstance ( 
00603    RTI::ObjectHandle theObject,  
00604    RTI::ObjectClassHandle theObjectClass,  
00605    const char * theObjectName)    
00606    throw ( 
00607      RTI::CouldNotDiscover, 
00608      RTI::ObjectClassNotKnown, 
00609      RTI::FederateInternalError) 
00610 {  
00611    if (myFedAmb)  
00612    {  
00613      myFedAmb-> discoverObjectInstance( 
00614   theObject, theObjectClass, theObjectName); 
00615    }  
00616 } 
00617  
00618  
00619 inline void DtFedAmbWrapper::reflectAttributeValues ( 
00620    RTI::ObjectHandle theObject,       
00621    const RTI::AttributeHandleValuePairSet& theAttributes,   
00622    const RTI::FedTime& theTime,         
00623    const char *theTag,          
00624    RTI::EventRetractionHandle theHandle)       
00625    throw ( 
00626      RTI::ObjectNotKnown, 
00627      RTI::AttributeNotKnown, 
00628      RTI::FederateOwnsAttributes, 
00629      RTI::InvalidFederationTime, 
00630      RTI::FederateInternalError) 
00631 {  
00632    if (myFedAmb)  
00633    {  
00634      myFedAmb-> reflectAttributeValues( 
00635         theObject, theAttributes, theTime, theTag, theHandle); 
00636    }  
00637 } 
00638  
00639 inline void DtFedAmbWrapper::reflectAttributeValues ( 
00640    RTI::ObjectHandle theObject,       
00641    const RTI::AttributeHandleValuePairSet& theAttributes,   
00642    const char* theTag)          
00643    throw ( 
00644      RTI::ObjectNotKnown, 
00645      RTI::AttributeNotKnown, 
00646      RTI::FederateOwnsAttributes, 
00647      RTI::FederateInternalError) 
00648 {  
00649    if (myFedAmb)  
00650    {  
00651      myFedAmb-> reflectAttributeValues(theObject, theAttributes, theTag); 
00652    }  
00653 } 
00654  
00655  
00656 inline void DtFedAmbWrapper::receiveInteraction ( 
00657    RTI::InteractionClassHandle theInteraction,   
00658    const RTI::ParameterHandleValuePairSet& theParameters,    
00659    const RTI::FedTime& theTime,          
00660    const char *theTag,           
00661    RTI::EventRetractionHandle theHandle)        
00662    throw ( 
00663      RTI::InteractionClassNotKnown, 
00664      RTI::InteractionParameterNotKnown, 
00665      RTI::InvalidFederationTime, 
00666      RTI::FederateInternalError) 
00667 {  
00668    if (myFedAmb)  
00669    {  
00670      myFedAmb-> receiveInteraction( 
00671         theInteraction, theParameters, theTime, theTag, theHandle); 
00672    }  
00673 } 
00674  
00675 inline void DtFedAmbWrapper::receiveInteraction ( 
00676    RTI::InteractionClassHandle theInteraction,   
00677    const RTI::ParameterHandleValuePairSet& theParameters,    
00678    const char *theTag)           
00679    throw ( 
00680      RTI::InteractionClassNotKnown, 
00681      RTI::InteractionParameterNotKnown, 
00682      RTI::FederateInternalError) 
00683 {  
00684    if (myFedAmb)  
00685    {  
00686      myFedAmb-> receiveInteraction(theInteraction, theParameters, theTag); 
00687    }  
00688 } 
00689  
00690  
00691 inline void DtFedAmbWrapper::removeObjectInstance ( 
00692    RTI::ObjectHandle theObject,   
00693    const RTI::FedTime& theTime,     
00694    const char *theTag,      
00695    RTI::EventRetractionHandle theHandle)   
00696    throw ( 
00697      RTI::ObjectNotKnown, 
00698      RTI::InvalidFederationTime, 
00699      RTI::FederateInternalError) 
00700 {  
00701    if (myFedAmb)  
00702    {  
00703      myFedAmb-> removeObjectInstance( 
00704         theObject, theTime, theTag, theHandle); 
00705    }  
00706 } 
00707  
00708 inline void DtFedAmbWrapper::removeObjectInstance ( 
00709    RTI::ObjectHandle theObject,  const char *theTag)      
00710    throw ( 
00711      RTI::ObjectNotKnown, 
00712      RTI::FederateInternalError) 
00713 {  
00714    if (myFedAmb)  
00715    {  
00716      myFedAmb-> removeObjectInstance(theObject, theTag); 
00717    }  
00718 } 
00719  
00720  
00721 inline void DtFedAmbWrapper::attributesInScope ( 
00722    RTI::ObjectHandle theObject,       
00723    const RTI::AttributeHandleSet& theAttributes)   
00724    throw ( 
00725      RTI::ObjectNotKnown, 
00726      RTI::AttributeNotKnown, 
00727      RTI::FederateInternalError) 
00728 {  
00729    if (myFedAmb)  
00730    {  
00731      myFedAmb-> attributesInScope( 
00732         theObject, theAttributes); 
00733    }  
00734 } 
00735  
00736  
00737 inline void DtFedAmbWrapper::attributesOutOfScope ( 
00738    RTI::ObjectHandle theObject,       
00739    const RTI::AttributeHandleSet& theAttributes)   
00740    throw ( 
00741      RTI::ObjectNotKnown, 
00742      RTI::AttributeNotKnown, 
00743      RTI::FederateInternalError) 
00744 {  
00745    if (myFedAmb)  
00746    {  
00747      myFedAmb-> attributesOutOfScope( 
00748         theObject, theAttributes); 
00749    }  
00750 } 
00751  
00752  
00753 inline void DtFedAmbWrapper::provideAttributeValueUpdate ( 
00754    RTI::ObjectHandle theObject,       
00755    const RTI::AttributeHandleSet& theAttributes)   
00756    throw ( 
00757      RTI::ObjectNotKnown, 
00758      RTI::AttributeNotKnown, 
00759      RTI::AttributeNotOwned, 
00760      RTI::FederateInternalError) 
00761 {  
00762    if (myFedAmb)  
00763    {  
00764      myFedAmb-> provideAttributeValueUpdate( 
00765         theObject, theAttributes); 
00766    }  
00767 } 
00768  
00769  
00770 inline void DtFedAmbWrapper::turnUpdatesOnForObjectInstance ( 
00771    RTI::ObjectHandle theObject,       
00772    const RTI::AttributeHandleSet& theAttributes)   
00773    throw ( 
00774      RTI::ObjectNotKnown, 
00775      RTI::AttributeNotOwned, 
00776      RTI::FederateInternalError) 
00777 {  
00778    if (myFedAmb)  
00779    {  
00780      myFedAmb-> turnUpdatesOnForObjectInstance( 
00781         theObject, theAttributes); 
00782    }  
00783 } 
00784  
00785  
00786 inline void DtFedAmbWrapper::turnUpdatesOffForObjectInstance ( 
00787    RTI::ObjectHandle theObject,        
00788    const RTI::AttributeHandleSet& theAttributes)   
00789    throw ( 
00790      RTI::ObjectNotKnown, 
00791      RTI::AttributeNotOwned, 
00792      RTI::FederateInternalError) 
00793 {  
00794    if (myFedAmb)  
00795    {  
00796      myFedAmb-> turnUpdatesOffForObjectInstance( 
00797        theObject, theAttributes); 
00798    }  
00799 } 
00800  
00801 inline void DtFedAmbWrapper::requestAttributeOwnershipAssumption ( 
00802    RTI::ObjectHandle theObject,           
00803    const RTI::AttributeHandleSet& offeredAttributes,   
00804    const char *theTag)              
00805    throw ( 
00806      RTI::ObjectNotKnown, 
00807      RTI::AttributeNotKnown, 
00808      RTI::AttributeAlreadyOwned, 
00809      RTI::AttributeNotPublished, 
00810      RTI::FederateInternalError) 
00811 {  
00812    if (myFedAmb)  
00813    {  
00814      myFedAmb-> requestAttributeOwnershipAssumption( 
00815         theObject, offeredAttributes, theTag); 
00816    }  
00817 } 
00818  
00819 inline void DtFedAmbWrapper::attributeOwnershipDivestitureNotification ( 
00820    RTI::ObjectHandle theObject,            
00821    const RTI::AttributeHandleSet& releasedAttributes)   
00822    throw ( 
00823      RTI::ObjectNotKnown, 
00824      RTI::AttributeNotKnown, 
00825      RTI::AttributeNotOwned, 
00826      RTI::AttributeDivestitureWasNotRequested, 
00827      RTI::FederateInternalError) 
00828 {  
00829    if (myFedAmb)  
00830    {  
00831      myFedAmb-> attributeOwnershipDivestitureNotification( 
00832         theObject, releasedAttributes); 
00833    }  
00834 } 
00835  
00836  
00837 inline void DtFedAmbWrapper::attributeOwnershipAcquisitionNotification ( 
00838    RTI::ObjectHandle theObject,           
00839    const RTI::AttributeHandleSet& securedAttributes)   
00840    throw ( 
00841      RTI::ObjectNotKnown, 
00842      RTI::AttributeNotKnown, 
00843      RTI::AttributeAcquisitionWasNotRequested, 
00844      RTI::AttributeAlreadyOwned, 
00845      RTI::AttributeNotPublished, 
00846      RTI::FederateInternalError) 
00847 {  
00848    if (myFedAmb)  
00849    {  
00850      myFedAmb-> attributeOwnershipAcquisitionNotification( 
00851         theObject, securedAttributes); 
00852    }  
00853 } 
00854  
00855  
00856 inline void DtFedAmbWrapper::attributeOwnershipUnavailable ( 
00857    RTI::ObjectHandle theObject,           
00858    const RTI::AttributeHandleSet& theAttributes)   
00859    throw ( 
00860      RTI::ObjectNotKnown, 
00861      RTI::AttributeNotKnown, 
00862      RTI::AttributeAlreadyOwned, 
00863      RTI::AttributeAcquisitionWasNotRequested, 
00864      RTI::FederateInternalError) 
00865 {  
00866    if (myFedAmb)  
00867    {  
00868      myFedAmb-> attributeOwnershipUnavailable( 
00869         theObject, theAttributes); 
00870    }  
00871 } 
00872  
00873  
00874 inline void DtFedAmbWrapper::requestAttributeOwnershipRelease ( 
00875    RTI::ObjectHandle theObject,             
00876    const RTI::AttributeHandleSet& candidateAttributes,   
00877    const char *theTag)                
00878    throw ( 
00879      RTI::ObjectNotKnown, 
00880      RTI::AttributeNotKnown, 
00881      RTI::AttributeNotOwned, 
00882      RTI::FederateInternalError) 
00883 {  
00884    if (myFedAmb)  
00885    {  
00886      myFedAmb-> requestAttributeOwnershipRelease( 
00887         theObject, candidateAttributes, theTag); 
00888    }  
00889 } 
00890  
00891  
00892 inline void DtFedAmbWrapper::confirmAttributeOwnershipAcquisitionCancellation ( 
00893    RTI::ObjectHandle theObject,           
00894    const RTI::AttributeHandleSet& theAttributes)   
00895    throw ( 
00896      RTI::ObjectNotKnown, 
00897      RTI::AttributeNotKnown, 
00898      RTI::AttributeAlreadyOwned, 
00899      RTI::AttributeAcquisitionWasNotCanceled, 
00900      RTI::FederateInternalError) 
00901 {  
00902    if (myFedAmb)  
00903    {  
00904      myFedAmb-> confirmAttributeOwnershipAcquisitionCancellation( 
00905         theObject, theAttributes); 
00906    }  
00907 } 
00908  
00909  
00910 inline void DtFedAmbWrapper::informAttributeOwnership ( 
00911    RTI::ObjectHandle theObject,      
00912    RTI::AttributeHandle theAttribute,   
00913    RTI::FederateHandle theOwner)       
00914    throw ( 
00915      RTI::ObjectNotKnown, 
00916      RTI::AttributeNotKnown, 
00917      RTI::FederateInternalError) 
00918 {  
00919    if (myFedAmb)  
00920    {  
00921      myFedAmb-> informAttributeOwnership(theObject, theAttribute, theOwner); 
00922    }  
00923 } 
00924  
00925 inline void DtFedAmbWrapper::attributeIsNotOwned ( 
00926    RTI::ObjectHandle    theObject,      
00927    RTI::AttributeHandle theAttribute)   
00928    throw ( 
00929      RTI::ObjectNotKnown, 
00930      RTI::AttributeNotKnown, 
00931      RTI::FederateInternalError) 
00932 {  
00933    if (myFedAmb)  
00934    {  
00935      myFedAmb-> attributeIsNotOwned(theObject, theAttribute); 
00936    }  
00937 } 
00938  
00939 inline void DtFedAmbWrapper::attributeOwnedByRTI ( 
00940    RTI::ObjectHandle    theObject,      
00941    RTI::AttributeHandle theAttribute)   
00942    throw ( 
00943      RTI::ObjectNotKnown, 
00944      RTI::AttributeNotKnown, 
00945      RTI::FederateInternalError) 
00946 {  
00947    if (myFedAmb)  
00948    {  
00949      myFedAmb-> attributeOwnedByRTI(theObject, theAttribute); 
00950    }  
00951 } 
00952  
00953 inline void DtFedAmbWrapper::timeRegulationEnabled ( 
00954    const  RTI::FedTime& theFederateTime)   
00955    throw ( 
00956      RTI::InvalidFederationTime, 
00957      RTI::EnableTimeRegulationWasNotPending, 
00958      RTI::FederateInternalError) 
00959 {  
00960    if (myFedAmb)  
00961    {  
00962      myFedAmb-> timeRegulationEnabled(theFederateTime); 
00963    }  
00964 } 
00965  
00966 inline void DtFedAmbWrapper::timeConstrainedEnabled ( 
00967    const RTI::FedTime& theFederateTime)   
00968    throw ( 
00969      RTI::InvalidFederationTime, 
00970      RTI::EnableTimeConstrainedWasNotPending, 
00971      RTI::FederateInternalError) 
00972 {  
00973    if (myFedAmb)  
00974    {  
00975      myFedAmb-> timeConstrainedEnabled(theFederateTime); 
00976    }  
00977 } 
00978  
00979 inline void DtFedAmbWrapper::timeAdvanceGrant ( 
00980    const RTI::FedTime& theTime)   
00981    throw ( 
00982      RTI::InvalidFederationTime, 
00983      RTI::TimeAdvanceWasNotInProgress, 
00984      RTI::FederateInternalError) 
00985 {  
00986    if (myFedAmb)  
00987    {  
00988      myFedAmb-> timeAdvanceGrant(theTime); 
00989    }  
00990 } 
00991  
00992 inline void DtFedAmbWrapper::requestRetraction ( 
00993    RTI::EventRetractionHandle theHandle)   
00994    throw ( 
00995      RTI::EventNotKnown, 
00996      RTI::FederateInternalError) 
00997 {  
00998    if (myFedAmb)  
00999    {  
01000      myFedAmb-> requestRetraction(theHandle); 
01001    }  
01002 } 
01003  
01004 #endif //! DtIFSPEC1516
01005 #endif  //! DtFedAmbWrapper_H_
01006  

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)