kradio4 r778
|
00001 /*************************************************************************** 00002 rds_decoder.h - description 00003 ------------------- 00004 begin : Feb 2009 00005 copyright : (C) 2009 Ernst Martin Witte 00006 email : emw-kradio@nocabal.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef KRADIO_V4LRADIO_RDS_DECODER_H 00019 #define KRADIO_V4LRADIO_RDS_DECODER_H 00020 00021 #ifdef HAVE_CONFIG_H 00022 #include <config.h> 00023 #endif 00024 00025 #include <kdemacros.h> 00026 00027 #include "rds_group.h" 00028 #include "rds_type_0a_decoder.h" 00029 #include "rds_type_2ab_decoder.h" 00030 00031 class KDE_EXPORT RDSDecoder 00032 { 00033 public: 00034 RDSDecoder(RDSGroup *rds_group_decoder); 00035 ~RDSDecoder(); 00036 00037 void addRawData(unsigned char *rawdata, int n); 00038 00039 const RDS_Type0A_Decoder *getStationNameDecoder() const; 00040 const RDS_Type2AB_Decoder *getRadioTextADecoder () const; 00041 const RDS_Type2AB_Decoder *getRadioTextBDecoder () const; 00042 00043 double statsBlockErrorRate() const; 00044 double statsGroupErrorRate() const; 00045 00046 protected: 00047 00048 RDSGroup *m_group_decoder; 00049 RDSTypeDecoder *m_type_decoders[GROUP_TYPE_COUNT]; 00050 }; 00051 00052 #endif 00053