summaryrefslogtreecommitdiff
path: root/recording.h
blob: 0987af4add2ba898663cd46f716ea5ca0c6b4586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
 * recording.h: Duplicate recording handling.
 *
 * See the README file for copyright information and how to reach the author.
 *
 * $Id$
 */

#ifndef _DUPLICATES_RECORDING_H
#define _DUPLICATES_RECORDING_H

#include "visibility.h"
#include <vdr/recording.h>
#include <string>

// --- cDuplicateRecording -------------------------------------------------------

class cDuplicateRecording : public cListObject {
private:
  bool checked;
  cVisibility visibility;
  std::string fileName;
  std::string text;
  std::string title;
  std::string description;
  cList<cDuplicateRecording> *duplicates;
public:
  cDuplicateRecording(void);
  cDuplicateRecording(const cRecording *Recording);
  cDuplicateRecording(const cDuplicateRecording &DuplicateRecording);
  ~cDuplicateRecording();
  bool HasDescription(void) const { return ! description.empty(); }
  bool IsDuplicate(cDuplicateRecording *DuplicateRecording);
  void SetChecked(bool chkd = true) { checked = chkd; }
  bool Checked() { return checked; }
  cVisibility Visibility() { return visibility; }
  std::string FileName(void) { return fileName; }
  void SetText(const char *t) { text = std::string(t); }
  const char *Text(void) { return text.c_str(); }
  cList<cDuplicateRecording> *Duplicates(void) { return duplicates; }
};

class cDuplicateRecordings : public cList<cDuplicateRecording> {
public:
  cDuplicateRecordings(void);
  cMutex mutex;
  void Update(void);
};

extern cDuplicateRecordings DuplicateRecordings;

#endif