![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtRecordQueryPdu_H_ 00011 #define DtRecordQueryPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include <vlutil/vlMachineTypes.h> 00016 #include "hostStructs.h" 00017 #include "dInteraction.h" 00018 #include "exerciseConn.h" 00019 00020 #include "packets/recQueryP.h" 00021 00022 00023 class DT_DLL_VL DtRecordQueryPdu; 00024 00026 typedef void (*DtRecordQueryPduCb)(DtRecordQueryPdu* pdu, void* usr); 00027 00028 00032 class DT_DLL_VL DtRecordQueryPdu : public DtInteraction 00033 { 00034 00035 public: 00036 00038 DtRecordQueryPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 DtRecordQueryPdu(const DtNetRecordQueryPdu* initial, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 DtRecordQueryPdu(const DtRecordQueryPdu& orig); 00042 00044 virtual ~DtRecordQueryPdu(); 00045 00047 DtRecordQueryPdu& operator=(const DtRecordQueryPdu& orig); 00048 00050 virtual void setOriginatingEntityID(const DtEntityIdentifier& entity); 00051 virtual const DtEntityIdentifier& originatingEntityID() const; 00052 00054 virtual void setReceivingEntityID(const DtEntityIdentifier& entity); 00055 virtual const DtEntityIdentifier& receivingEntityID() const; 00056 00058 virtual void setRequestID(DtU32 id); 00059 virtual DtU32 requestID() const; 00060 00062 virtual void setReqRelService(enum DtRequiredReliabilityService service); 00063 virtual DtRequiredReliabilityService reqRelService() const; 00064 00066 virtual void setEventType(DtEventType type); 00067 virtual DtEventType eventType() const; 00068 00070 virtual void setTime(DtU32 value); 00071 virtual DtU32 time() const; 00072 00075 virtual bool setNumRecords(DtU32 num); 00076 virtual DtU32 numRecords() const; 00077 00080 virtual bool setRecordID(int index, DtDatumParam value); 00081 virtual bool getRecordID(int index, DtDatumParam& value) const; 00082 00084 virtual void printData() const; 00085 00087 virtual void printDataToStream(std::ostream &stream) const; 00088 00089 public: 00090 00093 static DtPdu* create(const DtNetPacket* initial, 00094 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00095 00098 static void addCallback(DtExerciseConn* conn, 00099 DtRecordQueryPduCb cb, void* usr); 00100 static void removeCallback(DtExerciseConn* conn, 00101 DtRecordQueryPduCb cb, void* usr); 00102 00103 protected: 00104 00106 virtual DtPduKind internalGetPduKind() const; 00107 00110 virtual DtNetRecordQueryPdu* netPduStruct() const; 00111 00114 DtRecordQueryPdu* self() const; 00115 00117 virtual char* var() const; 00118 00119 protected: 00120 00122 static const int theStaticSize; 00123 00124 protected: 00125 00127 DtEntityIdentifier myEntityID; 00128 00129 }; 00130 00131 #endif 00132 #endif 00133