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)
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))
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)
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: exerciseConnHLA.h:61
This file provides a declaration of the class DtIffDecoder.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
static DtHlaStateDecoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
Definition: sovietIffDecoder.h:54
static DtHlaStateDecoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc1516.h:41
DtSovietIffDecoder & operator=(const DtSovietIffDecoder &orig)
assignment operator
DtIffDecoder & operator=(const DtIffDecoder &orig)
assignment operator
DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (a...
Definition: hlaStateDecoder.h:34
Definition: sovietIffDecoder.h:150
The DtIffDecoder class:
Definition: iffDecoder.h:63
Definition: sovietIffDecoder.h:117
DtDECLARE_IFF_ATTR_DECODER(EventIdentifier)
#define DtDECLARE_SOVIET_IFF_ATTR_DECODER(attrName)
Definition: sovietIffDecoder.h:16