![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtRadioTransmitterDecoder_H_ 00010 #define DtRadioTransmitterDecoder_H_ 00011 00012 00013 #include "hBaseEmbedDec.h" 00014 00018 00019 class DT_DLL_VL DtRadioTransmitterRepository; 00020 00023 #define DtDECLARE_RADIOXMIT_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtRadioTransmitterRepository, attrName) 00025 00030 00031 class DT_DLL_VL DtRadioTransmitterDecoder : public DtBaseEmbeddedSystemDecoder 00032 { 00033 public: 00034 00036 DtRadioTransmitterDecoder( 00037 DtExerciseConn* exConn, 00038 DtObjClassDesc* classDesc); 00039 00041 virtual ~DtRadioTransmitterDecoder(); 00042 00044 DtRadioTransmitterDecoder(const DtRadioTransmitterDecoder& orig); 00045 00047 DtRadioTransmitterDecoder& operator= 00048 (const DtRadioTransmitterDecoder& orig); 00049 00050 public: 00051 00053 static DtHlaStateDecoder* create( 00054 DtExerciseConn* exConn, 00055 DtObjClassDesc* classDesc); 00056 00057 protected: 00058 00062 void addMyDecoders(); 00063 00065 DtDECLARE_RADIOXMIT_ATTR_DECODER(Frequency); 00066 DtDECLARE_RADIOXMIT_ATTR_DECODER(FrequencyBandwidth); 00067 DtDECLARE_RADIOXMIT_ATTR_DECODER(FrequencyHopInUse); 00068 DtDECLARE_RADIOXMIT_ATTR_DECODER(ModulationParameters); 00069 DtDECLARE_RADIOXMIT_ATTR_DECODER(PsuedoNoiseSpectrumInUse); 00070 DtDECLARE_RADIOXMIT_ATTR_DECODER(TimeHopInUse); 00071 DtDECLARE_RADIOXMIT_ATTR_DECODER(WorldLocation); 00072 DtDECLARE_RADIOXMIT_ATTR_DECODER(CryptoSystem); 00073 00075 DtDECLARE_RADIOXMIT_ATTR_DECODER(CryptoMode); 00076 DtDECLARE_RADIOXMIT_ATTR_DECODER(AntennaPatternType); 00077 DtDECLARE_RADIOXMIT_ATTR_DECODER(AntennaPattern); 00078 DtDECLARE_RADIOXMIT_ATTR_DECODER(CryptoKeyID); 00079 DtDECLARE_RADIOXMIT_ATTR_DECODER(DetailedModulationType); 00080 DtDECLARE_RADIOXMIT_ATTR_DECODER(InputSource); 00081 DtDECLARE_RADIOXMIT_ATTR_DECODER(MajorModulationType); 00082 DtDECLARE_RADIOXMIT_ATTR_DECODER(ModulationSystemType); 00083 DtDECLARE_RADIOXMIT_ATTR_DECODER(Power); 00084 DtDECLARE_RADIOXMIT_ATTR_DECODER(RadioNumber); 00085 DtDECLARE_RADIOXMIT_ATTR_DECODER(RadioType); 00086 DtDECLARE_RADIOXMIT_ATTR_DECODER(TransmitState); 00087 00089 DtDECLARE_RADIOXMIT_ATTR_DECODER(AntennaPatternData); 00090 DtDECLARE_RADIOXMIT_ATTR_DECODER(CryptographicMode); 00091 DtDECLARE_RADIOXMIT_ATTR_DECODER(EncryptionKeyIdentifier); 00092 DtDECLARE_RADIOXMIT_ATTR_DECODER(RadioInputSource); 00093 DtDECLARE_RADIOXMIT_ATTR_DECODER(RFModulationType); 00094 DtDECLARE_RADIOXMIT_ATTR_DECODER(RFModulationSystemType); 00095 DtDECLARE_RADIOXMIT_ATTR_DECODER(TransmittedPower); 00096 DtDECLARE_RADIOXMIT_ATTR_DECODER(RadioIndex); 00097 DtDECLARE_RADIOXMIT_ATTR_DECODER(RadioSystemType); 00098 DtDECLARE_RADIOXMIT_ATTR_DECODER(TransmitterOperationalStatus); 00099 00101 DtDECLARE_RADIOXMIT_ATTR_DECODER(StreamTag); 00102 DtDECLARE_RADIOXMIT_ATTR_DECODER(SpreadSpectrum); 00103 }; 00104 00110 #define DtDEFINE_SIMPLE_RADIOXMIT_ATTR_DECODER_WITH_CAST( \ 00111 attrName, netType, mutator, castExpr) \ 00112 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00113 DtRadioTransmitterDecoder, DtRadioTransmitterRepository, \ 00114 attrName, netType, mutator, castExpr) 00115 00116 #define DtDEFINE_SIMPLE_RADIOXMIT_ATTR_DECODER( \ 00117 attrName, netType, inspector) \ 00118 DtDEFINE_SIMPLE_RADIOXMIT_ATTR_DECODER_WITH_CAST( \ 00119 attrName, netType, inspector, (netType)) 00120 00121 #endif //DtRadioTransmitterDecoder_H_ 00122 00123 #endif //DtHLA 00124