VR-Link API Documentation for HLA 1.3
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
datumRecordSet.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#ifndef datumRecordSet_H_
11
#define datumRecordSet_H_
12
13
#include "
hostStructs.h
"
14
#include <
vlpi/idTypeMap.h
>
15
#include <
vlutil/vlBaseMsg.h
>
16
#include "
packets/dataP.h
"
17
18
enum
DtDatumRetCode
19
{
20
DtDatumValid
,
21
DtDatumBadLength
,
22
DtDatumBadId
,
23
DtDatumBadIndex
24
};
25
26
enum
DtDatumRecordType
27
{
28
DtFixed
,
29
DtVar
30
};
31
35
class
DT_DLL_VL
DtVarDatumSpec
36
{
37
public
:
38
DtDatumParam
param
;
39
int
length
;
40
};
41
42
#define DtNullDatumParam DtDatumParam(0)
43
#define DtNullVarDatumSpec DtNullDatumParam,0
44
45
class
DT_DLL_VL
DtDatumRecordSet
:
public
DtBaseMsg
46
{
47
public
:
48
50
DtDatumRecordSet
(
DtBufferPtr
bufferPtr =
DtUSE_INTERNAL_BUFFER
);
51
53
DtDatumRecordSet
(
const
void
* netRep,
int
size,
54
DtBufferPtr
bufferPtr =
DtUSE_INTERNAL_BUFFER
);
55
57
virtual
~
DtDatumRecordSet
();
58
60
DtDatumRecordSet
(
const
DtDatumRecordSet
& orig);
61
63
DtDatumRecordSet
&
operator=
(
const
DtDatumRecordSet
& orig);
64
66
virtual
int
numFixedFields()
const
;
67
69
virtual
int
numVarFields()
const
;
70
74
virtual
DtDatumParam
varDatumId(
int
index)
const
;
75
79
virtual
DtDatumParam
fixedDatumId(
int
index)
const
;
80
85
virtual
DtDatumParam
datumId(
DtDatumRecordType
fixedOrVar,
int
index)
const
;
86
91
virtual
int
datumSizeBits(
DtDatumRecordType
fixedOrVar,
int
index)
const
;
92
97
virtual
int
datumSizeBytes(
DtDatumRecordType
fixedOrVar,
int
index)
const
;
98
105
virtual
void
getIndex(
DtDatumParam
param,
DtDatumRecordType
* fixedOrVar,
106
int
* index,
DtDatumRetCode
* retcode = NULL)
const
;
107
120
121
virtual
DtFloat32
datumValFloat32(
DtDatumRecordType
fixedOrVar,
int
index,
122
DtDatumRetCode
* retcode = NULL)
const
;
123
virtual
DtFloat64
datumValFloat64(
DtDatumRecordType
fixedOrVar,
int
index,
124
DtDatumRetCode
* retcode = NULL)
const
;
125
virtual
unsigned
long
datumValUnsigned32(
DtDatumRecordType
fixedOrVar,
126
int
index,
DtDatumRetCode
* retcode = NULL)
const
;
127
virtual
long
datumValInt32(
DtDatumRecordType
fixedOrVar,
int
index,
128
DtDatumRetCode
* retcode = NULL)
const
;
129
virtual
const
char
* datumValByteArray(
DtDatumRecordType
fixedOrVar,
130
int
index)
const
;
131
144
145
virtual
DtFloat32
datumValFloat32(
DtDatumParam
param,
146
DtDatumRetCode
* retcode = NULL)
const
;
147
virtual
DtFloat64
datumValFloat64(
DtDatumParam
param,
148
DtDatumRetCode
* retcode = NULL)
const
;
149
virtual
unsigned
long
datumValUnsigned32(
DtDatumParam
param,
150
DtDatumRetCode
* retcode = NULL)
const
;
151
virtual
long
datumValInt32(
DtDatumParam
param,
152
DtDatumRetCode
* retcode = NULL)
const
;
153
virtual
const
char
* datumValByteArray(
DtDatumParam
param,
154
DtDatumRetCode
* retcode = NULL)
const
;
155
157
164
virtual
void
init(
const
DtDatumParam
* fixedParams,
165
const
DtVarDatumSpec
* specList);
166
171
virtual
void
setNumFixedFields(
int
newNum);
172
virtual
void
setNumVarFields(
int
newNum);
173
178
virtual
void
setDatumParam(
DtDatumRecordType
fixedOrVar,
int
index,
DtDatumParam
param,
179
DtDatumRetCode
* retcode = NULL);
180
186
virtual
void
setVarDataBytes(
int
index,
int
length,
DtDatumRetCode
* retcode = NULL);
187
200
201
virtual
void
setDatumValFloat64(
DtDatumRecordType
fixedOrVar,
int
index,
DtFloat64
val,
202
DtDatumRetCode
* retcode = NULL);
203
virtual
void
setDatumValFloat32(
DtDatumRecordType
fixedOrVar,
int
index,
DtFloat32
val,
204
DtDatumRetCode
* retcode = NULL);
205
virtual
void
setDatumValInt32(
DtDatumRecordType
fixedOrVar,
int
index,
long
val,
206
DtDatumRetCode
* retcode = NULL);
207
virtual
void
setDatumValUnsigned32(
DtDatumRecordType
fixedOrVar,
int
index,
208
unsigned
long
val,
DtDatumRetCode
* retcode = NULL);
209
virtual
void
setDatumValByteArray(
DtDatumRecordType
fixedOrVar,
int
index,
210
const
char
* val,
DtDatumRetCode
* retcode = NULL);
211
224
225
virtual
void
setDatumValFloat64(
DtDatumParam
param,
DtFloat64
val,
226
DtDatumRetCode
* retcode = NULL);
227
virtual
void
setDatumValFloat32(
DtDatumParam
param,
DtFloat32
val,
228
DtDatumRetCode
* retcode = NULL);
229
virtual
void
setDatumValInt32(
DtDatumParam
param,
long
val,
230
DtDatumRetCode
* retcode = NULL);
231
virtual
void
setDatumValUnsigned32(
DtDatumParam
param,
unsigned
long
val,
232
DtDatumRetCode
* retcode = NULL);
233
virtual
void
setDatumValByteArray(
DtDatumParam
param,
const
char
* val,
234
DtDatumRetCode
* retcode = NULL);
235
237
virtual
void
printData()
const
;
238
240
virtual
void
printDataToStream(std::ostream& stream)
const
;
241
245
virtual
DtNetDataPduTail
* netDataRep()
const
;
246
249
virtual
DtNetFixDatum
* nthFixedDataRecord(
int
index)
const
;
250
253
virtual
DtNetVarDatum
* nthVarDataRecord(
int
index)
const
;
254
257
virtual
void
setFromNetFixed(
const
char
* fixedFields,
int
numFixedFields);
258
262
virtual
void
setFromNetVar(
const
char
* varFields,
int
numVarFields,
263
int
totalVarFieldsLength);
264
265
protected
:
266
267
friend
class
DtPduWithData;
268
271
virtual
void
sizeChanged
(
int
size);
272
276
virtual
void
* datumValPtr(
DtDatumRecordType
fixedOrVar,
int
index)
const
;
277
};
278
279
inline
DtNetDataPduTail
*
DtDatumRecordSet::netDataRep
()
const
280
{
281
return
(
DtNetDataPduTail
*)
netRep
();
282
}
283
285
#define DtFIXED DtFixed
286
#define DtVAR DtVar
287
#define DtDATUM_VALID DtDatumValid
288
#define DtDATUM_BAD_LENGTH DtDatumBadLength
289
#define DtDATUM_BAD_ID DtDatumBadId
290
#define DtDATUM_BAD_INDEX DtDatumBadIndex
291
292
#endif
293
294
Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)