VR-Link API Documentation for HLA Evolved
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)