![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #if DtHLA 00007 00008 #ifndef DtNatoIffEncoder_H_ 00009 #define DtNatoIffEncoder_H_ 00010 00011 #include "hIffEnc.h" 00012 00016 00019 class DT_DLL_VL DtIffStateRepository; 00020 00023 00026 #define DtDECLARE_NATO_IFF_ATTR_CHECKER(attrName) \ 00027 DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName) 00028 00031 #define DtDECLARE_NATO_IFF_ATTR_ENCODER(attrName) \ 00032 DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName) 00033 00038 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_ENCODER( \ 00039 attrName, netType, inspector) \ 00040 DtDEFINE_SIMPLE_ATTR_ENCODER(DtNatoIffEncoder, \ 00041 DtIffStateRepository, attrName, netType, inspector) 00042 00048 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_CHECKER( \ 00049 attrName, inspector) \ 00050 DtDEFINE_SIMPLE_ATTR_CHECKER(DtNatoIffEncoder, \ 00051 DtIffStateRepository, attrName, inspector) 00052 00058 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_ENCODER_WITH_PARAM( \ 00059 attrName, netType, inspector, param) \ 00060 DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM( \ 00061 DtNatoIffEncoder, attrName, netType, inspector, param) 00062 00068 #define DtDEFINE_SIMPLE_NATO_IFF_ATTR_CHECKER_WITH_PARAM( \ 00069 attrName, inspector, param) \ 00070 DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM( \ 00071 DtNatoIffEncoder, attrName, inspector, param) 00072 00073 00074 class DT_DLL_VL DtNatoIffEncoder : public DtIffEncoder 00075 { 00076 public: 00077 00079 DtNatoIffEncoder( 00080 DtExerciseConn* exConn, 00081 DtObjClassDesc* classDesc); 00082 00084 virtual ~DtNatoIffEncoder(); 00085 00087 DtNatoIffEncoder(const DtNatoIffEncoder& orig); 00088 00090 DtNatoIffEncoder& operator=(const DtNatoIffEncoder& orig); 00091 00092 public: 00093 00094 static DtHlaStateEncoder* create( 00095 DtExerciseConn* exConn, 00096 DtObjClassDesc* classDesc); 00097 00098 protected: 00099 00100 DtDECLARE_NATO_IFF_ATTR_CHECKER(AlternateMode4); 00101 00102 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1Enabled); 00103 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsDamaged); 00104 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsMalfunctioning); 00105 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode1IsOn); 00106 00107 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2Enabled); 00108 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsDamaged); 00109 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsMalfunctioning); 00110 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode2IsOn); 00111 00112 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3Enabled); 00113 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsDamaged); 00114 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsMalfunctioning); 00115 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3IsOn); 00116 00118 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AEnabled); 00119 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsDamaged); 00120 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsMalfunctioning); 00121 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode3AIsOn); 00122 00123 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4Enabled); 00124 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsDamaged); 00125 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsMalfunctioning); 00126 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4IsOn); 00127 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4PseudoCrypto); 00128 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode4PseudoCryptoAvailable); 00129 00131 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCEnabled); 00132 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsDamaged); 00133 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsMalfunctioning); 00134 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeCIsOn); 00135 00137 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CEnabled); 00138 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsDamaged); 00139 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsMalfunctioning); 00140 DtDECLARE_NATO_IFF_ATTR_CHECKER(Mode5CIsOn); 00141 00142 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSEnabled); 00143 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsDamaged); 00144 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsMalfunctioning); 00145 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsOn); 00146 DtDECLARE_NATO_IFF_ATTR_CHECKER(ModeSIsTcasI); 00147 00148 DtDECLARE_NATO_IFF_ATTR_ENCODER(AlternateMode4); 00149 00150 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1Enabled); 00151 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsDamaged); 00152 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsMalfunctioning); 00153 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode1IsOn); 00154 00155 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2Enabled); 00156 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsDamaged); 00157 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsMalfunctioning); 00158 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode2IsOn); 00159 00160 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3Enabled); 00161 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsDamaged); 00162 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsMalfunctioning); 00163 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3IsOn); 00164 00165 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AEnabled); 00166 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsDamaged); 00167 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsMalfunctioning); 00168 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode3AIsOn); 00169 00170 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4Enabled); 00171 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsDamaged); 00172 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsMalfunctioning); 00173 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4IsOn); 00174 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4PseudoCrypto); 00175 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode4PseudoCryptoAvailable); 00176 00177 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCEnabled); 00178 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsDamaged); 00179 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsMalfunctioning); 00180 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeCIsOn); 00181 00182 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CEnabled); 00183 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsDamaged); 00184 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsMalfunctioning); 00185 DtDECLARE_NATO_IFF_ATTR_ENCODER(Mode5CIsOn); 00186 00187 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSEnabled); 00188 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsDamaged); 00189 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsMalfunctioning); 00190 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsOn); 00191 DtDECLARE_NATO_IFF_ATTR_ENCODER(ModeSIsTcasI); 00192 00193 }; 00194 00195 #endif 00196 #endif 00197