![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtDataQueryRPdu_H_ 00011 #define DtDataQueryRPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "simanPdu.h" 00017 #include "packets/dataQueryRP.h" 00018 #include "exerciseConn.h" 00019 00020 00021 00022 class DT_DLL_VL DtDataQueryRPdu; 00023 00025 typedef void (*DtDataQueryRPduCb)(DtDataQueryRPdu* pdu, void* usr); 00026 00030 class DT_DLL_VL DtDataQueryRPdu : public DtSimanPdu 00031 { 00032 public: 00034 DtDataQueryRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00035 DtDataQueryRPdu(const DtNetDataQueryRPdu* initial, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 DtDataQueryRPdu(const DtDataQueryRPdu& orig); 00038 00040 virtual ~DtDataQueryRPdu(); 00041 00043 DtDataQueryRPdu& operator=(const DtDataQueryRPdu& orig); 00044 00046 virtual void setRequestId(unsigned long id); 00047 virtual unsigned long requestId() const; 00048 00050 virtual void setTimeInterval(DtTime seconds); 00051 virtual DtTime timeInterval() const; 00052 00054 virtual unsigned long numFixedFields() const; 00055 00057 virtual unsigned long numVarFields() const; 00058 00060 virtual int setFixedDatumId(int index, DtDatumParam id); 00061 virtual DtDatumParam fixedDatumId(int index) const; 00062 00064 virtual int setVarDatumId(int index, DtDatumParam id); 00065 virtual DtDatumParam varDatumId(int index) const; 00066 00068 virtual void setReqRelService(DtRequiredReliabilityService value); 00069 virtual DtRequiredReliabilityService reqRelService() const; 00070 00072 virtual void initDatumIds(unsigned long numFixedFields, 00073 unsigned long numVarFields); 00074 00076 virtual void printData() const; 00077 00079 virtual void printDataToStream(std::ostream& stream) const; 00080 00081 public: 00084 static DtPdu* create(const DtNetPacket* initial, 00085 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00086 00089 static void addCallback(DtExerciseConn* conn, 00090 DtDataQueryRPduCb cb, void* usr); 00091 static void removeCallback(DtExerciseConn* conn, 00092 DtDataQueryRPduCb cb, void* usr); 00093 00094 protected: 00095 00097 virtual DtPduKind internalGetPduKind() const; 00098 00099 protected: 00100 00101 static const int theStaticSize; 00102 00103 }; 00104 00105 inline DtPduKind DtDataQueryRPdu::internalGetPduKind() const 00106 { 00107 return DtDataQueryRPduKind; 00108 } 00109 00110 #endif 00111 #endif 00112