![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00007 00008 #ifndef DtRecordSet_H_ 00009 #define DtRecordSet_H_ 00010 00011 #include <vlutil/vlMachineTypes.h> 00012 #include <vlpi/NetStructs.h> 00013 #include <vlpi/disEnums.h> 00014 #include <vlpi/datumIdType.h> 00015 00018 struct DtNetRecordSet 00019 { 00020 DtNetU32 myDatumID; 00021 DtNetU32 mySerialNumber; 00022 DtNetU16 myRecordLength; 00023 DtNetU16 myRecordCount; 00024 }; 00025 00028 struct DtNetRecordSetPdu 00029 { 00030 DtNetU32 myNumRecordSets; 00031 }; 00032 00033 00037 class DT_DLL_VLPROTIND DtRecordSet 00038 { 00039 00040 public: 00041 00043 DtRecordSet(); 00044 DtRecordSet(const DtRecordSet& orig); 00045 00047 virtual ~DtRecordSet(); 00048 00050 DtRecordSet& operator=(const DtRecordSet& orig); 00051 DtRecordSet& operator=(const DtNetRecordSet& orig); 00052 00054 virtual bool setDatumID(DtDatumParam value); 00055 virtual DtDatumParam datumID() const; 00056 00058 virtual void setSerialNumber(DtU32 value); 00059 virtual DtU32 serialNumber() const; 00060 00064 virtual bool setRecordBitLength(DtU16 bitLength); 00065 virtual DtU16 recordBitLength() const; 00066 00070 virtual bool setRecordByteLength(int byteLength); 00071 virtual int recordByteLength() const; 00072 00075 virtual bool setRecordCount(DtU32 bytes); 00076 virtual DtU32 recordCount() const; 00077 00078 00082 virtual bool setDataBytes(DtU32 recordIndex, const void* data); 00083 virtual bool getDataBytes(DtU32 recordIndex, void* buff) const; 00084 00087 virtual bool setDataByte( 00088 DtU32 recordIndex, DtU8 value, int byteIndex = 0); 00089 virtual bool getDataByte( 00090 DtU32 recordIndex, DtU8& value, int byteIndex = 0) const; 00091 00095 virtual bool setDataInt16(DtU32 recordIndex, DtInt16& value); 00096 virtual bool getDataInt16(DtU32 recordIndex, DtInt16& value) const; 00097 00101 virtual bool setDataU16(DtU32 recordIndex, DtU16& value); 00102 virtual bool getDataU16(DtU32 recordIndex, DtU16& value) const; 00103 00107 virtual bool setDataInt32(DtU32 recordIndex, DtInt32& value); 00108 virtual bool getDataInt32(DtU32 recordIndex, DtInt32& value) const; 00109 00113 virtual bool setDataU32(DtU32 recordIndex, DtU32& value); 00114 virtual bool getDataU32(DtU32 recordIndex, DtU32& value) const; 00115 00119 virtual bool setDataFloat32(DtU32 recordIndex, DtFloat32& value); 00120 virtual bool getDataFloat32(DtU32 recordIndex, DtFloat32& value) const; 00121 00125 virtual bool setDataFloat64(DtU32 recordIndex, DtFloat64& value); 00126 virtual bool getDataFloat64(DtU32 recordIndex, DtFloat64& value) const; 00127 00128 00131 virtual int recordSetLength() const; 00132 00133 00135 virtual void print() const; 00136 00137 virtual void printDataToStream(std::ostream& stream) const; 00138 00139 00141 virtual void unloadNetRecordSet(const DtNetRecordSet& record); 00142 virtual void loadNetRecordSet(DtNetRecordSet& record) const; 00143 00144 00145 protected: 00146 00147 DtDatumParam myDatumID; 00148 DtU32 mySerialNumber; 00149 DtU16 myRecordLength; 00150 DtU32 myRecordCount; 00151 00152 char* myData; 00153 00154 }; 00155 00156 #endif 00157