![]() |
MAK RTIspy API Documentation for HLA 1516
|
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_