cSchedules Class Reference

#include <epg.h>

Inheritance diagram for cSchedules:

Inheritance graph
[legend]
Collaboration diagram for cSchedules:

Collaboration graph
[legend]

List of all members.

Public Member Functions

cScheduleAddSchedule (tChannelID ChannelID)
const cScheduleGetSchedule (tChannelID ChannelID) const
const cScheduleGetSchedule (const cChannel *Channel, bool AddIfMissing=false) const

Static Public Member Functions

static void SetEpgDataFileName (const char *FileName)
static const cSchedulesSchedules (cSchedulesLock &SchedulesLock)
static time_t Modified (void)
static void SetModified (cSchedule *Schedule)
static void Cleanup (bool Force=false)
static void ResetVersions (void)
static bool ClearAll (void)
static bool Dump (FILE *f, const char *Prefix="", eDumpMode DumpMode=dmAll, time_t AtTime=0)
static bool Read (FILE *f=NULL)

Private Attributes

cRwLock rwlock

Static Private Attributes

static cSchedules schedules
static const char * epgDataFileName = NULL
static time_t lastCleanup = time(NULL)
static time_t lastDump = time(NULL)
static time_t modified = 0

Friends

class cSchedule
class cSchedulesLock


Detailed Description

Definition at line 162 of file epg.h.


Member Function Documentation

void cSchedules::SetEpgDataFileName ( const char *  FileName  )  [static]

Definition at line 930 of file epg.c.

References epgDataFileName.

Referenced by main().

const cSchedules * cSchedules::Schedules ( cSchedulesLock SchedulesLock  )  [static]

Caller must provide a cSchedulesLock which has to survive the entire time the returned cSchedules is accessed. Once the cSchedules is no longer used, the cSchedulesLock must be destroyed.

Definition at line 925 of file epg.c.

References cSchedulesLock::Locked(), and schedules.

Referenced by Cleanup(), ClearAll(), cSVDRP::CmdLSTE(), cMenuSchedule::cMenuSchedule(), cRecordControl::cRecordControl(), cDisplayChannel::DisplayInfo(), Dump(), cRecordControl::GetEvent(), main(), cEitFilter::Process(), Read(), ResetVersions(), cTimer::SetEventFromSchedule(), cTimers::SetEvents(), and SetTrackDescriptions().

Here is the call graph for this function:

static time_t cSchedules::Modified ( void   )  [inline, static]

Definition at line 178 of file epg.h.

References modified.

Referenced by cTimers::SetEvents().

void cSchedules::SetModified ( cSchedule Schedule  )  [static]

Definition at line 936 of file epg.c.

References modified, and cSchedule::SetModified().

Referenced by cEIT::cEIT(), and cSchedule::Read().

Here is the call graph for this function:

void cSchedules::Cleanup ( bool  Force = false  )  [static]

Definition at line 942 of file epg.c.

References Cleanup(), cSafeFile::Close(), Dump(), epgDataFileName, cList< T >::First(), isyslog, lastCleanup, lastDump, LOG_ERROR, cList< T >::Next(), cSafeFile::Open(), ReportEpgBugFixStats(), and Schedules().

Referenced by Cleanup(), ClearAll(), main(), and cPUTEhandler::Process().

Here is the call graph for this function:

void cSchedules::ResetVersions ( void   )  [static]

Definition at line 973 of file epg.c.

References cList< T >::First(), cList< T >::Next(), ResetVersions(), and Schedules().

Referenced by cMenuSetupEPG::ProcessKey(), and ResetVersions().

Here is the call graph for this function:

bool cSchedules::ClearAll ( void   )  [static]

Definition at line 983 of file epg.c.

References Cleanup(), cList< T >::First(), cList< T >::Next(), Schedules(), and Timers.

Referenced by cSVDRP::CmdCLRE().

Here is the call graph for this function:

bool cSchedules::Dump ( FILE *  f,
const char *  Prefix = "",
eDumpMode  DumpMode = dmAll,
time_t  AtTime = 0 
) [static]

Definition at line 997 of file epg.c.

References Dump(), cList< T >::First(), cList< T >::Next(), and Schedules().

Referenced by Cleanup(), cSVDRP::CmdLSTE(), and Dump().

Here is the call graph for this function:

bool cSchedules::Read ( FILE *  f = NULL  )  [static]

Definition at line 1009 of file epg.c.

References Channels, dsyslog, epgDataFileName, cList< T >::First(), GetSchedule(), LOG_ERROR, cList< T >::Next(), cSchedule::Read(), and Schedules().

Referenced by main(), and cPUTEhandler::Process().

Here is the call graph for this function:

cSchedule * cSchedules::AddSchedule ( tChannelID  ChannelID  ) 

Definition at line 1039 of file epg.c.

References cListBase::Add(), Channels, tChannelID::ClrRid(), cSchedule, cChannels::GetByChannelID(), GetSchedule(), and cChannel::schedule.

Referenced by cSchedule::Read().

Here is the call graph for this function:

const cSchedule * cSchedules::GetSchedule ( tChannelID  ChannelID  )  const

Definition at line 1053 of file epg.c.

References tChannelID::ClrRid(), cList< cSchedule >::First(), and cList< cSchedule >::Next().

Referenced by AddSchedule(), cEIT::cEIT(), cSVDRP::CmdLSTE(), cMenuWhatsOn::cMenuWhatsOn(), cDisplayChannel::DisplayInfo(), cRecordControl::GetEvent(), GetSchedule(), main(), cMenuSchedule::PrepareScheduleAllAll(), cMenuSchedule::PrepareScheduleAllThis(), cMenuSchedule::PrepareScheduleThisAll(), cMenuSchedule::PrepareScheduleThisThis(), Read(), cTimer::SetEventFromSchedule(), and SetTrackDescriptions().

Here is the call graph for this function:

const cSchedule * cSchedules::GetSchedule ( const cChannel Channel,
bool  AddIfMissing = false 
) const

Definition at line 1063 of file epg.c.

References cSchedule, cChannel::GetChannelID(), GetSchedule(), tChannelID::InvalidID, and cChannel::schedule.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class cSchedule [friend]

Definition at line 163 of file epg.h.

Referenced by AddSchedule(), and GetSchedule().

friend class cSchedulesLock [friend]

Definition at line 164 of file epg.h.


Member Data Documentation

cRwLock cSchedules::rwlock [private]

Definition at line 166 of file epg.h.

Referenced by cSchedulesLock::cSchedulesLock(), and cSchedulesLock::~cSchedulesLock().

cSchedules cSchedules::schedules [static, private]

Definition at line 167 of file epg.h.

Referenced by cSchedulesLock::cSchedulesLock(), Schedules(), and cSchedulesLock::~cSchedulesLock().

const char * cSchedules::epgDataFileName = NULL [static, private]

Definition at line 168 of file epg.h.

Referenced by Cleanup(), Read(), and SetEpgDataFileName().

time_t cSchedules::lastCleanup = time(NULL) [static, private]

Definition at line 169 of file epg.h.

Referenced by Cleanup().

time_t cSchedules::lastDump = time(NULL) [static, private]

Definition at line 170 of file epg.h.

Referenced by Cleanup().

time_t cSchedules::modified = 0 [static, private]

Definition at line 171 of file epg.h.

Referenced by Modified(), and SetModified().


The documentation for this class was generated from the following files:
Generated on Tue Nov 6 20:26:11 2007 for VDR by  doxygen 1.5.3-20071008