3 #ifndef DtSovietIffDecoder_H_
4 #define DtSovietIffDecoder_H_
16 #define DtDECLARE_SOVIET_IFF_ATTR_DECODER(attrName) \
17 DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName)
19 #define DtDEFINE_SIMPLE_SOVIET_IFF_ATTR_DECODER( \
20 attrName, netType, inspector) \
21 DtDEFINE_SIMPLE_SOVIET_IFF_ATTR_DECODER_WITH_CAST( \
22 attrName, netType, inspector, (netType))
24 #define DtDEFINE_SIMPLE_SOVIET_IFF_ATTR_DECODER_WITH_CAST( \
25 attrName, netType, mutator, castExpr) \
26 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
27 DtSovietIffDecoder, DtSovietStateRepository, \
28 attrName, netType, mutator, castExpr)
30 #define DtDEFINE_SIMPLE_SOVIET_ATTR_DECODER_WITH_CAST_AND_PARAM( \
31 decClass, stateRepClass, attrName, netType, mutator, param, castExpr) \
32 void decClass::decode##attrName( \
33 stateRepClass* stateRep, \
34 const RTI::AttributeHandleValuePairSet& attrs, \
37 RTI::ULong length = 0; \
38 netType* netValPtr = (netType*)attributeData(attrs, index, length, sizeof(netType), #attrName); \
41 if ( !stateRep->soviet() ) \
43 stateRep->setModeEnabled(DtSoviet, true); \
45 stateRep->soviet()->mutator(param, castExpr *netValPtr); \
49 #define DtDEFINE_SIMPLE_SOVIET_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM( \
50 attrName, netType, mutator, param, castExpr) \
51 DtDEFINE_SIMPLE_SOVIET_ATTR_DECODER_WITH_CAST_AND_PARAM( \
52 DtSovietIffDecoder, DtIffStateRepository, attrName, netType, mutator, param, castExpr)
54 class DT_DLL_VL DtSovietIffDecoder :
public DtIffDecoder
60 DtObjClassDesc* classDesc);
63 virtual ~DtSovietIffDecoder();
66 DtSovietIffDecoder(
const DtSovietIffDecoder& orig);
69 DtSovietIffDecoder& operator=(
const DtSovietIffDecoder& orig);
73 static DtHlaStateDecoder* create(
75 DtObjClassDesc* classDesc);
79 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter1Enabled);
80 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter1IsMalfunctioning);
81 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter1IsDamaged);
82 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter1IsOn);
84 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter2Enabled);
85 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter2IsMalfunctioning);
86 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter2IsDamaged);
87 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter2IsOn);
89 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter3Enabled);
90 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter3IsMalfunctioning);
91 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter3IsDamaged);
92 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter3IsOn);
94 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter4Enabled);
95 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter4IsMalfunctioning);
96 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter4IsDamaged);
97 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter4IsOn);
99 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter5Enabled);
100 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter5IsMalfunctioning);
101 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter5IsDamaged);
102 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter5IsOn);
104 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter6Enabled);
105 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter6IsMalfunctioning);
106 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter6IsDamaged);
107 DtDECLARE_SOVIET_IFF_ATTR_DECODER(Parameter6IsOn);
111 #define DtDEFINE_SIMPLE_MAKRPR3_SOVIET_IFF_TRANSPONDER_ATTR_DECODER( \
112 attrName, netType, mutator) \
113 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
114 DtMAKRPR3_SovietIffTransponderDecoder, DtIffStateRepository, \
115 attrName, netType, mutator, (netType))
117 class DT_DLL_VL DtMAKRPR3_SovietIffTransponderDecoder :
public DtSovietIffDecoder
121 DtMAKRPR3_SovietIffTransponderDecoder(
123 DtObjClassDesc* classDesc);
126 virtual ~DtMAKRPR3_SovietIffTransponderDecoder();
129 DtMAKRPR3_SovietIffTransponderDecoder(
const DtMAKRPR3_SovietIffTransponderDecoder& orig);
132 DtMAKRPR3_SovietIffTransponderDecoder& operator=(
const DtMAKRPR3_SovietIffTransponderDecoder& orig);
136 static DtHlaStateDecoder* create(
138 DtObjClassDesc* classDesc);
141 DtDECLARE_IFF_ATTR_DECODER(SystemDesignator);
144 #define DtDEFINE_SIMPLE_MAKRPR3_SOVIET_IFF_INTERROGATOR_ATTR_DECODER( \
145 attrName, netType, mutator) \
146 DtDEFINE_SIMPLE_ATTR_DECODER( \
147 DtMAKRPR3_SovietIffInterrogatorDecoder, DtIffStateRepository, \
148 attrName, netType, mutator)
150 class DT_DLL_VL DtMAKRPR3_SovietIffInterrogatorDecoder :
public DtSovietIffDecoder
154 DtMAKRPR3_SovietIffInterrogatorDecoder(
156 DtObjClassDesc* classDesc);
159 virtual ~DtMAKRPR3_SovietIffInterrogatorDecoder();
162 DtMAKRPR3_SovietIffInterrogatorDecoder(
const DtMAKRPR3_SovietIffInterrogatorDecoder& orig);
165 DtMAKRPR3_SovietIffInterrogatorDecoder& operator=(
const DtMAKRPR3_SovietIffInterrogatorDecoder& orig);
169 static DtHlaStateDecoder* create(
171 DtObjClassDesc* classDesc);
174 DtDECLARE_IFF_ATTR_DECODER(SystemDesignator);
Instances of DtSovietStateRepository are used to store state data for IFFData.Soviet objects...
Definition: iffSovietStateRepository.h:29
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