3 #ifndef DtRRBIffEncoder_H_
4 #define DtRRBIffEncoder_H_
17 #define DtDECLARE_RRB_IFF_ATTR_ENCODER(attrName) \
18 DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName)
20 #define DtDECLARE_RRB_IFF_ATTR_CHECKER(attrName) \
21 DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName)
28 #define DtDEFINE_SIMPLE_RRB_ATTR_CHECKER( \
29 encClass, stateRepClass, attrName, inspector) \
30 bool encClass::need##attrName(const stateRepClass& stateRep, \
31 const stateRepClass& asSeenByRemote) \
33 return (bool) !(stateRep.rrb()->inspector() == asSeenByRemote.rrb()->inspector()); \
41 #define DtDEFINE_SIMPLE_RRB_IFF_ATTR_CHECKER( \
42 attrName, inspector) \
43 DtDEFINE_SIMPLE_RRB_ATTR_CHECKER(DtRRBIffEncoder, \
44 DtIffStateRepository, attrName, inspector)
51 #define DtDEFINE_SIMPLE_RRB_ATTR_ENCODER( \
52 encClass, stateRepClass, attrName, netType, inspector) \
53 void encClass::encode##attrName(const stateRepClass& rep, \
54 RTI::AttributeHandleValuePairSet* attrs, \
55 RTI::AttributeHandle attrHandle) \
58 netVal = rep.rrb()->inspector(); \
59 attrs->add(attrHandle, (char*) &netVal, sizeof(netType)); \
67 #define DtDEFINE_SIMPLE_RRB_IFF_ATTR_ENCODER( \
68 attrName, netType, mutator) \
69 DtDEFINE_SIMPLE_RRB_ATTR_ENCODER( \
70 DtRRBIffEncoder, DtIffStateRepository, \
71 attrName, netType, mutator)
74 class DT_DLL_VL DtRRBIffEncoder :
public DtIffEncoder
80 DtObjClassDesc* classDesc);
83 virtual ~DtRRBIffEncoder();
86 DtRRBIffEncoder(
const DtRRBIffEncoder& orig);
89 DtRRBIffEncoder& operator=(
const DtRRBIffEncoder& orig);
93 static DtHlaStateEncoder* create(
95 DtObjClassDesc* classDesc);
99 DtDECLARE_RRB_IFF_ATTR_CHECKER(Code);
100 DtDECLARE_RRB_IFF_ATTR_CHECKER(IsDamaged);
101 DtDECLARE_RRB_IFF_ATTR_CHECKER(IsMalfunctioning);
102 DtDECLARE_RRB_IFF_ATTR_CHECKER(IsOn);
103 DtDECLARE_RRB_IFF_ATTR_CHECKER(PowerReduction);
104 DtDECLARE_RRB_IFF_ATTR_CHECKER(RadarEnhancement);
109 DtDECLARE_RRB_IFF_ATTR_ENCODER(Code);
110 DtDECLARE_RRB_IFF_ATTR_ENCODER(IsDamaged);
111 DtDECLARE_RRB_IFF_ATTR_ENCODER(IsMalfunctioning);
112 DtDECLARE_RRB_IFF_ATTR_ENCODER(IsOn);
113 DtDECLARE_RRB_IFF_ATTR_ENCODER(PowerReduction);
114 DtDECLARE_RRB_IFF_ATTR_ENCODER(RadarEnhancement);
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 DtRRBStateRepository are used to store state data for IFFData.RRB objects.
Definition: iffRRBStateRepository.h:29