MAK RTIspy API Documentation for HLA 1516
momInspector.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright(c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: momInspector.h,v $ $Revision: 1.17 $ $State: Exp $
00007 *********************************************************************/
00010 
00011 #ifndef DtMomInspector_H_
00012 #define DtMomInspector_H_
00013 #ifdef DtMOM
00014 
00015 #include "rtiObject.h"
00016 #include "tallyList.h"
00017 #include "momNetParam.h"
00018 #include <vlutil/vlUtil.h>
00019 
00020 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00021 #include <RTI/LogicalTime.h>
00022 #include <RTI/LogicalTimeInterval.h>
00023 #else
00024 #ifdef DtIFSPEC13DLC
00025 #include "RTI13.h"
00026 #define RTI rti13
00027 #else
00028 #include "RTI.hh"
00029 #endif
00030 #endif
00031 
00032 class DtFomClassMgr;
00033 class DtFederateMgr;
00034 class DtObjectMgr;
00035 class DtInteractionMgr;
00036 class DtMomMgr;
00037 class DtTimeMgr;
00038 class DtDataDistMgr;
00039 
00040 class DtMomHandleList;
00041 class DtMomPublicationList;
00042 class DtMomSubscriptionList;
00043 class DtMomObjectInfo;
00044 
00045 
00046 class DT_DLL_LRC DtMomInspector
00047 {
00048 public:
00049 
00051    DtMomInspector(DtFederateMgr* fedMgrPtr);
00052 
00054    virtual ~DtMomInspector();
00055 
00057    DtMomInspector(const DtMomInspector& orig);
00058  
00060    DtMomInspector& operator=(const DtMomInspector& orig);
00061 
00064 
00065    virtual DtFomClassMgr* fom();
00066    virtual DtFomClassMgr const * fom() const;
00067    virtual DtFederateMgr* fedMgr();
00068    virtual DtFederateMgr const * fedMgr() const;
00069    virtual DtObjectMgr* objMgr();
00070    virtual DtObjectMgr const * objMgr() const;
00071    virtual DtInteractionMgr* interMgr();
00072    virtual DtInteractionMgr const* interMgr() const;
00073    virtual DtMomMgr* momMgr();
00074    virtual DtMomMgr const * momMgr() const;
00075 
00076 #ifdef DtTIME
00077    virtual DtTimeMgr* timeMgr();
00078    virtual DtTimeMgr const* timeMgr() const;
00079 #endif
00080 
00081 #ifdef DDM
00082    virtual DtDataDistMgr* ddmMgr();
00083    virtual DtDataDistMgr const* ddmMgr() const;
00084 #endif
00085 
00086 
00088 
00090    virtual DtFederateHandle getFederateHandle();
00091    
00093    virtual MAKRti::DtString const &  getFederateType();
00094 
00096    virtual MAKRti::DtString const &  getFederateName();
00097    
00099    virtual MAKRti::DtString const &  getFederateHost();
00100    
00102    virtual MAKRti::DtString const &  getRTIversion();
00103    
00105    virtual MAKRti::DtString const & getFEDid();
00106    
00108    virtual bool getTimeConstrained();
00109    
00111    virtual bool getTimeRegulating();
00112    
00114    virtual bool getAsynchronousDelivery();
00115    
00117    virtual DtMomFederateStates getFederateState();
00118    
00120    virtual DtMomTimeManagerStates getTimeManagerState();
00121 
00122 #ifdef DtIFSPEC1516
00123 
00124 
00125    virtual bool getFederateTime(rti1516::LogicalTime & time);
00126 
00129    virtual bool getLookahead(rti1516::LogicalTimeInterval & interval);
00130 
00133    virtual bool  getGALT(rti1516::LogicalTime & time);
00134 
00137    virtual bool getLITS(rti1516::LogicalTime & time);
00138 
00139 #elif defined(DtIFSPEC1516E)
00140 
00141 
00142    virtual bool getFederateTime(rti1516e::LogicalTime & time);
00143 
00146    virtual bool getLookahead(rti1516e::LogicalTimeInterval & interval);
00147 
00150    virtual bool  getGALT(rti1516e::LogicalTime & time);
00151 
00154    virtual bool getLITS(rti1516e::LogicalTime & time);
00155 
00156 #else
00157 
00160    virtual bool getFederateTime(RTI::FedTime & time);
00161 
00164    virtual bool  getLookahead(RTI::FedTime & interval);
00165 
00168    virtual bool getGALT(RTI::FedTime & time);
00169 
00172    virtual bool getLITS(RTI::FedTime & time);
00173 
00174 #endif
00175    
00177    virtual unsigned long getROlength();
00178    
00180    virtual unsigned long getTSOlength();
00181    
00183    virtual void getReflectionsReceived(MAKRti::DtTransportType transport,
00184       DtMomTallyList & list);
00185 
00187    virtual void getReflectAttributesReceived(MAKRti::DtTransportType transport,
00188       DtMomTallyList & list);
00189 
00191    virtual unsigned long getTotalReflectionsReceived();
00192    
00194    virtual unsigned long getTotalReflectAttributesReceived();
00195    
00197    virtual void getUpdatesSent(DtMomTallyList & list);
00198 
00200    virtual void getUpdateAttributesSent(MAKRti::DtTransportType transport,
00201       DtMomTallyList & list);
00202 
00204    virtual unsigned long getTotalUpdatesSent();
00205 
00207    virtual unsigned long getTotalUpdateAttributesSent();
00208 
00210    virtual void getInteractionsReceived(MAKRti::DtTransportType transport,
00211       DtMomTallyList & list);
00212    
00214    virtual unsigned long  getTotalInteractionsReceived();
00215    
00218    virtual void getInteractionsSent(MAKRti::DtTransportType transport,
00219       DtMomTallyList & list);
00220    
00223    virtual unsigned long  getTotalInteractionsSent();
00224    
00227    virtual void getObjectsOwned(DtMomTallyList & list);
00228    
00231    virtual unsigned long getTotalObjectsOwned();
00232    
00235    virtual void getObjectsUpdated(DtMomTallyList & list);
00236    
00239    virtual unsigned long getTotalObjectsUpdated();
00240    
00243    virtual void getObjectsReflected(DtMomTallyList & list);
00244    
00247    virtual unsigned long getTotalObjectsReflected();
00248    
00251    virtual unsigned long getTotalObjectsDeleted();
00252    
00256    virtual unsigned long getTotalObjectsRemoved();
00257    
00261    virtual unsigned long getTotalObjectsRegistered();
00262    
00265    virtual unsigned long getTotalObjectsDiscovered();
00266    
00271    virtual unsigned long getGrantedTime();
00272    
00277    virtual unsigned long getAdvancingTime();
00278    
00279 
00281 
00283    virtual MAKRti::DtString const &  getFederationName();
00284    
00286    virtual DtMomHandleList const & getFederatesInFederation() const;
00287 
00290 
00292    virtual MAKRti::DtString const &  getNextSaveName();
00293    
00295    virtual MAKRti::DtString const &  getLastSaveName();
00296 
00297 #ifdef DtIFSPEC1516
00298 
00299 
00300    virtual bool getNextSaveTime(rti1516::LogicalTime & time);
00301 
00304    virtual bool getLastSaveTime(rti1516::LogicalTime & time);
00305 
00306 #elif defined(DtIFSPEC1516E)
00307 
00308 
00309    virtual bool getNextSaveTime(rti1516e::LogicalTime & time);
00310 
00313    virtual bool getLastSaveTime(rti1516e::LogicalTime & time);
00314 
00315 #else
00316 
00319    virtual bool getNextSaveTime(RTI::FedTime & time);
00320 
00323    virtual bool getLastSaveTime(RTI::FedTime & time);
00324    
00325 #endif
00326 
00329    virtual bool getAutoProvide();
00330 
00333    virtual bool getConveyRegions();
00334 
00337    virtual bool getConveyProducingFederate();
00338 
00340    virtual MAKRti::DtString const & getMIMDesignator();
00341 
00342 #ifdef DtIFSPEC1516E
00343 
00344    virtual std::vector<std::wstring> const & getFederateFOMmoduleDesignatorList();
00345 
00347    virtual std::vector<std::wstring> const & getFederationFOMmoduleDesignatorList();
00348 #endif
00349 
00351    virtual MAKRti::DtString const & getTimeImplementationName();
00352 
00354 
00358    virtual void getInteractionSubscription(DtMomHandleList* list,
00359       bool active);
00360    
00362    virtual void getInteractionPublication(DtMomHandleList* list);
00363    
00366    virtual void getObjectPublication(DtMomPublicationList& list);
00367       
00370    virtual void getObjectSubscription(DtMomSubscriptionList& list);
00371    
00374    virtual bool getObjectInformation(DtMomObjectInfo& info,
00375       const char *name);
00376    virtual bool getObjectInformation(DtMomObjectInfo& info,
00377       DtObjectInstanceHandle objHandle);
00378 
00379 #ifdef DtIFSPEC1516E
00380 
00381    virtual bool getFederateFomModuleData(std::wstring& fomData,
00382       MAKRti::DtU32 moduleIndicator);
00383 
00385    virtual bool getFederationFomModuleData(std::wstring& fomData,
00386       MAKRti::DtU32 moduleIndicator);
00387 
00389    virtual bool getMimData(std::wstring& mimData);
00390 #endif
00391 
00392 protected:
00393 
00395    DtMomInspector* self();
00396 
00397 protected:
00398 
00399    DtFederateMgr* myFedMgr;
00400    MAKRti::DtString myHostName;
00401    MAKRti::DtString myVersion;
00402 };
00403 
00404 
00405 #endif //! DtMOM
00406 #endif //! DtMomInspector_H_

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)