vdr 2.6.6
|
#include <epg.h>
Public Member Functions | |
cSchedule (tChannelID ChannelID) | |
tChannelID | ChannelID (void) const |
bool | Modified (int &State) const |
bool | OnActualTp (uchar TableId) |
time_t | PresentSeen (void) const |
bool | PresentSeenWithin (int Seconds) const |
void | SetModified (void) |
void | SetPresentSeen (void) |
void | SetRunningStatus (cEvent *Event, int RunningStatus, const cChannel *Channel=NULL) |
void | ClrRunningStatus (cChannel *Channel=NULL) |
void | ResetVersions (void) |
void | Sort (void) |
void | DropOutdated (time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version) |
void | Cleanup (time_t Time) |
void | Cleanup (void) |
void | IncNumTimers (void) const |
void | DecNumTimers (void) const |
bool | HasTimer (void) const |
cEvent * | AddEvent (cEvent *Event) |
void | DelEvent (cEvent *Event) |
void | HashEvent (cEvent *Event) |
void | UnhashEvent (cEvent *Event) |
const cList< cEvent > * | Events (void) const |
const cEvent * | GetPresentEvent (void) const |
const cEvent * | GetFollowingEvent (void) const |
const cEvent * | GetEvent (tEventID EventID, time_t StartTime=0) const |
const cEvent * | GetEventById (tEventID EventID) const |
const cEvent * | GetEventByTime (time_t StartTime) const |
const cEvent * | GetEventAround (time_t Time) const |
void | Dump (const cChannels *Channels, FILE *f, const char *Prefix="", eDumpMode DumpMode=dmAll, time_t AtTime=0) const |
![]() | |
cListObject (void) | |
virtual | ~cListObject () |
virtual int | Compare (const cListObject &ListObject) const |
void | Append (cListObject *Object) |
void | Insert (cListObject *Object) |
void | Unlink (void) |
int | Index (void) const |
cListObject * | Prev (void) const |
cListObject * | Next (void) const |
Static Public Member Functions | |
static bool | Read (FILE *f, cSchedules *Schedules) |
Private Attributes | |
tChannelID | channelID |
cList< cEvent > | events |
cHash< cEvent > | eventsHashID |
cHash< cEvent > | eventsHashStartTime |
u_int16_t | numTimers |
bool | hasRunning |
bool | onActualTp |
int | modified |
time_t | presentSeen |
Static Private Attributes | |
static cMutex | numTimersMutex |
cSchedule::cSchedule | ( | tChannelID | ChannelID | ) |
Definition at line 909 of file epg.c.
References channelID, ChannelID(), events, hasRunning, modified, numTimers, onActualTp, presentSeen, and cListBase::SetUseGarbageCollector().
Definition at line 941 of file epg.c.
References cListBase::Add(), events, HashEvent(), and cEvent::schedule.
Referenced by cEIT::cEIT(), and cEvent::Read().
|
inline |
Definition at line 166 of file epg.h.
References channelID.
Referenced by cEvent::ChannelID(), and cSchedule().
void cSchedule::Cleanup | ( | time_t | Time | ) |
Definition at line 1134 of file epg.c.
References DelEvent(), cEvent::EndTime(), EPG_LINGER_TIME, events, cList< T >::First(), and cEvent::HasTimer().
Referenced by cSVDRPServer::CmdCLRE().
void cSchedule::Cleanup | ( | void | ) |
void cSchedule::ClrRunningStatus | ( | cChannel * | Channel = NULL | ) |
Definition at line 1070 of file epg.c.
References events, cList< T >::First(), hasRunning, cList< T >::Next(), SI::RunningStatusNotRunning, SI::RunningStatusPausing, and SetModified().
Referenced by cEIT::cEIT().
void cSchedule::DecNumTimers | ( | void | ) | const |
Definition at line 927 of file epg.c.
References cMutex::Lock(), numTimers, numTimersMutex, and cMutex::Unlock().
Referenced by cEvent::DecNumTimers().
void cSchedule::DelEvent | ( | cEvent * | Event | ) |
Definition at line 949 of file epg.c.
References cListBase::Del(), events, cMutex::Lock(), cEvent::numTimers, numTimers, cEvent::numTimersMutex, numTimersMutex, cEvent::schedule, UnhashEvent(), and cMutex::Unlock().
Referenced by Cleanup(), and DropOutdated().
void cSchedule::DropOutdated | ( | time_t | SegmentStart, |
time_t | SegmentEnd, | ||
uchar | TableID, | ||
uchar | Version ) |
Definition at line 1104 of file epg.c.
References DelEvent(), events, cList< T >::First(), cList< T >::Next(), cEvent::StartTime(), cEvent::TableID(), and cEvent::Version().
Referenced by cEpgHandlers::DropOutdated().
void cSchedule::Dump | ( | const cChannels * | Channels, |
FILE * | f, | ||
const char * | Prefix = "", | ||
eDumpMode | DumpMode = dmAll, | ||
time_t | AtTime = 0 ) const |
Definition at line 1145 of file epg.c.
References channelID, dmAll, dmAtTime, dmFollowing, dmPresent, cEvent::Dump(), esyslog, events, cList< T >::First(), cChannels::GetByChannelID(), GetEventAround(), GetFollowingEvent(), GetPresentEvent(), and cList< T >::Next().
Referenced by cSVDRPServer::CmdLSTE().
Definition at line 187 of file epg.h.
References events.
Referenced by cTimer::SetEventFromSchedule(), and cTimer::SpawnPatternTimers().
Definition at line 1015 of file epg.c.
References eventsHashID, eventsHashStartTime, and cHash< T >::Get().
const cEvent * cSchedule::GetEventAround | ( | time_t | Time | ) | const |
Definition at line 1038 of file epg.c.
References events, cList< T >::First(), cList< T >::Next(), and cEvent::StartTime().
Referenced by Dump().
Definition at line 1026 of file epg.c.
References eventsHashID, and cHash< T >::Get().
Referenced by cEIT::cEIT().
const cEvent * cSchedule::GetEventByTime | ( | time_t | StartTime | ) | const |
Definition at line 1031 of file epg.c.
References eventsHashStartTime, and cHash< T >::Get().
Referenced by cEIT::cEIT(), and cEvent::Read().
const cEvent * cSchedule::GetFollowingEvent | ( | void | ) | const |
Definition at line 999 of file epg.c.
References events, cList< T >::First(), GetPresentEvent(), cList< T >::Next(), and cEvent::StartTime().
Referenced by Dump().
const cEvent * cSchedule::GetPresentEvent | ( | void | ) | const |
Definition at line 984 of file epg.c.
References events, cList< T >::First(), cList< T >::Next(), SI::RunningStatusPausing, and RUNNINGSTATUSTIMEOUT.
Referenced by Dump(), and GetFollowingEvent().
void cSchedule::HashEvent | ( | cEvent * | Event | ) |
Definition at line 965 of file epg.c.
References cHashBase::Add(), cHashBase::Del(), cEvent::EventID(), eventsHashID, eventsHashStartTime, cHash< T >::Get(), and cEvent::StartTime().
Referenced by AddEvent(), cEvent::SetEventID(), and cEvent::SetStartTime().
|
inline |
Definition at line 182 of file epg.h.
References numTimers.
Referenced by cEvent::SetRunningStatus().
void cSchedule::IncNumTimers | ( | void | ) | const |
Definition at line 920 of file epg.c.
References cMutex::Lock(), numTimers, numTimersMutex, and cMutex::Unlock().
Referenced by cEvent::IncNumTimers().
|
inline |
Definition at line 167 of file epg.h.
References modified.
Referenced by cTimer::SetEvent(), cTimer::SetEventFromSchedule(), and cTimer::SpawnPatternTimers().
bool cSchedule::OnActualTp | ( | uchar | TableId | ) |
|
inline |
Definition at line 169 of file epg.h.
References presentSeen.
|
inline |
Definition at line 170 of file epg.h.
References presentSeen.
Referenced by main(), and cTimer::Matches().
|
static |
Definition at line 1177 of file epg.c.
References cSchedules::AddSchedule(), channelID, esyslog, tChannelID::FromString(), cReadLine::Read(), cEvent::Read(), skipspace(), and tChannelID::Valid().
Referenced by cSchedules::Read().
void cSchedule::ResetVersions | ( | void | ) |
Definition at line 1084 of file epg.c.
References events, cList< T >::First(), and cList< T >::Next().
|
inline |
Definition at line 171 of file epg.h.
References modified.
Referenced by ClrRunningStatus(), and Sort().
|
inline |
Definition at line 172 of file epg.h.
References presentSeen.
Referenced by cEIT::cEIT(), and SetRunningStatus().
void cSchedule::SetRunningStatus | ( | cEvent * | Event, |
int | RunningStatus, | ||
const cChannel * | Channel = NULL ) |
Definition at line 1052 of file epg.c.
References events, cList< T >::First(), hasRunning, cList< T >::Next(), SI::RunningStatusNotRunning, SI::RunningStatusPausing, SetPresentSeen(), cEvent::SetRunningStatus(), and cEvent::StartTime().
Referenced by cEIT::cEIT().
void cSchedule::Sort | ( | void | ) |
Definition at line 1090 of file epg.c.
References events, cList< T >::First(), hasRunning, cList< T >::Next(), SI::RunningStatusNotRunning, SI::RunningStatusPausing, SetModified(), and cListBase::Sort().
Referenced by cEpgHandlers::SortSchedule().
void cSchedule::UnhashEvent | ( | cEvent * | Event | ) |
Definition at line 977 of file epg.c.
References cHashBase::Del(), cEvent::EventID(), eventsHashID, eventsHashStartTime, and cEvent::StartTime().
Referenced by DelEvent(), cEvent::SetEventID(), and cEvent::SetStartTime().
|
private |
Definition at line 155 of file epg.h.
Referenced by ChannelID(), cSchedule(), Dump(), and Read().
Definition at line 156 of file epg.h.
Referenced by AddEvent(), Cleanup(), ClrRunningStatus(), cSchedule(), DelEvent(), DropOutdated(), Dump(), Events(), GetEventAround(), GetFollowingEvent(), GetPresentEvent(), ResetVersions(), SetRunningStatus(), and Sort().
Definition at line 157 of file epg.h.
Referenced by GetEvent(), GetEventById(), HashEvent(), and UnhashEvent().
Definition at line 158 of file epg.h.
Referenced by GetEvent(), GetEventByTime(), HashEvent(), and UnhashEvent().
|
private |
Definition at line 160 of file epg.h.
Referenced by ClrRunningStatus(), cSchedule(), SetRunningStatus(), and Sort().
|
private |
Definition at line 162 of file epg.h.
Referenced by cSchedule(), Modified(), and SetModified().
|
mutableprivate |
Definition at line 159 of file epg.h.
Referenced by cSchedule(), DecNumTimers(), DelEvent(), HasTimer(), and IncNumTimers().
|
staticprivate |
Definition at line 154 of file epg.h.
Referenced by DecNumTimers(), DelEvent(), and IncNumTimers().
|
private |
Definition at line 161 of file epg.h.
Referenced by cSchedule(), and OnActualTp().
|
private |
Definition at line 163 of file epg.h.
Referenced by cSchedule(), PresentSeen(), PresentSeenWithin(), and SetPresentSeen().