From 72d7261885bf05599310f75883dcdc9d9e190d6c Mon Sep 17 00:00:00 2001 From: Timo Eskola Date: Wed, 29 Aug 2018 11:56:19 +0300 Subject: Refactored duplicate detection to own classes. --- recording.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 recording.h (limited to 'recording.h') diff --git a/recording.h b/recording.h new file mode 100644 index 0000000..0987af4 --- /dev/null +++ b/recording.h @@ -0,0 +1,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 +#include + +// --- cDuplicateRecording ------------------------------------------------------- + +class cDuplicateRecording : public cListObject { +private: + bool checked; + cVisibility visibility; + std::string fileName; + std::string text; + std::string title; + std::string description; + cList *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 *Duplicates(void) { return duplicates; } +}; + +class cDuplicateRecordings : public cList { +public: + cDuplicateRecordings(void); + cMutex mutex; + void Update(void); +}; + +extern cDuplicateRecordings DuplicateRecordings; + +#endif -- cgit v1.2.3