MythTV master
scheduledrecording.h
Go to the documentation of this file.
1#ifndef SCHEDULEDRECORDING_H
2#define SCHEDULEDRECORDING_H
3
4#include "mythtvexp.h"
5#include <QChar> // Fix Qt6 GCC SFINAE warning
6#include <QDateTime>
7#include "recordinginfo.h"
8
10{
11 friend class Scheduler;
12
13 public:
14 // Use when a recording rule or program data changes. Use 0 for
15 // recordid when all recordids are potentially affected, Use
16 // invalid starttime and 0 for chanids when not time nor channel
17 // specific.
18 static void RescheduleMatch(uint recordid, uint sourceid, uint mplexid,
19 const QDateTime &maxstarttime, const QString &why)
20 { SendReschedule(BuildMatchRequest(recordid, sourceid, mplexid,
21 maxstarttime, why)); };
22
23 // Use when previous or current recorded duplicate status changes.
24 static void RescheduleCheck(const RecordingInfo &recinfo,
25 const QString &why)
26 { SendReschedule(BuildCheckRequest(recinfo, why)); };
27 // Alternate function for calling with a ProgramInfo structure
28 static void RescheduleCheck(const ProgramInfo &proginfo,
29 const QString &why)
30 { SendReschedule(BuildCheckRequest(RecordingInfo(proginfo), why)); };
31
32 // Use when none of recording rule, program data or duplicate
33 // status changes.
34 static void ReschedulePlace(const QString &why)
35 { SendReschedule(BuildPlaceRequest(why)); };
36
37 private:
38 ScheduledRecording() = default;
40
41 static void SendReschedule(const QStringList &request);
42 static QStringList BuildMatchRequest(uint recordid, uint sourceid,
43 uint mplexid, const QDateTime &maxstarttime, const QString &why);
44 static QStringList BuildCheckRequest(const RecordingInfo &recinfo,
45 const QString &why);
46 static QStringList BuildPlaceRequest(const QString &why);
47};
48
49#endif
50
51/* vim: set expandtab tabstop=4 shiftwidth=4: */
52
Holds information on recordings and videos.
Definition: programinfo.h:74
Holds information on a TV Program one might wish to record.
Definition: recordinginfo.h:36
static void RescheduleCheck(const ProgramInfo &proginfo, const QString &why)
static void RescheduleCheck(const RecordingInfo &recinfo, const QString &why)
static void ReschedulePlace(const QString &why)
static void RescheduleMatch(uint recordid, uint sourceid, uint mplexid, const QDateTime &maxstarttime, const QString &why)
~ScheduledRecording()=default
ScheduledRecording()=default
unsigned int uint
Definition: compat.h:60
#define MTV_PUBLIC
Definition: mythtvexp.h:8