![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: federateSR.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00010 00011 00012 #ifndef DtMomFederateSR_H_ 00013 #define DtMomFederateSR_H_ 00014 00015 #include "momInspector.h" 00016 #include "momSR.h" 00017 00018 class DT_DLL_LRC DtMomFederateSR: public DtMomSR 00019 { 00020 public: 00021 00023 DtMomFederateSR(DtFomClassMgr* fomPtr, DtMomInspector* servicePtr, 00024 DtRtiObject* objPtr); 00025 00027 virtual ~DtMomFederateSR(); 00028 00031 void populate(); 00032 00034 virtual void encodeAttribute(DtAhvps* vp, DtAttributeHandle attribute); 00035 00039 00040 virtual DtFederateHandle getFederateHandle(); 00041 virtual MAKRti::DtString const & getFederateName(); 00042 virtual MAKRti::DtString const & getFederateType(); 00043 virtual MAKRti::DtString const & getFederateHost(); 00044 virtual MAKRti::DtString const & getRTIversion(); 00045 virtual MAKRti::DtString const & getFEDid(); 00046 #ifdef DtIFSPEC1516E 00047 virtual std::vector<std::wstring> const & getFOMmoduleDesignatorList(); 00048 #endif 00049 virtual bool getTimeConstrained(); 00050 virtual bool getTimeRegulating(); 00051 virtual bool getAsynchronousDelivery(); 00052 virtual DtMomFederateStates getFederateState(); 00053 virtual DtMomTimeManagerStates getTimeManagerState(); 00054 #ifdef DtIFSPEC1516 00055 virtual bool getFederateTime(rti1516::LogicalTime & time); 00056 virtual bool getLookahead(rti1516::LogicalTimeInterval & interval); 00057 virtual bool getGALT(rti1516::LogicalTime & time); 00058 virtual bool getLITS(rti1516::LogicalTime & time); 00059 #elif defined(DtIFSPEC1516E) 00060 virtual bool getFederateTime(rti1516e::LogicalTime & time); 00061 virtual bool getLookahead(rti1516e::LogicalTimeInterval & interval); 00062 virtual bool getGALT(rti1516e::LogicalTime & time); 00063 virtual bool getLITS(rti1516e::LogicalTime & time); 00064 #else 00065 virtual bool getFederateTime(RTI::FedTime & time); 00066 virtual bool getLookahead(RTI::FedTime & interval); 00067 virtual bool getGALT(RTI::FedTime & time); 00068 virtual bool getLITS(RTI::FedTime & time); 00069 #endif 00070 virtual bool getConveyRegions(); 00071 virtual bool getConveyProducingFederate(); 00072 virtual unsigned long getROlength(); 00073 virtual unsigned long getTSOlength(); 00074 virtual unsigned long getReflectionsReceived(); 00075 virtual unsigned long getUpdatesSent(); 00076 virtual unsigned long getInteractionsReceived(); 00077 virtual unsigned long getInteractionsSent(); 00078 virtual unsigned long getObjectsOwned(); 00079 virtual unsigned long getObjectsUpdated(); 00080 virtual unsigned long getObjectsReflected(); 00081 virtual unsigned long getObjectsDeleted(); 00082 virtual unsigned long getObjectsRemoved(); 00083 virtual unsigned long getObjectsRegistered(); 00084 virtual unsigned long getObjectsDiscovered(); 00085 virtual unsigned long getGrantedTime(); 00086 virtual unsigned long getAdvancingTime(); 00088 00089 protected: 00090 00093 00094 virtual void encodeFederateHandle(DtAhvps* vp, DtAttributeHandle handle); 00095 virtual void encodeFederateName(DtAhvps* vp, DtAttributeHandle handle); 00096 virtual void encodeFederateType(DtAhvps* vp, DtAttributeHandle handle); 00097 virtual void encodeFederateHost(DtAhvps* vp, DtAttributeHandle handle); 00098 virtual void encodeRTIversion(DtAhvps* vp, DtAttributeHandle handle); 00099 virtual void encodeFEDid(DtAhvps* vp, DtAttributeHandle handle); 00100 #ifdef DtIFSPEC1516E 00101 virtual void encodeFOMmoduleDesignatorList(DtAhvps* vp, DtAttributeHandle handle); 00102 #endif 00103 virtual void encodeTimeConstrained(DtAhvps* vp, DtAttributeHandle handle); 00104 virtual void encodeTimeRegulating(DtAhvps* vp, DtAttributeHandle handle); 00105 virtual void encodeAsynchronousDelivery(DtAhvps* vp, DtAttributeHandle handle); 00106 virtual void encodeFederateState(DtAhvps* vp, DtAttributeHandle handle); 00107 virtual void encodeTimeManagerState(DtAhvps* vp, DtAttributeHandle handle); 00108 virtual void encodeFederateTime(DtAhvps* vp, DtAttributeHandle handle); 00109 virtual void encodeLookahead(DtAhvps* vp, DtAttributeHandle handle); 00110 virtual void encodeGALT(DtAhvps* vp, DtAttributeHandle handle); 00111 virtual void encodeLITS(DtAhvps* vp, DtAttributeHandle handle); 00112 virtual void encodeROlength(DtAhvps* vp, DtAttributeHandle handle); 00113 virtual void encodeTSOlength(DtAhvps* vp, DtAttributeHandle handle); 00114 virtual void encodeGrantedTime(DtAhvps* vp, DtAttributeHandle handle); 00115 virtual void encodeAdvancingTime(DtAhvps* vp, DtAttributeHandle handle); 00116 virtual void encodeConveyRegions(DtAhvps* vp, DtAttributeHandle attribute); 00117 virtual void encodeConveyProducingFederate(DtAhvps* vp, DtAttributeHandle attribute); 00118 virtual void encodeReflectionsReceived(DtAhvps* vp, DtAttributeHandle handle); 00119 virtual void encodeUpdatesSent(DtAhvps* vp, DtAttributeHandle handle); 00120 virtual void encodeInteractionsReceived(DtAhvps* vp, DtAttributeHandle handle); 00121 virtual void encodeInteractionsSent(DtAhvps* vp, DtAttributeHandle handle); 00122 virtual void encodeObjectsOwned(DtAhvps* vp, DtAttributeHandle handle); 00123 virtual void encodeObjectsUpdated(DtAhvps* vp, DtAttributeHandle handle); 00124 virtual void encodeObjectsReflected(DtAhvps* vp, DtAttributeHandle handle); 00125 virtual void encodeObjectsDeleted(DtAhvps* vp, DtAttributeHandle handle); 00126 virtual void encodeObjectsRemoved(DtAhvps* vp, DtAttributeHandle handle); 00127 virtual void encodeObjectsRegistered(DtAhvps* vp, DtAttributeHandle handle); 00128 virtual void encodeObjectsDiscovered(DtAhvps* vp, DtAttributeHandle handle); 00130 00132 DtMomFederateSR(const DtMomFederateSR& orig); 00133 00134 }; 00135 #endif 00136 #endif