14 #include <QStringList>
26 friend class TestEITFixups;
46 int _priority, QString _character);
47 DBPerson(
const QString &_role, QString _name,
48 int _priority, QString _character);
51 QString GetRole(
void)
const;
55 const QDateTime &starttime,
56 bool recording =
false)
const;
62 bool InsertRoleDB(
MSqlQuery &query)
const;
64 uint chanid,
const QDateTime &starttime,
65 bool recording =
false)
const;
86 m_listingsource(listingsource) {}
88 DBEvent(QString _title, QString _subtitle,
91 QDateTime _start, QDateTime _end,
92 unsigned char _subtitleType,
93 unsigned char _audioProps,
94 unsigned char _videoProps,
96 QString _seriesId, QString _programId,
97 uint32_t _listingsource,
99 uint _totalepisodes ) :
100 m_title(std::move(_title)), m_subtitle(std::move(_subtitle)),
101 m_description(std::move(_desc)),
102 m_category(std::move(_category)),
103 m_starttime(std::move(_start)), m_endtime(std::move(_end)),
104 m_subtitleType(_subtitleType),
105 m_audioProps(_audioProps), m_videoProps(_videoProps),
107 m_categoryType(_category_type),
108 m_seriesId(std::move(_seriesId)),
109 m_programId(std::move(_programId)),
110 m_listingsource(_listingsource),
113 m_totalepisodes(_totalepisodes)
120 int priority = 0,
const QString &character =
"");
121 void AddPerson(
const QString &role,
const QString &name,
122 int priority = 0,
const QString &character =
"");
127 bool HasTimeConflict(
const DBEvent &other)
const;
132 uint GetOverlappingPrograms(
133 MSqlQuery &query,
uint chanid, std::vector<DBEvent> &programs)
const;
135 const std::vector<DBEvent> &programs,
int &bestmatch)
const;
137 MSqlQuery &q,
uint chanid,
const std::vector<DBEvent> &
p,
int match)
const;
140 bool MoveOutOfTheWayDB(
143 bool recording =
false)
const;
145 virtual void Squeeze(
void);
160 unsigned char m_subtitleType {0};
161 unsigned char m_audioProps {0};
162 unsigned char m_videoProps {0};
168 bool m_previouslyshown {
false};
181 const QString &_title,
const QString &_subtitle,
182 const QString &_desc,
184 const QDateTime &_start,
const QDateTime &_end,
186 unsigned char _subtitleType,
187 unsigned char _audioProps,
188 unsigned char _videoProps,
190 const QString &_seriesId,
const QString &_programId,
192 uint _totalepisodes ) :
193 DBEvent(_title, _subtitle, _desc, _category, _category_type,
194 _start, _end, _subtitleType, _audioProps, _videoProps,
196 _season, _episode, _totalepisodes),
197 m_chanid(_chanid), m_fixup(_fixup)
202 const QString &_title,
const QString &_desc,
203 const QDateTime &_start,
const QDateTime &_end,
205 unsigned char _subtitleType,
206 unsigned char _audioProps,
207 unsigned char _videoProps) :
209 _start, _end, _subtitleType, _audioProps, _videoProps,
211 m_chanid(_chanid), m_fixup(_fixup)
235 bool recording =
false)
const override;
256 static void HandlePrograms(
uint sourceid,
257 QMap<QString, QList<ProgInfo> > &proglist);
259 static int fix_end_times(
void);
260 static bool ClearDataByChannel(
262 const QDateTime &from,
264 bool use_channel_time_offset);
265 static bool ClearDataBySource(
267 const QDateTime &from,
269 bool use_channel_time_offset);
272 static void FixProgramList(QList<ProgInfo*> &fixlist);
273 static void HandlePrograms(
275 const QList<ProgInfo*> &sortlist,
277 static bool IsUnchanged(
279 static bool DeleteOverlaps(
283 #endif // PROGRAMDATA_H