10 #ifndef DtNatoIffTransponderEncoder_H_
11 #define DtNatoIffTransponderEncoder_H_
19 #define DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(attrName) \
20 DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName)
22 #define DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(attrName) \
23 DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName)
25 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_CHECKER( \
26 attrName, inspector) \
27 DtDEFINE_SIMPLE_ATTR_CHECKER(DtNatoIffTransponderEncoder, \
28 DtIffStateRepository, attrName, inspector)
30 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_ENCODER( \
31 attrName, netType, inspector) \
32 DtDEFINE_SIMPLE_ATTR_ENCODER(DtNatoIffTransponderEncoder, \
33 DtIffStateRepository, attrName, netType, inspector)
35 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_CHECKER_WITH_PARAM( \
36 attrName, mutator, param) \
37 DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM ( \
38 DtNatoIffTransponderEncoder, attrName, mutator, param)
40 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_ENCODER_WITH_PARAM( \
41 attrName, netType, mutator, param) \
42 DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM ( \
43 DtNatoIffTransponderEncoder, attrName, netType, mutator, param)
49 #define DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(attrName) \
50 DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName)
52 #define DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(attrName) \
53 DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName)
55 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER( \
56 attrName, inspector) \
57 DtDEFINE_SIMPLE_MODE3C_ATTR_CHECKER(DtNatoIffTransponderEncoder, \
58 DtIffStateRepository, attrName, inspector)
60 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER( \
61 attrName, netType, inspector) \
62 DtDEFINE_SIMPLE_MODE3C_ATTR_ENCODER(DtNatoIffTransponderEncoder, \
63 DtIffStateRepository, attrName, netType, inspector)
65 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER_WITH_PARAM( \
66 attrName, mutator, param) \
67 DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM ( \
68 DtNatoIffTransponderEncoder, DtMode3CStateRepository, attrName, mutator, param)
70 #define DtDEFINE_SIMPLE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER_WITH_PARAM( \
71 attrName, netType, mutator, param) \
72 DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM ( \
73 DtNatoIffTransponderEncoder, attrName, netType, mutator, param)
76 #define DtDEFINE_SIMPLE_MODE3C_ATTR_ENCODER(\
77 encClass, stateRepClass, attrName, netType, inspector) \
78 void encClass::encode##attrName(const stateRepClass& rep, \
79 RTI::AttributeHandleValuePairSet* attrs, \
80 RTI::AttributeHandle attrHandle) \
84 netVal = rep.mode3C()->inspector(); \
85 attrs->add(attrHandle, (char*) &netVal, sizeof(netType)); \
90 #define DtDEFINE_SIMPLE_MODE3C_ATTR_CHECKER( \
91 encClass, stateRepClass, attrName, inspector) \
92 bool encClass::need##attrName(const stateRepClass& stateRep, \
93 const stateRepClass& asSeenByRemote) \
95 return (bool) (stateRep.mode3C() && asSeenByRemote.mode3C() && !(stateRep.mode3C()->inspector() == \
96 asSeenByRemote.mode3C()->inspector())); \
102 class DT_DLL_VL DtNatoIffTransponderEncoder :
public DtNatoIffEncoder
107 DtNatoIffTransponderEncoder(
109 DtObjClassDesc* classDesc);
112 virtual ~DtNatoIffTransponderEncoder();
115 DtNatoIffTransponderEncoder(
116 const DtNatoIffTransponderEncoder& orig);
119 DtNatoIffTransponderEncoder& operator=(
120 const DtNatoIffTransponderEncoder& orig);
124 static DtHlaStateEncoder* create(
126 DtObjClassDesc* classDesc);
130 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(EmergencyOn);
131 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(IdentSquawkFlashOn);
132 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode1Code);
133 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode2Code);
134 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode3Code);
135 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode3ACode);
136 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(StiOn);
138 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(EmergencyOn);
139 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(IdentSquawkFlashOn);
140 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode1Code);
141 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode2Code);
142 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode3Code);
143 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode3ACode);
144 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(StiOn);
147 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(ModeCAltitude);
148 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(ModeCAltitudeAvailable);
149 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(ModeCAltitude);
150 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(ModeCAltitudeAvailable);
153 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(Mode5CAltitude);
154 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(Mode5CAltitudeAvailable);
155 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(Mode5CAltitude);
156 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(Mode5CAltitudeAvailable);
159 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(Altitude);
160 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(AltitudeAvailable);
161 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(Altitude);
162 DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(AltitudeAvailable);
165 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_XPONDER_ATTR_CHECKER( \
166 attrName, inspector) \
167 DtDEFINE_SIMPLE_ATTR_CHECKER(DtMAKRPR3_NatoIffTransponderEncoder, \
168 DtIffStateRepository, attrName, inspector)
170 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_XPONDER_ATTR_ENCODER( \
171 attrName, netType, inspector) \
172 DtDEFINE_SIMPLE_ATTR_ENCODER(DtMAKRPR3_NatoIffTransponderEncoder, \
173 DtIffStateRepository, attrName, netType, inspector)
175 class DT_DLL_VL DtMAKRPR3_NatoIffTransponderEncoder :
public DtNatoIffTransponderEncoder
180 DtMAKRPR3_NatoIffTransponderEncoder(
182 DtObjClassDesc* classDesc);
185 virtual ~DtMAKRPR3_NatoIffTransponderEncoder();
188 DtMAKRPR3_NatoIffTransponderEncoder(
189 const DtMAKRPR3_NatoIffTransponderEncoder& orig);
192 DtMAKRPR3_NatoIffTransponderEncoder& operator=(
193 const DtMAKRPR3_NatoIffTransponderEncoder& orig);
197 static DtHlaStateEncoder* create(
199 DtObjClassDesc* classDesc);
203 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(SystemDesignator);
204 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(SystemDesignator);
206 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(UnmannedAircraftOn);
207 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(UnmannedAircraftOn);
210 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_INTERROGATOR_ATTR_CHECKER( \
211 attrName, inspector) \
212 DtDEFINE_SIMPLE_ATTR_CHECKER(DtMAKRPR3_NatoIffInterrogatorEncoder, \
213 DtIffStateRepository, attrName, inspector)
215 #define DtDEFINE_SIMPLE_MAKRPR3_NATO_IFF_INTERROGATOR_ATTR_ENCODER( \
216 attrName, netType, inspector) \
217 DtDEFINE_SIMPLE_ATTR_ENCODER(DtMAKRPR3_NatoIffInterrogatorEncoder, \
218 DtIffStateRepository, attrName, netType, inspector)
220 class DT_DLL_VL DtMAKRPR3_NatoIffInterrogatorEncoder :
public DtNatoIffEncoder
225 DtMAKRPR3_NatoIffInterrogatorEncoder(
227 DtObjClassDesc* classDesc);
230 virtual ~DtMAKRPR3_NatoIffInterrogatorEncoder();
233 DtMAKRPR3_NatoIffInterrogatorEncoder(
234 const DtMAKRPR3_NatoIffInterrogatorEncoder& orig);
237 DtMAKRPR3_NatoIffInterrogatorEncoder& operator=(
238 const DtMAKRPR3_NatoIffInterrogatorEncoder& orig);
242 static DtHlaStateEncoder* create(
244 DtObjClassDesc* classDesc);
248 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(SystemDesignator);
249 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(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