00001 #ifndef _Q_HEATER_DECODER_HH_ 00002 #define _Q_HEATER_DECODER_HH_ 00003 00004 #include "QCuore.hh" 00005 #include <list> 00006 00007 class QHeaterDecoder 00008 { 00009 public: 00016 QHeaterDecoder(const unsigned short& version); 00017 00019 virtual ~QHeaterDecoder(); 00020 00021 bool SetWords(const std::list<unsigned long>& words); 00022 00023 virtual short GetPulseId() const { return fPulseId; } 00024 virtual short GetConfId() const { return fConfId; } 00025 virtual short GetAmplitude() const { return fAmplitude; } 00026 virtual short GetDuration() const { return fDuration; } 00027 virtual short GetAttenuation() const { return fAttenuation; } 00028 private: 00029 unsigned short fVersion; 00030 00031 short fPulseId; 00032 short fConfId; 00033 short fAmplitude; 00034 short fDuration; 00035 short fAttenuation; 00036 00037 void Reset(); 00038 00039 bool SetWords_v0(const std::list<unsigned long>& words); 00040 bool SetWords_v1(const std::list<unsigned long>& words); 00041 }; 00042 00043 #endif