00001
00002
00003
00004
00005
00006
00007 #ifndef _DTVMULTIPLEX_H_
00008 #define _DTVMULTIPLEX_H_
00009
00010
00011 #include <stdint.h>
00012
00013
00014 #include <qstring.h>
00015
00016
00017 #include "dtvconfparserhelpers.h"
00018
00019 class DTVMultiplex
00020 {
00021 public:
00022 DTVMultiplex()
00023 : frequency(0), symbolrate(0), mplex(0), sistandard(QString::null) { }
00024 DTVMultiplex(const DTVMultiplex &other) { (*this) = other; }
00025
00026 DTVMultiplex &operator=(const DTVMultiplex &other);
00027
00028 bool operator==(const DTVMultiplex &m) const;
00029
00030 void Clear(void) { DTVMultiplex mux; (*this) = mux; }
00031
00032 bool FillFromDB(DTVTunerType type, uint mplexid);
00033
00034 bool IsEqual(DTVTunerType type, const DTVMultiplex& other,
00035 uint freq_range = 0) const;
00036
00037 bool ParseATSC(const QString &frequency, const QString &modulation);
00038
00039 bool ParseDVB_T(
00040 const QString &frequency, const QString &inversion,
00041 const QString &bandwidth, const QString &coderate_hp,
00042 const QString &coderate_lp, const QString &constellation,
00043 const QString &trans_mode, const QString &guard_interval,
00044 const QString &hierarchy);
00045
00046 bool ParseDVB_S_and_C(
00047 const QString &frequency, const QString &inversion,
00048 const QString &symbol_rate, const QString &fec_inner,
00049 const QString &modulation, const QString &polarity);
00050
00051 bool ParseTuningParams(
00052 DTVTunerType type,
00053 QString frequency, QString inversion, QString symbolrate,
00054 QString fec, QString polarity,
00055 QString hp_code_rate, QString lp_code_rate, QString constellation,
00056 QString trans_mode, QString guard_interval, QString hierarchy,
00057 QString modulation, QString bandwidth);
00058
00059 QString toString() const;
00060
00061 public:
00062
00063 uint64_t frequency;
00064 uint64_t symbolrate;
00065 DTVInversion inversion;
00066 DTVBandwidth bandwidth;
00067 DTVCodeRate hp_code_rate;
00068 DTVCodeRate lp_code_rate;
00069
00070 DTVModulation modulation;
00071 DTVTransmitMode trans_mode;
00072 DTVGuardInterval guard_interval;
00073 DTVHierarchy hierarchy;
00074 DTVPolarity polarity;
00075 DTVCodeRate fec;
00076
00077
00078 uint mplex;
00079 QString sistandard;
00080 };
00081
00082 #endif // _DTVMULTIPLEX_H_