diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-02-17 00:28:47 +0100 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-02-17 00:28:47 +0100 |
commit | ba8b5a77ae3bd7cacc457c995d9beacbc80a8f75 (patch) | |
tree | 730e45776fa7d3a4bf4bd7ed27018c767548d1d1 /epgsearch.h | |
parent | 4190290719450e128769d9ab60aa0395a8cffece (diff) | |
download | vdr-plugin-live-ba8b5a77ae3bd7cacc457c995d9beacbc80a8f75.tar.gz vdr-plugin-live-ba8b5a77ae3bd7cacc457c995d9beacbc80a8f75.tar.bz2 |
first version with timer conflicts
Diffstat (limited to 'epgsearch.h')
-rw-r--r-- | epgsearch.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/epgsearch.h b/epgsearch.h index b63f109..39d3837 100644 --- a/epgsearch.h +++ b/epgsearch.h @@ -7,6 +7,7 @@ #include <string> #include <vdr/channels.h> #include <vdr/epg.h> +#include "tools.h" namespace vdrlive { @@ -410,6 +411,58 @@ public: static bool WriteValue(const std::string& entry, const std::string& value); }; +// classes for timer conflict interface + +// conflicting timer +class TimerInConflict +{ +public: + int timerIndex; // it's index in VDR + int percentage; // percentage of recording + std::list<int> concurrentTimerIndices; // concurrent timer indices + + TimerInConflict(int TimerIndex=-1, int Percentage=0) : timerIndex(TimerIndex), percentage(Percentage) {} +}; + +class TimerConflict; + +bool operator<( TimerConflict const& left, TimerConflict const& right ); + +// one timer conflict time +class TimerConflict +{ + time_t conflictTime; // time of conflict + std::list< TimerInConflict > conflictingTimers; // conflicting timers at this time +public: + friend bool operator<( TimerConflict const& left, TimerConflict const& right ); + + TimerConflict( std::string const& data ); + TimerConflict(); + void Init(); + + time_t ConflictTime() { return conflictTime; } + const std::list< TimerInConflict >& ConflictingTimers() { return conflictingTimers; } +}; + +class TimerConflicts +{ +public: + typedef std::list< TimerConflict > ConflictList; + typedef ConflictList::size_type size_type; + typedef ConflictList::iterator iterator; + typedef ConflictList::const_iterator const_iterator; + + TimerConflicts(); + + size_type size() const { return m_conflicts.size(); } + iterator begin() { return m_conflicts.begin(); } + const_iterator begin() const { return m_conflicts.begin(); } + iterator end() { return m_conflicts.end(); } + const_iterator end() const { return m_conflicts.end(); } +private: + ConflictList m_conflicts; +}; + } // namespace vdrlive |