00001 // -*- Mode: c++ -*- 00002 #ifndef _RECORDER_QUALITY_H_ 00003 #define _RECORDER_QUALITY_H_ 00004 00005 #include <QDateTime> 00006 #include <QList> 00007 00008 #include "mythtvexp.h" 00009 00010 class ProgramInfo; 00011 00012 class RecordingGap 00013 { 00014 public: 00015 RecordingGap(const QDateTime &start, const QDateTime &end) : 00016 m_start(start), m_end(end) { } 00017 QDateTime GetStart(void) const { return m_start; } 00018 QDateTime GetEnd(void) const { return m_end; } 00019 QString toString(void) const 00020 { 00021 return QString("<<%1 to %2>>") 00022 .arg(m_start.toString(Qt::ISODate)) 00023 .arg(m_end.toString(Qt::ISODate)); 00024 } 00025 bool operator<(const RecordingGap &o) const { return m_start < o.m_start; } 00026 private: 00027 QDateTime m_start; 00028 QDateTime m_end; 00029 }; 00030 typedef QList<RecordingGap> RecordingGaps; 00031 00032 class MTV_PUBLIC RecordingQuality 00033 { 00034 public: 00035 RecordingQuality( 00036 const ProgramInfo*, const RecordingGaps&, 00037 const QDateTime &firstData, const QDateTime &latestData); 00038 00039 void AddTSStatistics(int continuity_error_count, int packet_count); 00040 bool IsDamaged(void) const; 00041 QString toStringXML(void) const; 00042 00043 private: 00044 int m_continuity_error_count; 00045 int m_packet_count; 00046 QString m_program_key; 00047 double m_overall_score; 00048 RecordingGaps m_recording_gaps; 00049 }; 00050 00051 #endif // _RECORDER_QUALITY_H_ 00052
1.6.3