8 #ifndef DtNatoIffTransponderDecoder_H_
9 #define DtNatoIffTransponderDecoder_H_
17 #define DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(attrName) \
18 DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
20 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_DECODER( \
21 attrName, netType, inspector) \
22 DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_DECODER_WITH_CAST( \
23 attrName, netType, inspector, (netType))
25 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_DECODER_WITH_CAST( \
26 attrName, netType, mutator, castExpr) \
27 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
28 DtNatoIffTransponderDecoder, DtIffStateRepository, \
29 attrName, netType, mutator, castExpr)
31 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_DECODER_WITH_CAST_AND_PARAM( \
32 attrName, netType, mutator, param, castExpr) \
33 DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM ( \
34 DtNatoIffTransponderDecoder, attrName, netType, mutator, param, castExpr)
41 #define DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(attrName) \
42 DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
44 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER( \
45 attrName, netType, inspector) \
46 DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER_WITH_CAST( \
47 attrName, netType, inspector, (netType))
49 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER_WITH_CAST( \
50 attrName, netType, mutator, castExpr) \
51 DtDEFINE_SIMPLE_MODE3C_ATTR_DECODER_WITH_CAST( \
52 DtNatoIffTransponderDecoder, DtIffStateRepository, \
53 attrName, netType, mutator, castExpr)
55 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER_WITH_CAST_AND_PARAM( \
56 attrName, netType, mutator, param, castExpr) \
57 DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM ( \
58 DtNatoIffTransponderDecoder, attrName, netType, mutator, param, castExpr)
60 #define DtDEFINE_SIMPLE_MODE3C_ATTR_DECODER_WITH_CAST( \
61 decClass, stateRepClass, attrName, netType, mutator, castExpr) \
62 void decClass::decode##attrName( \
63 stateRepClass* stateRep, \
64 const RTI::AttributeHandleValuePairSet& attrs, \
67 if (stateRep->mode3C()) { \
68 RTI::ULong length = 0; \
69 netType* netValPtr = (netType*)attributeData(attrs, index, length, sizeof(netType), #attrName); \
72 stateRep->mode3C()->mutator(castExpr *netValPtr); \
80 class DT_DLL_VL DtNatoIffTransponderDecoder :
public DtNatoIffDecoder
85 DtNatoIffTransponderDecoder(
87 DtObjClassDesc* classDesc);
90 virtual ~DtNatoIffTransponderDecoder();
93 DtNatoIffTransponderDecoder(
94 const DtNatoIffTransponderDecoder& orig);
97 DtNatoIffTransponderDecoder& operator=(
98 const DtNatoIffTransponderDecoder& orig);
102 static DtHlaStateDecoder* create(
104 DtObjClassDesc* classDesc);
108 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(EmergencyOn);
109 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(IdentSquawkFlashOn);
110 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(Mode1Code);
111 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(Mode2Code);
112 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(Mode3Code);
113 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(Mode3ACode);
116 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(ModeCAltitude);
117 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(ModeCAltitudeAvailable);
118 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(StiOn);
121 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(Mode5CAltitude);
122 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(Mode5CAltitudeAvailable);
125 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(Altitude);
126 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_DECODER(AltitudeAvailable);
129 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_XPONDER_ATTR_DECODER_WITH_CAST( \
130 attrName, netType, mutator, castExpr) \
131 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
132 DtMAKRPR3_NatoIffTransponderDecoder, DtIffStateRepository, \
133 attrName, netType, mutator, castExpr)
135 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_XPONDER_ATTR_DECODER( \
136 attrName, netType, inspector) \
137 DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_XPONDER_ATTR_DECODER_WITH_CAST( \
138 attrName, netType, inspector, (netType))
140 class DT_DLL_VL DtMAKRPR3_NatoIffTransponderDecoder :
public DtNatoIffTransponderDecoder
145 DtMAKRPR3_NatoIffTransponderDecoder(
147 DtObjClassDesc* classDesc);
150 virtual ~DtMAKRPR3_NatoIffTransponderDecoder();
153 DtMAKRPR3_NatoIffTransponderDecoder(
154 const DtMAKRPR3_NatoIffTransponderDecoder& orig);
157 DtMAKRPR3_NatoIffTransponderDecoder& operator=(
158 const DtMAKRPR3_NatoIffTransponderDecoder& orig);
162 static DtHlaStateDecoder* create(
164 DtObjClassDesc* classDesc);
169 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(SystemDesignator);
170 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(UnmannedAircraftOn);
173 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_INTERROGATOR_ATTR_DECODER_WITH_CAST( \
174 attrName, netType, mutator, castExpr) \
175 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
176 DtMAKRPR3_NatoIffInterrogatorDecoder, DtIffStateRepository, \
177 attrName, netType, mutator, castExpr)
179 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_INTERROGATOR_ATTR_DECODER( \
180 attrName, netType, inspector) \
181 DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_INTERROGATOR_ATTR_DECODER_WITH_CAST( \
182 attrName, netType, inspector, (netType))
184 class DT_DLL_VL DtMAKRPR3_NatoIffInterrogatorDecoder :
public DtNatoIffDecoder
189 DtMAKRPR3_NatoIffInterrogatorDecoder(
191 DtObjClassDesc* classDesc);
194 virtual ~DtMAKRPR3_NatoIffInterrogatorDecoder();
197 DtMAKRPR3_NatoIffInterrogatorDecoder(
198 const DtMAKRPR3_NatoIffInterrogatorDecoder& orig);
201 DtMAKRPR3_NatoIffInterrogatorDecoder& operator=(
202 const DtMAKRPR3_NatoIffInterrogatorDecoder& orig);
206 static DtHlaStateDecoder* create(
208 DtObjClassDesc* classDesc);
213 DtDECLARE_NATO_IFF_XPONDER_ATTR_DECODER(SystemDesignator);
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtMode3CStateRepository are used to store state data for IFFData.ModeC objects...
Definition: iffMode3CStateRepository.h:28