![]() |
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 DtRadioTransmitterEncoder_H_ 00010 #define DtRadioTransmitterEncoder_H_ 00011 00012 00013 #include "hBaseEmbedEnc.h" 00014 00018 00019 class DT_DLL_VL DtRadioTransmitterRepository; 00020 00023 #define DtDECLARE_RADIOXMIT_ATTR_CHECKER(attrName) \ 00024 DtDECLARE_ATTR_CHECKER(DtRadioTransmitterRepository, attrName) 00025 00028 #define DtDECLARE_RADIOXMIT_ATTR_ENCODER(attrName) \ 00029 DtDECLARE_ATTR_ENCODER(DtRadioTransmitterRepository, attrName) 00030 00035 00036 class DT_DLL_VL DtRadioTransmitterEncoder : public DtBaseEmbeddedSystemEncoder 00037 { 00038 public: 00039 00041 DtRadioTransmitterEncoder( 00042 DtExerciseConn* exConn, 00043 DtObjClassDesc* classDesc); 00044 00046 virtual ~DtRadioTransmitterEncoder(); 00047 00049 DtRadioTransmitterEncoder(const DtRadioTransmitterEncoder& orig); 00050 00052 DtRadioTransmitterEncoder& operator=(const DtRadioTransmitterEncoder& orig); 00053 00054 public: 00055 00057 static DtHlaStateEncoder* create( 00058 DtExerciseConn* exConn, 00059 DtObjClassDesc* classDesc); 00060 00061 protected: 00063 DtDECLARE_RADIOXMIT_ATTR_CHECKER(AntennaPatternType); 00064 00066 DtDECLARE_RADIOXMIT_ATTR_CHECKER(AntennaPattern); 00067 DtDECLARE_RADIOXMIT_ATTR_CHECKER(CryptoKeyID); 00068 DtDECLARE_RADIOXMIT_ATTR_CHECKER(DetailedModulationType); 00069 DtDECLARE_RADIOXMIT_ATTR_CHECKER(InputSource); 00070 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RadioNumber); 00071 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RadioType); 00072 DtDECLARE_RADIOXMIT_ATTR_CHECKER(MajorModulationType); 00073 DtDECLARE_RADIOXMIT_ATTR_CHECKER(ModulationSystemType); 00074 DtDECLARE_RADIOXMIT_ATTR_CHECKER(Power); 00075 DtDECLARE_RADIOXMIT_ATTR_CHECKER(TransmitState); 00076 DtDECLARE_RADIOXMIT_ATTR_CHECKER(Frequency); 00077 DtDECLARE_RADIOXMIT_ATTR_CHECKER(FrequencyBandwidth); 00078 DtDECLARE_RADIOXMIT_ATTR_CHECKER(FrequencyHopInUse); 00079 DtDECLARE_RADIOXMIT_ATTR_CHECKER(ModulationParameters); 00080 DtDECLARE_RADIOXMIT_ATTR_CHECKER(PsuedoNoiseSpectrumInUse); 00081 DtDECLARE_RADIOXMIT_ATTR_CHECKER(TimeHopInUse); 00082 DtDECLARE_RADIOXMIT_ATTR_CHECKER(WorldLocation); 00083 DtDECLARE_RADIOXMIT_ATTR_CHECKER(CryptoSystem); 00085 DtDECLARE_RADIOXMIT_ATTR_CHECKER(CryptoMode); 00086 00088 DtDECLARE_RADIOXMIT_ATTR_CHECKER(AntennaPatternData); 00089 DtDECLARE_RADIOXMIT_ATTR_CHECKER(CryptographicMode); 00090 DtDECLARE_RADIOXMIT_ATTR_CHECKER(EncryptionKeyIdentifier); 00091 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RadioInputSource); 00092 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RadioIndex); 00093 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RadioSystemType); 00094 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RFModulationSystemType); 00095 DtDECLARE_RADIOXMIT_ATTR_CHECKER(TransmittedPower); 00096 DtDECLARE_RADIOXMIT_ATTR_CHECKER(RFModulationType); 00097 DtDECLARE_RADIOXMIT_ATTR_CHECKER(TransmitterOperationalStatus); 00098 00100 DtDECLARE_RADIOXMIT_ATTR_CHECKER(StreamTag); 00101 DtDECLARE_RADIOXMIT_ATTR_CHECKER(SpreadSpectrum); 00102 00104 DtDECLARE_RADIOXMIT_ATTR_ENCODER(AntennaPatternType); 00105 00107 DtDECLARE_RADIOXMIT_ATTR_ENCODER(AntennaPattern); 00108 DtDECLARE_RADIOXMIT_ATTR_ENCODER(CryptoKeyID); 00109 DtDECLARE_RADIOXMIT_ATTR_ENCODER(DetailedModulationType); 00110 DtDECLARE_RADIOXMIT_ATTR_ENCODER(InputSource); 00111 DtDECLARE_RADIOXMIT_ATTR_ENCODER(MajorModulationType); 00112 DtDECLARE_RADIOXMIT_ATTR_ENCODER(ModulationSystemType); 00113 DtDECLARE_RADIOXMIT_ATTR_ENCODER(Power); 00114 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RadioNumber); 00115 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RadioType); 00116 DtDECLARE_RADIOXMIT_ATTR_ENCODER(TransmitState); 00117 00118 DtDECLARE_RADIOXMIT_ATTR_ENCODER(Frequency); 00119 DtDECLARE_RADIOXMIT_ATTR_ENCODER(FrequencyBandwidth); 00120 DtDECLARE_RADIOXMIT_ATTR_ENCODER(FrequencyHopInUse); 00121 DtDECLARE_RADIOXMIT_ATTR_ENCODER(ModulationParameters); 00122 DtDECLARE_RADIOXMIT_ATTR_ENCODER(PsuedoNoiseSpectrumInUse); 00123 DtDECLARE_RADIOXMIT_ATTR_ENCODER(TimeHopInUse); 00124 DtDECLARE_RADIOXMIT_ATTR_ENCODER(WorldLocation); 00125 DtDECLARE_RADIOXMIT_ATTR_ENCODER(CryptoSystem); 00127 DtDECLARE_RADIOXMIT_ATTR_ENCODER(CryptoMode); 00129 DtDECLARE_RADIOXMIT_ATTR_ENCODER(AntennaPatternData); 00130 DtDECLARE_RADIOXMIT_ATTR_ENCODER(CryptographicMode); 00131 DtDECLARE_RADIOXMIT_ATTR_ENCODER(EncryptionKeyIdentifier); 00132 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RadioInputSource); 00133 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RadioIndex); 00134 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RadioSystemType); 00135 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RFModulationSystemType); 00136 DtDECLARE_RADIOXMIT_ATTR_ENCODER(TransmittedPower); 00137 DtDECLARE_RADIOXMIT_ATTR_ENCODER(RFModulationType); 00138 DtDECLARE_RADIOXMIT_ATTR_ENCODER(TransmitterOperationalStatus); 00139 00141 DtDECLARE_RADIOXMIT_ATTR_ENCODER(StreamTag); 00142 DtDECLARE_RADIOXMIT_ATTR_ENCODER(SpreadSpectrum); 00143 }; 00144 00150 #define DtDEFINE_SIMPLE_RADIOXMIT_ATTR_ENCODER( \ 00151 attrName, netType, inspector) \ 00152 DtDEFINE_SIMPLE_ATTR_ENCODER(DtRadioTransmitterEncoder, \ 00153 DtRadioTransmitterRepository, \ 00154 attrName, netType, inspector) 00155 00161 #define DtDEFINE_SIMPLE_RADIOXMIT_ATTR_CHECKER( \ 00162 attrName, inspector) \ 00163 DtDEFINE_SIMPLE_ATTR_CHECKER(DtRadioTransmitterEncoder, \ 00164 DtRadioTransmitterRepository, \ 00165 attrName, inspector) 00166 00167 #endif //DtRadioTransmitterEncoder_H_ 00168 00169 #endif //DtHLA 00170