MAK RTIspy API Documentation for HLA 1.3
momWrapper.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: momWrapper.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtMomWrapper_H_
00013 #define DtMomWrapper_H_
00014 #ifdef DtMOM
00015 #ifdef DtIFSPEC13
00016 
00017 #include "fedAmbWrap.h"
00018 #include "momArgument.h"
00019 class DtMomMgr;
00020 
00021 namespace MAKRti
00022 {
00023    class DtString;
00024 }
00025 
00026 
00027 class DtMomWrapper : public DtFedAmbWrapper
00028 {
00029 public:
00030 
00032    DtMomWrapper( DtMomMgr* momMgrPtr );
00033 
00035    virtual ~DtMomWrapper() throw (RTI::FederateInternalError);
00036 
00037 
00038    virtual DtMomMgr* momMgr();
00039 
00041    virtual void reset();
00042 
00045    virtual unsigned long objectRemoveCount() const;
00046 
00049    virtual unsigned long objectDiscoverCount() const;
00050 
00052 
00053 
00055    virtual void synchronizationPointRegistrationSucceeded (
00056       const char* label )  
00057    throw (
00058      RTI::FederateInternalError );
00059 
00060    virtual void synchronizationPointRegistrationFailed (
00061       const char* label )  
00062    throw (
00063      RTI::FederateInternalError );
00064 
00066    virtual void announceSynchronizationPoint (
00067       const char* label,   
00068       const char* tag )    
00069    throw (
00070      RTI::FederateInternalError );
00071 
00073    virtual void federationSynchronized (
00074       const char* label )  
00075    throw (
00076      RTI::FederateInternalError );
00077 
00079    virtual void initiateFederateSave (
00080       const char* label )  
00081    throw (
00082      RTI::UnableToPerformSave,
00083      RTI::FederateInternalError );
00084 
00086    virtual void federationSaved ()
00087    throw (
00088      RTI::FederateInternalError);
00089 
00090    virtual void federationNotSaved ()
00091    throw (
00092      RTI::FederateInternalError );
00093 
00095    virtual void requestFederationRestoreSucceeded (
00096       const char* label )  
00097    throw (
00098      RTI::FederateInternalError);
00099 
00100    virtual void requestFederationRestoreFailed (
00101       const char* label,   
00102       const char* reason ) 
00103    throw (
00104      RTI::FederateInternalError );
00105 
00107    virtual void federationRestoreBegun ()
00108    throw (
00109      RTI::FederateInternalError );
00110 
00112    virtual void initiateFederateRestore (
00113       const char*         label,    
00114       RTI::FederateHandle handle )  
00115    throw (
00116      RTI::SpecifiedSaveLabelDoesNotExist,
00117      RTI::CouldNotRestore,
00118      RTI::FederateInternalError );
00119 
00121    virtual void federationRestored ()
00122    throw (
00123      RTI::FederateInternalError );
00124 
00125    virtual void federationNotRestored ()
00126    throw (
00127      RTI::FederateInternalError );
00129 
00131 
00132 
00134    virtual void startRegistrationForObjectClass (
00135       RTI::ObjectClassHandle theClass )       
00136    throw (
00137      RTI::ObjectClassNotPublished,
00138      RTI::FederateInternalError );
00139 
00141    virtual void stopRegistrationForObjectClass (
00142       RTI::ObjectClassHandle theClass )       
00143    throw (
00144      RTI::ObjectClassNotPublished,
00145      RTI::FederateInternalError );
00146 
00148    virtual void turnInteractionsOn (
00149       RTI::InteractionClassHandle theHandle ) 
00150    throw (
00151      RTI::InteractionClassNotPublished,
00152      RTI::FederateInternalError );
00153 
00155    virtual void turnInteractionsOff (
00156       RTI::InteractionClassHandle theHandle ) 
00157    throw (
00158      RTI::InteractionClassNotPublished,
00159      RTI::FederateInternalError );
00161 
00163 
00164 
00166    virtual void discoverObjectInstance (
00167       RTI::ObjectHandle      theObject,       
00168       RTI::ObjectClassHandle theObjectClass,  
00169       const char*            theObjectName )  
00170    throw (
00171      RTI::CouldNotDiscover,
00172      RTI::ObjectClassNotKnown,
00173      RTI::FederateInternalError );
00174 
00176    virtual void reflectAttributeValues (
00177       RTI::ObjectHandle                       theObject,     
00178       const RTI::AttributeHandleValuePairSet& theAttributes, 
00179       const RTI::FedTime&                     theTime,       
00180       const char*                             theTag,        
00181       RTI::EventRetractionHandle              theHandle)     
00182    throw (
00183      RTI::ObjectNotKnown,
00184      RTI::AttributeNotKnown,
00185      RTI::FederateOwnsAttributes,
00186      RTI::InvalidFederationTime,
00187      RTI::FederateInternalError );
00188 
00189    virtual void reflectAttributeValues (
00190       RTI::ObjectHandle                       theObject,     
00191       const RTI::AttributeHandleValuePairSet& theAttributes, 
00192       const char*                             theTag )       
00193    throw (
00194      RTI::ObjectNotKnown,
00195      RTI::AttributeNotKnown,
00196      RTI::FederateOwnsAttributes,
00197      RTI::FederateInternalError );
00198 
00200    virtual void receiveInteraction (
00201       RTI::InteractionClassHandle             theInteraction, 
00202       const RTI::ParameterHandleValuePairSet& theParameters,  
00203       const RTI::FedTime&                     theTime,        
00204       const char*                             theTag,         
00205       RTI::EventRetractionHandle              theHandle )     
00206    throw (
00207      RTI::InteractionClassNotKnown,
00208      RTI::InteractionParameterNotKnown,
00209      RTI::InvalidFederationTime,
00210      RTI::FederateInternalError );
00211 
00212    virtual void receiveInteraction (
00213      RTI::InteractionClassHandle             theInteraction, 
00214      const RTI::ParameterHandleValuePairSet& theParameters,  
00215      const char*                             theTag )        
00216    throw (
00217      RTI::InteractionClassNotKnown,
00218      RTI::InteractionParameterNotKnown,
00219      RTI::FederateInternalError );
00220 
00222    virtual void removeObjectInstance (
00223       RTI::ObjectHandle          theObject,  
00224       const RTI::FedTime&        theTime,    
00225       const char*                theTag,     
00226       RTI::EventRetractionHandle theHandle ) 
00227    throw (
00228      RTI::ObjectNotKnown,
00229      RTI::InvalidFederationTime,
00230      RTI::FederateInternalError );
00231 
00232    virtual void removeObjectInstance (
00233       RTI::ObjectHandle theObject, 
00234       const char*       theTag )   
00235    throw (
00236      RTI::ObjectNotKnown,
00237      RTI::FederateInternalError );
00238 
00240    virtual void attributesInScope (
00241       RTI::ObjectHandle              theObject,     
00242       const RTI::AttributeHandleSet& theAttributes) 
00243    throw (
00244      RTI::ObjectNotKnown,
00245      RTI::AttributeNotKnown,
00246      RTI::FederateInternalError );
00247 
00249    virtual void attributesOutOfScope (
00250       RTI::ObjectHandle              theObject,      
00251       const RTI::AttributeHandleSet& theAttributes ) 
00252    throw (
00253      RTI::ObjectNotKnown,
00254      RTI::AttributeNotKnown,
00255      RTI::FederateInternalError );
00256 
00258    virtual void provideAttributeValueUpdate (
00259       RTI::ObjectHandle              theObject,      
00260       const RTI::AttributeHandleSet& theAttributes ) 
00261    throw (
00262      RTI::ObjectNotKnown,
00263      RTI::AttributeNotKnown,
00264      RTI::AttributeNotOwned,
00265      RTI::FederateInternalError );
00266 
00268    virtual void turnUpdatesOnForObjectInstance (
00269       RTI::ObjectHandle              theObject,      
00270       const RTI::AttributeHandleSet& theAttributes ) 
00271    throw (
00272      RTI::ObjectNotKnown,
00273      RTI::AttributeNotOwned,
00274      RTI::FederateInternalError );
00275 
00277    virtual void turnUpdatesOffForObjectInstance (
00278       RTI::ObjectHandle              theObject,      
00279       const RTI::AttributeHandleSet& theAttributes ) 
00280    throw (
00281      RTI::ObjectNotKnown,
00282      RTI::AttributeNotOwned,
00283      RTI::FederateInternalError );
00285 
00287 
00288 
00290    virtual void requestAttributeOwnershipAssumption (
00291       RTI::ObjectHandle              theObject,         
00292       const RTI::AttributeHandleSet& offeredAttributes, 
00293       const char*                    theTag )           
00294    throw (
00295      RTI::ObjectNotKnown,
00296      RTI::AttributeNotKnown,
00297      RTI::AttributeAlreadyOwned,
00298      RTI::AttributeNotPublished,
00299      RTI::FederateInternalError );
00300 
00302    virtual void attributeOwnershipDivestitureNotification (
00303       RTI::ObjectHandle              theObject,           
00304       const RTI::AttributeHandleSet& releasedAttributes ) 
00305    throw (
00306      RTI::ObjectNotKnown,
00307      RTI::AttributeNotKnown,
00308      RTI::AttributeNotOwned,
00309      RTI::AttributeDivestitureWasNotRequested,
00310      RTI::FederateInternalError );
00311 
00313    virtual void attributeOwnershipAcquisitionNotification (
00314       RTI::ObjectHandle              theObject,          
00315       const RTI::AttributeHandleSet& securedAttributes ) 
00316    throw (
00317      RTI::ObjectNotKnown,
00318      RTI::AttributeNotKnown,
00319      RTI::AttributeAcquisitionWasNotRequested,
00320      RTI::AttributeAlreadyOwned,
00321      RTI::AttributeNotPublished,
00322      RTI::FederateInternalError );
00323 
00325    virtual void attributeOwnershipUnavailable (
00326       RTI::ObjectHandle              theObject,      
00327       const RTI::AttributeHandleSet& theAttributes ) 
00328    throw (
00329      RTI::ObjectNotKnown,
00330      RTI::AttributeNotKnown,
00331      RTI::AttributeAlreadyOwned,
00332      RTI::AttributeAcquisitionWasNotRequested,
00333      RTI::FederateInternalError );
00334 
00336    virtual void requestAttributeOwnershipRelease (
00337       RTI::ObjectHandle              theObject,           
00338       const RTI::AttributeHandleSet& candidateAttributes, 
00339       const char*                    theTag )             
00340    throw (
00341      RTI::ObjectNotKnown,
00342      RTI::AttributeNotKnown,
00343      RTI::AttributeNotOwned,
00344      RTI::FederateInternalError );
00345 
00347    virtual void confirmAttributeOwnershipAcquisitionCancellation (
00348       RTI::ObjectHandle              theObject,      
00349       const RTI::AttributeHandleSet& theAttributes ) 
00350    throw (
00351      RTI::ObjectNotKnown,
00352      RTI::AttributeNotKnown,
00353      RTI::AttributeAlreadyOwned,
00354      RTI::AttributeAcquisitionWasNotCanceled,
00355      RTI::FederateInternalError );
00356 
00358    virtual void informAttributeOwnership (
00359       RTI::ObjectHandle    theObject,    
00360       RTI::AttributeHandle theAttribute, 
00361       RTI::FederateHandle  theOwner )    
00362    throw (
00363      RTI::ObjectNotKnown,
00364      RTI::AttributeNotKnown,
00365      RTI::FederateInternalError );
00366 
00367    virtual void attributeIsNotOwned (
00368       RTI::ObjectHandle    theObject,     
00369       RTI::AttributeHandle theAttribute ) 
00370    throw (
00371      RTI::ObjectNotKnown,
00372      RTI::AttributeNotKnown,
00373      RTI::FederateInternalError );
00374 
00375    virtual void attributeOwnedByRTI (
00376       RTI::ObjectHandle    theObject,     
00377       RTI::AttributeHandle theAttribute ) 
00378    throw (
00379      RTI::ObjectNotKnown,
00380      RTI::AttributeNotKnown,
00381      RTI::FederateInternalError );
00383 
00385 
00386 
00388    virtual void timeRegulationEnabled (
00389       const  RTI::FedTime& theFederateTime ) 
00390    throw (
00391      RTI::InvalidFederationTime,
00392      RTI::EnableTimeRegulationWasNotPending,
00393      RTI::FederateInternalError );
00394 
00396    virtual void timeConstrainedEnabled (
00397       const RTI::FedTime& theFederateTime )  
00398    throw (
00399      RTI::InvalidFederationTime,
00400      RTI::EnableTimeConstrainedWasNotPending,
00401      RTI::FederateInternalError );
00402 
00404    virtual void timeAdvanceGrant (
00405       const RTI::FedTime& theTime )          
00406    throw (
00407      RTI::InvalidFederationTime,
00408      RTI::TimeAdvanceWasNotInProgress,
00409      RTI::FederateInternalError );
00410 
00412    virtual void requestRetraction (
00413       RTI::EventRetractionHandle theHandle ) 
00414    throw (
00415      RTI::EventNotKnown,
00416      RTI::FederateInternalError );
00418 
00419 protected:
00420    virtual void observe( const MAKRti::DtString& functionName,
00421                          RTI::Exception* except = 0,
00422                          const DtMomArgument& argument1 = theDfltMomArgument,
00423                          const DtMomArgument& argument2 = theDfltMomArgument,
00424                          const DtMomArgument& argument3 = theDfltMomArgument,
00425                          const DtMomArgument& argument4 = theDfltMomArgument,
00426                          const DtMomArgument& argument5 = theDfltMomArgument,
00427                          const DtMomArgument& returnArg = theDfltRetVal );
00428 
00429 private:
00431    DtMomWrapper( const DtMomWrapper& src );
00432 
00434    DtMomWrapper& operator=( const DtMomWrapper& src );
00435 
00436 protected:
00437    DtMomMgr* myMomMgr;
00438    unsigned long myDiscoverCount;
00439    unsigned long myRemoveCount;
00440 
00441 protected:
00442 
00443    static const DtMomArgument theDfltMomArgument;
00444    static DtMomArgument theDfltRetVal;
00445 };
00446 
00447 #endif //! DtIFSPEC1516
00448 #endif //! DtMomWrapper_H_
00449 #endif //! DtMOM
00450 
00451 

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)