VR-Link API Documentation for HLA 1.3
hNatoIffDec.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)