summaryrefslogtreecommitdiff
path: root/recmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'recmanager.h')
-rw-r--r--recmanager.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/recmanager.h b/recmanager.h
new file mode 100644
index 0000000..cff14fd
--- /dev/null
+++ b/recmanager.h
@@ -0,0 +1,64 @@
+#ifndef __TVGUIDE_RECMMANAGER_H
+#define __TVGUIDE_RECMMANAGER_H
+
+#include <string>
+#include <vector>
+#include <vdr/plugin.h>
+#include "config.h"
+#include "services/epgsearch.h"
+#include "services/remotetimers.h"
+#include "searchtimer.h"
+#include "switchtimer.h"
+#include "timerconflict.h"
+#include "helpers.h"
+
+struct TVGuideEPGSearchTemplate {
+public:
+ std::string name;
+ std::string templValue;
+};
+
+// --- cRecManager -------------------------------------------------------------
+class cRecManager {
+private:
+ cPlugin *epgSearchPlugin;
+ bool epgSearchAvailable;
+public:
+ cRecManager(void);
+ void SetEPGSearchPlugin(void);
+ bool EpgSearchAvailable(void) {return epgSearchAvailable;};
+ bool RefreshRemoteTimers(void);
+ bool CheckEventForTimer(const cEvent *event);
+ cTimer *GetTimerForEvent(const cEvent *event);
+ cTimer *createTimer(const cEvent *event, std::string path = "");
+ cTimer *createLocalTimer(const cEvent *event, std::string path);
+ cTimer *createRemoteTimer(const cEvent *event, std::string path);
+ void SetTimerPath(cTimer *timer, const cEvent *event, std::string path);
+ void DeleteTimer(cTimer *timer);
+ void DeleteTimer(int timerID);
+ void DeleteTimer(const cEvent *event);
+ void DeleteLocalTimer(const cEvent *event);
+ void DeleteRemoteTimer(const cEvent *event);
+ void SaveTimer(cTimer *timer, cTimer newTimerSettings);
+ bool IsRecorded(const cEvent *event);
+ cTVGuideTimerConflicts *CheckTimerConflict(void);
+ void CreateSeriesTimer(cTimer *seriesTimer);
+ const cEvent **PerformSearchTimerSearch(std::string epgSearchString, int &numResults);
+ const cEvent **PerformSearch(Epgsearch_searchresults_v1_0 data, int &numResults);
+ void ReadEPGSearchTemplates(std::vector<TVGuideEPGSearchTemplate> *epgTemplates);
+ void GetSearchTimers(std::vector<cTVGuideSearchTimer> *timers);
+ int CreateSearchTimer(std::string epgSearchString);
+ bool SaveSearchTimer(cTVGuideSearchTimer *searchTimer);
+ void DeleteSearchTimer(cTVGuideSearchTimer *searchTimer, bool delTimers);
+ void UpdateSearchTimers(void);
+ bool CreateSwitchTimer(const cEvent *event, cSwitchTimer switchTimer);
+ void DeleteSwitchTimer(const cEvent *event);
+ cRecording **SearchForRecordings(std::string searchString, int &numResults);
+ const cEvent **LoadReruns(const cEvent *event, int &numResults);
+ void GetFavorites(std::vector<cTVGuideSearchTimer> *favorites);
+ const cEvent **WhatsOnNow(bool nowOrNext, int &numResults);
+ const cEvent **UserDefinedTime(int userTime, int &numResults);
+ virtual ~cRecManager (void);
+};
+
+#endif //__TVGUIDE_RECMMANAGER_H \ No newline at end of file