diff options
author | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
---|---|---|
committer | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
commit | 8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch) | |
tree | d0c5dde81a36ab2e8a2edc7c1e6922556518b312 /searchtimer_thread.h | |
download | vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2 |
Initial commit
Diffstat (limited to 'searchtimer_thread.h')
-rw-r--r-- | searchtimer_thread.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/searchtimer_thread.h b/searchtimer_thread.h new file mode 100644 index 0000000..3527a67 --- /dev/null +++ b/searchtimer_thread.h @@ -0,0 +1,73 @@ +/* +Copyright (C) 2004-2007 Christian Wieninger + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + +The author can be reached at cwieninger@gmx.de + +The project's page is at http://winni.vdr-developer.org/epgsearch +*/ + +#ifndef VDR_SEARCHTIMER_THREAD_H +#define VDR_SEARCHTIMER_THREAD_H + +#include <vdr/thread.h> +#include "epgsearchext.h" +#include "epgsearch.h" +#include "mail.h" + +// --- cRecordingObj -------------------------------------------------------- +class cRecordingObj : public cListObject { +public: + cRecording* recording; + cSearchExt* search; +public: + cRecordingObj(cRecording* r, cSearchExt* s) : recording(r), search(s) {} + ~cRecordingObj() { recording = NULL;} // do not delete anything! +}; + +// --- cSearchTimerThread---------------------------------------------------- +class cSearchTimerThread: public cThread { + private: + bool m_Active; + time_t m_lastUpdate; + cPluginEpgsearch* m_plugin; + cMailUpdateNotifier mailNotifier; + + protected: + virtual void Action(void); + bool AddModTimer(cTimer* Timer, int, cSearchExt*, const cEvent*, int Prio, int Lifetime, char* Summary = NULL); + void RemoveTimer(cTimer* Timer, const cEvent* Event = NULL); + void Stop(void); + bool NeedUpdate(); + bool TimerWasModified(cTimer* t); + public: + static cSearchResults announceList; + static char* SummaryExtended(cSearchExt* searchExt, cTimer* Timer, const cEvent* pEvent); + static cSearchTimerThread *m_Instance; + static cTimer* GetTimer(cSearchExt *searchExt, const cEvent *pEvent, bool& bTimesMatchExactly); + + cSearchTimerThread(cPluginEpgsearch* thePlugin); + virtual ~cSearchTimerThread(); + static void Init(cPluginEpgsearch* thePlugin, bool activatePermanently = false); + static void Exit(void); + void CheckExpiredRecs(); + void DelRecording(int index); + void CheckManualTimers(); + void ModifyManualTimer(const cEvent* event, const cTimer* timer, int bstart, int bstop); +}; + +#endif |