![]() |
VR-Link API Documentation for DIS
|
00001 #if DtHLA 00002 00003 #ifndef DtNatoIffDecoder_H_ 00004 #define DtNatoIffDecoder_H_ 00005 00006 #include "hIffDec.h" 00007 00011 00014 class DT_DLL_VL DtIffStateRepository; 00015 00018 00022 #define DtDECLARE_NATO_IFF_ATTR_DECODER(attrName) \ 00023 DtDECLARE_ATTR_DECODER(DtIffStateRepository, attrName) 00024 00032 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER( \ 00033 attrName, netType, inspector) \ 00034 DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST( \ 00035 attrName, netType, inspector, (netType)) 00036 00042 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST( \ 00043 attrName, netType, mutator, castExpr) \ 00044 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00045 DtNatoIffDecoder, DtIffStateRepository, \ 00046 attrName, netType, mutator, castExpr) 00047 00048 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM( \ 00049 attrName, netType, mutator, param, castExpr) \ 00050 DtDEFINE_SIMPLE_IFF_ATTR_DECODER_WITH_CAST_AND_PARAM( \ 00051 DtNatoIffDecoder, attrName, netType, mutator, param, castExpr) 00052 00053 class DT_DLL_VL DtNatoIffDecoder : public DtIffDecoder 00054 { 00055 public: 00056 00058 DtNatoIffDecoder( 00059 DtExerciseConn* exConn, 00060 DtObjClassDesc* classDesc); 00061 00063 virtual ~DtNatoIffDecoder(); 00064 00066 DtNatoIffDecoder(const DtNatoIffDecoder& orig); 00067 00069 DtNatoIffDecoder& operator=(const DtNatoIffDecoder& orig); 00070 00071 public: 00072 00073 static DtHlaStateDecoder* create( 00074 DtExerciseConn* exConn, 00075 DtObjClassDesc* classDesc); 00076 00077 protected: 00078 00079 DtDECLARE_NATO_IFF_ATTR_DECODER(AlternateMode4); 00080 00081 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1Enabled); 00082 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1IsDamaged); 00083 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1IsMalfunctioning); 00084 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode1IsOn); 00085 00086 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2Enabled); 00087 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2IsDamaged); 00088 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2IsMalfunctioning); 00089 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode2IsOn); 00090 00091 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3Enabled); 00092 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3IsDamaged); 00093 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3IsMalfunctioning); 00094 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3IsOn); 00095 00096 00097 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AEnabled); 00098 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AIsDamaged); 00099 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AIsMalfunctioning); 00100 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode3AIsOn); 00101 00102 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4Enabled); 00103 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4IsDamaged); 00104 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4IsMalfunctioning); 00105 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4IsOn); 00106 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4PseudoCrypto); 00107 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode4PseudoCryptoAvailable); 00108 00109 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCEnabled); 00110 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCIsDamaged); 00111 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCIsMalfunctioning); 00112 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeCIsOn); 00113 00114 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CEnabled); 00115 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CIsDamaged); 00116 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CIsMalfunctioning); 00117 DtDECLARE_NATO_IFF_ATTR_DECODER(Mode5CIsOn); 00118 00119 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSEnabled); 00120 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsDamaged); 00121 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsMalfunctioning); 00122 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsOn); 00123 DtDECLARE_NATO_IFF_ATTR_DECODER(ModeSIsTcasI); 00124 00125 }; 00126 00127 #endif 00128 #endif 00129