#ifndef __TVGUIDE_RECMMANAGER_H #define __TVGUIDE_RECMMANAGER_H #include #include #include #include "detailview.h" #include "recmenu.h" #include "timerconflict.h" struct TVGuideEPGSearchTemplate { public: std::string name; std::string templValue; }; // --- cRecManager ------------------------------------------------------------- class cRecManager { private: cPlugin *epgSearchPlugin; bool epgSearchAvailable; void DeleteTimer(cTimer *timer); 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(int timerID); void DeleteTimer(const cEvent *event); void DeleteLocalTimer(const cEvent *event); void DeleteRemoteTimer(const cEvent *event); void SaveTimer(cTimer *timer, cRecMenu *menu); bool IsRecorded(const cEvent *event); cTVGuideTimerConflicts *CheckTimerConflict(void); cTimer *CreateSeriesTimer(cRecMenu *menu, std::string path); std::string BuildEPGSearchString(cString searchString, cRecMenu *menu); std::string BuildEPGSearchString(cString searchString, std::string templValue); const cEvent **PerformSearchTimerSearch(std::string epgSearchString, int &numResults); const cEvent **PerformSearch(cRecMenu *menu, bool withOptions, int &numResults); std::vector ReadEPGSearchTemplates(void); int CreateSearchTimer(std::string epgSearchString); void UpdateSearchTimers(void); bool CreateSwitchTimer(const cEvent *event, cRecMenu *menu); void DeleteSwitchTimer(const cEvent *event); cRecording **SearchForRecordings(cString searchString, int &numResults); const cEvent **LoadReruns(const cEvent *event, int &numResults); virtual ~cRecManager (void); }; #endif //__TVGUIDE_RECMMANAGER_H