1#ifndef RECORDING_RULE_H
2#define RECORDING_RULE_H
9#include <QCoreApplication>
34 static const int kNumFilters = 16;
39 void ensureSortFields(
void);
40 bool Load(
bool asTemplate =
false);
42 bool LoadBySearch(
RecSearchType lsearch,
const QString& textname,
const QString& forwhat,
43 QString joininfo =
"",
ProgramInfo *pginfo =
nullptr);
44 bool LoadTemplate(
const QString& title,
45 const QString& category =
"Default",
46 const QString& categoryType =
"Default");
48 bool ModifyPowerSearchByID(
int rid,
const QString& textname, QString forwhat,
49 QString joininfo =
"");
50 bool MakeOverride(
void);
51 bool MakeTemplate(QString category);
53 bool Save(
bool sendSig =
true);
54 bool Delete(
bool sendSig =
true);
57 void UseTempTable(
bool usetemp,
const QString& table =
"record_tmp");
58 static unsigned GetDefaultFilter(
void);
60 void ToMap(
InfoMap &infoMap,
uint date_format = 0)
const;
65 bool IsValid(QString &msg)
const;
68 static QStringList GetTemplateNames(
void);
72 int m_parentRecID {0};
75 bool m_isInactive {
false};
108 int m_recPriority {0};
110 int m_startOffset {0};
116 unsigned m_filter {0};
121 QString m_recProfile {tr(
"Default")};
122 QString m_storageGroup {tr(
"Default")};
123 QString m_playGroup {tr(
"Default")};
126 int m_maxEpisodes {0};
127 bool m_autoExpire {
false};
128 bool m_maxNewest {
false};
132 bool m_autoCommFlag {
true};
133 bool m_autoTranscode {
false};
134 bool m_autoUserJob1 {
false};
135 bool m_autoUserJob2 {
false};
136 bool m_autoUserJob3 {
false};
137 bool m_autoUserJob4 {
false};
138 bool m_autoMetadataLookup {
true};
142 int m_averageDelay {100};
148 QString m_recordTable {
"record"};
153 bool m_isOverride {
false};
157 bool m_isTemplate {
false};
161 void AssignProgramInfo();
172 bool m_loaded {
false};
Holds information on recordings and videos.
static const uint kTranscoderAutodetect
sentinel value
Internal representation of a recording rule, mirrors the record table.
AutoExpireType GetAutoExpire(void) const
Q_DECLARE_TR_FUNCTIONS(RecordingRule)
QTime m_findtime
Time for timeslot rules.
QDateTime m_nextRecording
Q_DECLARE_METATYPE(std::chrono::seconds)
QHash< QString, QString > InfoMap