![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 00008 #if DtHLA 00009 00010 #ifndef DtNatoIffTransponderEncoder_H_ 00011 #define DtNatoIffTransponderEncoder_H_ 00012 00013 #include "hNatoIffEnc.h" 00014 00018 00019 #define DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(attrName) \ 00020 DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName) 00021 00022 #define DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(attrName) \ 00023 DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName) 00024 00025 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_CHECKER( \ 00026 attrName, inspector) \ 00027 DtDEFINE_SIMPLE_ATTR_CHECKER(DtNatoIffTransponderEncoder, \ 00028 DtIffStateRepository, attrName, inspector) 00029 00030 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_ENCODER( \ 00031 attrName, netType, inspector) \ 00032 DtDEFINE_SIMPLE_ATTR_ENCODER(DtNatoIffTransponderEncoder, \ 00033 DtIffStateRepository, attrName, netType, inspector) 00034 00035 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_CHECKER_WITH_PARAM( \ 00036 attrName, mutator, param) \ 00037 DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM ( \ 00038 DtNatoIffTransponderEncoder, attrName, mutator, param) 00039 00040 #define DtDEFINE_SIMPLE_NATO_IFF_XPONDER_ATTR_ENCODER_WITH_PARAM( \ 00041 attrName, netType, mutator, param) \ 00042 DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM ( \ 00043 DtNatoIffTransponderEncoder, attrName, netType, mutator, param) 00044 00045 class DT_DLL_VL DtNatoIffTransponderEncoder : public DtNatoIffEncoder 00046 { 00047 public: 00048 00050 DtNatoIffTransponderEncoder( 00051 DtExerciseConn* exConn, 00052 DtObjClassDesc* classDesc); 00053 00055 virtual ~DtNatoIffTransponderEncoder(); 00056 00058 DtNatoIffTransponderEncoder( 00059 const DtNatoIffTransponderEncoder& orig); 00060 00062 DtNatoIffTransponderEncoder& operator=( 00063 const DtNatoIffTransponderEncoder& orig); 00064 00065 public: 00066 00067 static DtHlaStateEncoder* create( 00068 DtExerciseConn* exConn, 00069 DtObjClassDesc* classDesc); 00070 00071 protected: 00072 00073 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(EmergencyOn); 00074 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(IdentSquawkFlashOn); 00075 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode1Code); 00076 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode2Code); 00077 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode3Code); 00078 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(StiOn); 00079 00080 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(EmergencyOn); 00081 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(IdentSquawkFlashOn); 00082 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode1Code); 00083 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode2Code); 00084 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode3Code); 00085 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(StiOn); 00086 00088 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(ModeCAltitude); 00089 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(ModeCAltitudeAvailable); 00090 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(ModeCAltitude); 00091 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(ModeCAltitudeAvailable); 00092 00094 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode5CAltitude); 00095 DtDECLARE_NATO_IFF_XPONDER_ATTR_ENCODER(Mode5CAltitudeAvailable); 00096 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode5CAltitude); 00097 DtDECLARE_NATO_IFF_XPONDER_ATTR_CHECKER(Mode5CAltitudeAvailable); 00098 }; 00099 00100 #endif 00101 #endif 00102