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())); \
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)
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)
Definition: natoIffTransponderEncoder.h:175
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
static DtHlaStateEncoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
DtNatoIffTransponderEncoder & operator=(const DtNatoIffTransponderEncoder &orig)
assignment operator
#define DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_ENCODER(attrName)
Definition: natoIffTransponderEncoder.h:52
DtHlaStateEncoder is used to provide encoding of a state repository into a state message in an HLA (a...
Definition: hlaStateEncoder.h:30
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc13.h:41
DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(EmergencyOn)
Mode C Specific Attribute Encoder Macros.
Definition: natoIffTransponderEncoder.h:102
static DtHlaStateEncoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
#define DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(attrName)
Definition: natoIffTransponderEncoder.h:22
DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(EmergencyOn)
Instances of DtMode3CStateRepository are used to store state data for IFFData.ModeC objects...
Definition: iffMode3CStateRepository.h:28
Mode TCAS Specific Attribute Decoder Macros.
Definition: natoIffEncoder.h:256
DtNatoIffEncoder & operator=(const DtNatoIffEncoder &orig)
assignment operator
#define DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(attrName)
Definition: natoIffTransponderEncoder.h:19
This file provides a declaration of the class DtNatoIffEncoder.
Definition: natoIffTransponderEncoder.h:220
#define DtDECLARE_NATO_IFF_MODE3C_XPONDER_ATTR_CHECKER(attrName)
Definition: natoIffTransponderEncoder.h:49