VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
iffAtcNavaidsPdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#pragma once
11
12
#if DtDIS
13
14
#include <
vlutil/vlMachineTypes.h
>
15
#include "
hostStructs.h
"
16
#include "
stateMsgDIS.h
"
17
#include "
exerciseConn.h
"
18
#include <
matrix/vlMath.h
>
19
20
#include "
packets/iffAtcNavP.h
"
21
22
#include "
iffAtcNavaidsBeamData.h
"
23
#include "
iffAtcNavaidsLayerHeader.h
"
24
#include "
iffAtcNavaidsOperational.h
"
25
#include "
iffAtcNavaidsSecondOperational.h
"
26
#include "
iffAtcNavaidsParameter.h
"
27
#include "
iffAtcNavaidsSystemID.h
"
28
29
#include "
iffAtcNavaidsMode5Transponder.h
"
30
#include "
iffAtcNavaidsMode5Interrogator.h
"
31
#include "
iffAtcNavaidsModeSTransponder.h
"
32
#include "
iffAtcNavaidsModeSInterrogator.h
"
33
#include "
iffAtcNavaidsDataCommunications.h
"
34
#include "
iffAtcNavaidsVariableRecord.h
"
35
36
37
38
class
DT_DLL_VL
DtIffAtcNavaidsPdu
;
39
41
typedef
void (*
DtIffAtcNavaidsPduCb
)(
DtIffAtcNavaidsPdu
* pdu,
void
* usr);
42
43
44
48
class
DT_DLL_VL
DtIffAtcNavaidsPdu
:
public
DtStateMsg
49
{
50
51
public
:
52
54
DtIffAtcNavaidsPdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
55
DtIffAtcNavaidsPdu
(
const
DtNetIffAtcNavaidsPduLayer1
* initial,
56
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
57
DtIffAtcNavaidsPdu
(
const
DtIffAtcNavaidsPdu
& orig);
58
60
virtual
~
DtIffAtcNavaidsPdu
();
61
64
static
DtPdu
* create(
const
DtNetPacket
* initial,
65
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
66
69
static
void
addCallback(
DtExerciseConn
* conn,
70
DtIffAtcNavaidsPduCb
cb,
void
* usr);
71
static
void
removeCallback(
DtExerciseConn
* conn,
72
DtIffAtcNavaidsPduCb
cb,
void
* usr);
73
75
DtIffAtcNavaidsPdu
&
operator=
(
const
DtIffAtcNavaidsPdu
& orig);
76
78
virtual
void
setEmittingEntityID(
const
DtEntityIdentifier
& entity);
79
virtual
const
DtEntityIdentifier
& emittingEntityID()
const
;
80
82
virtual
void
setEventID(
const
DtEventID
& event);
83
virtual
const
DtEventID
& eventID()
const
;
84
86
virtual
void
setLocation(
const
DtVector
& coords);
87
virtual
const
DtVector
& location()
const
;
88
90
virtual
void
setSystemID(
const
DtIffAtcNavaidsSystemID
&
id
);
91
virtual
const
DtIffAtcNavaidsSystemID
& systemID()
const
;
92
94
virtual
void
setSystemDesignator(
DtU8
id
);
95
virtual
DtU8
systemDesignator()
const
;
96
98
virtual
void
setSystemSpecificData(
DtU8
id
);
99
virtual
DtU8
systemSpecificData()
const
;
100
102
virtual
void
setOperational(
const
DtIffAtcNavaidsOperational
& oper);
103
virtual
const
DtIffAtcNavaidsOperational
& operational()
const
;
104
106
virtual
void
setModeSInterrogator(
const
DtIffAtcNavaidsModeSInterrogator
& oper);
107
virtual
const
DtIffAtcNavaidsModeSInterrogator
& modeSInterrogator()
const
;
108
virtual
void
setModeSTransponder(
const
DtIffAtcNavaidsModeSTransponder
& oper);
109
virtual
const
DtIffAtcNavaidsModeSTransponder
& modeSTransponder()
const
;
110
112
virtual
void
setMode5Interrogator(
const
DtIffAtcNavaidsMode5Interrogator
& oper);
113
virtual
const
DtIffAtcNavaidsMode5Interrogator
& mode5Interrogator()
const
;
114
virtual
void
setMode5Transponder(
const
DtIffAtcNavaidsMode5Transponder
& oper);
115
virtual
const
DtIffAtcNavaidsMode5Transponder
& mode5Transponder()
const
;
116
118
virtual
void
setDataCommunications(
const
DtIffAtcNavaidsDataCommunications
& oper);
119
virtual
const
DtIffAtcNavaidsDataCommunications
& dataCommunications()
const
;
120
122
virtual
bool
layerPresent(
int
layer)
const
;
123
126
virtual
bool
enableLayer2(
DtU8
layerSpecificInfo,
int
numRecords);
127
virtual
bool
disableLayer2();
128
130
virtual
bool
enableLayer3(
DtU8
layerSpecificInfo,
int
numRecords);
131
virtual
bool
disableLayer3();
132
134
virtual
bool
enableLayer4(
DtU8
layerSpecificInfo,
int
numRecords);
135
virtual
bool
disableLayer4();
136
138
virtual
bool
enableLayer5(
DtU8
layerSpecificInfo,
int
numRecords);
139
virtual
bool
disableLayer5();
140
141
virtual
DtU8
layer3SpecificInfo
()
const
{
return
myLayer3SpecificInfo; }
142
virtual
DtU8
layer4SpecificInfo
()
const
{
return
myLayer3SpecificInfo; }
143
virtual
DtU8
layer5SpecificInfo
()
const
{
return
myLayer3SpecificInfo; }
144
148
151
virtual
const
DtIffAtcNavaidsLayerHeader
& layer2Header()
const
;
152
154
virtual
void
setBeamData(
const
DtIffAtcNavaidsBeamData
& beamData);
155
virtual
const
DtIffAtcNavaidsBeamData
& beamData()
const
;
156
158
virtual
void
setSecondaryOperational(
159
const
DtIffAtcNavaidsSecondOperational
& oper);
160
virtual
const
DtIffAtcNavaidsSecondOperational
&
161
secondaryOperational()
const
;
162
164
virtual
DtU16
numParameterSets()
const
;
165
167
virtual
bool
setParmData(
int
parmIndex,
168
const
DtIffAtcNavaidsParameter
& init);
169
virtual
bool
getParmData(
int
parmIndex,
170
DtIffAtcNavaidsParameter
& record)
const
;
171
173
virtual
bool
setIffRecord(
unsigned
int
index,
174
const
DtIffAtcNavaidsVariableRecord
& record,
int
layer);
175
176
virtual
DtIffAtcNavaidsVariableRecord
* getIffRecord(
int
parmIndex,
int
layer)
const
;
177
179
virtual
DtU16
numIffRecords(
int
layer)
const
;
180
182
virtual
void
printData
()
const
;
183
185
virtual
void
printDataToStream
(std::ostream& stream)
const
;
186
187
protected
:
188
190
virtual
DtPduKind
internalGetPduKind
()
const
;
191
193
virtual
DtNetIffAtcNavaidsPduLayer1
* netPduStruct()
const
;
194
196
virtual
DtNetIffAtcNavaidsPduLayer2
* netPduStructL2()
const
;
197
200
DtIffAtcNavaidsPdu
*
self
()
const
;
201
203
virtual
DtNetIffAtcNavaidsParameter
* parameter()
const
;
204
205
protected
:
206
208
static
const
int
theStaticSize
;
209
210
protected
:
211
213
DtEntityIdentifier
myEntityID
;
214
DtEventID
myEventID
;
215
DtVector
myEntCoords
;
216
DtIffAtcNavaidsSystemID
mySystemID
;
217
DtIffAtcNavaidsOperational
myOperational
;
218
DtIffAtcNavaidsLayerHeader
myLayerHeader
;
219
DtIffAtcNavaidsBeamData
myBeamData
;
220
DtIffAtcNavaidsSecondOperational
mySecondOperational
;
221
DtIffAtcNavaidsParameter
myParameter
;
222
223
//DIS 7 Only layers (Note, these are not temporary objects, they are decoded and encoded)
224
DtIffAtcNavaidsMode5Transponder
myMode5Transponder
;
225
DtIffAtcNavaidsMode5Interrogator
myMode5Interrogator
;
226
DtIffAtcNavaidsModeSTransponder
myModeSTransponder
;
227
DtIffAtcNavaidsModeSInterrogator
myModeSInterrogator
;
228
DtIffAtcNavaidsDataCommunications
myDataCommunications
;
229
unsigned
int
mySystemDesignator
;
230
unsigned
int
mySystemSpecificData
;
231
232
DtU8
myLayer3SpecificInfo
;
233
DtU8
myLayer4SpecificInfo
;
234
DtU8
myLayer5SpecificInfo
;
235
236
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer3
;
237
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer4
;
238
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer5
;
239
};
240
241
#endif
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
)