![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hInterWData_H_ 00008 #define hInterWData_H_ 00009 00010 #if DtHLA 00011 00012 #include "hIntWEncDec.h" 00013 #include "hostStructs.h" 00014 #include "datumRecSet.h" 00015 00019 00020 00021 class DT_DLL_VL DtExerciseConn; 00022 class DT_DLL_VL DtInteractionWithData; 00023 00028 00029 class DT_DLL_VL DtInteractionWithData : public DtInteractionWithEncDec 00030 { 00031 public: 00032 00034 DtInteractionWithData(); 00035 00037 virtual ~DtInteractionWithData(); 00038 00040 DtInteractionWithData(const DtInteractionWithData& orig); 00041 00043 DtInteractionWithData& operator=( 00044 const DtInteractionWithData& orig); 00045 00047 virtual void printData() const; 00048 00050 virtual void printDataToStream(std::ostream& stream) const; 00051 00052 virtual int numFixedFields() const; 00053 00055 virtual int numVarFields() const; 00056 00060 virtual DtDatumParam varDatumId(int index) const; 00061 virtual void setVarDatumId(int index, DtDatumParam id, DtDatumRetCode* retcode = 0); 00062 00066 virtual DtDatumParam fixedDatumId(int index) const; 00067 virtual void setFixedDatumId(int index, DtDatumParam id, DtDatumRetCode* retcode = 0); 00068 00073 virtual DtDatumParam datumId(DtDatumRecordType fixedOrVar, int index) const; 00074 00079 virtual int datumSizeBits(DtDatumRecordType fixedOrVar, int index) const; 00080 00085 virtual int datumSizeBytes(DtDatumRecordType fixedOrVar, int index) const; 00086 00093 virtual void getIndex(DtDatumParam param, DtDatumRecordType* fixedOrVar, 00094 int* index, DtDatumRetCode* retcode = 0) const; 00095 00108 00109 virtual DtFloat32 datumValFloat32(DtDatumRecordType fixedOrVar, int index, 00110 DtDatumRetCode* retcode = 0) const; 00111 virtual DtFloat64 datumValFloat64(DtDatumRecordType fixedOrVar, int index, 00112 DtDatumRetCode* retcode = 0) const; 00113 virtual unsigned long datumValUnsigned32(DtDatumRecordType fixedOrVar, 00114 int index, DtDatumRetCode* retcode = 0) const; 00115 virtual long datumValInt32(DtDatumRecordType fixedOrVar, int index, 00116 DtDatumRetCode* retcode = 0) const; 00117 virtual const char* datumValByteArray(DtDatumRecordType fixedOrVar, 00118 int index) const; 00119 00132 00133 virtual DtFloat32 datumValFloat32(DtDatumParam param, 00134 DtDatumRetCode* retcode = 0) const; 00135 virtual DtFloat64 datumValFloat64(DtDatumParam param, 00136 DtDatumRetCode* retcode = 0) const; 00137 virtual unsigned long datumValUnsigned32(DtDatumParam param, 00138 DtDatumRetCode* retcode = 0) const; 00139 virtual long datumValInt32(DtDatumParam param, 00140 DtDatumRetCode* retcode = 0) const; 00141 virtual const char* datumValByteArray(DtDatumParam param, 00142 DtDatumRetCode* retcode = 0) const; 00143 00145 00152 virtual void initDataSection(const DtDatumParam* fixedParams, 00153 const DtVarDatumSpec* specList); 00154 00159 virtual void setNumFixedFields(int newNum); 00160 virtual void setNumVarFields(int newNum); 00161 00166 virtual void setDatumParam(DtDatumRecordType fixedOrVar, int index, DtDatumParam param, 00167 DtDatumRetCode* retcode = 0); 00168 00174 virtual void setVarDataBytes(int index, int length, DtDatumRetCode* retcode = 0); 00175 00188 00189 virtual void setDatumValFloat64(DtDatumRecordType fixedOrVar, int index, DtFloat64 val, 00190 DtDatumRetCode* retcode = 0); 00191 virtual void setDatumValFloat32(DtDatumRecordType fixedOrVar, int index, DtFloat32 val, 00192 DtDatumRetCode* retcode = 0); 00193 virtual void setDatumValInt32(DtDatumRecordType fixedOrVar, int index, long val, 00194 DtDatumRetCode* retcode = 0); 00195 virtual void setDatumValUnsigned32(DtDatumRecordType fixedOrVar, int index, 00196 unsigned long val, DtDatumRetCode* retcode = 0); 00197 virtual void setDatumValByteArray(DtDatumRecordType fixedOrVar, int index, 00198 const char* val, DtDatumRetCode* retcode = 0); 00199 00212 00213 virtual void setDatumValFloat64(DtDatumParam param, DtFloat64 val, 00214 DtDatumRetCode* retcode = 0); 00215 virtual void setDatumValFloat32(DtDatumParam param, DtFloat32 val, 00216 DtDatumRetCode* retcode = 0); 00217 virtual void setDatumValInt32(DtDatumParam param, long val, 00218 DtDatumRetCode* retcode = 0); 00219 virtual void setDatumValUnsigned32(DtDatumParam param, unsigned long val, 00220 DtDatumRetCode* retcode = 0); 00221 virtual void setDatumValByteArray(DtDatumParam param, const char* val, 00222 DtDatumRetCode* retcode = 0); 00223 00229 virtual DtDatumRecordSet* datumRecSet(); 00230 virtual const DtDatumRecordSet* datumRecSet() const; 00231 00232 protected: 00233 00234 DtDatumRecordSet myRecSet; 00235 }; 00236 00237 #endif 00238 #endif 00239