Home

Dokumentation

Impressum

Dokumentation VDR
 

Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

cSIProcessor Class Reference

#include <eit.h>

Inheritance diagram for cSIProcessor:

Inheritance graph
[legend]
Collaboration diagram for cSIProcessor:

Collaboration graph
[legend]

Detailed Description

Read epg data.

Definition at line 189 of file eit.h.

Public Methods

 cSIProcessor (const char *FileName)
 ~cSIProcessor ()
void SetStatus (bool On)
void SetCurrentTransponder (int CurrentSource, int CurrentTransponder)

Static Public Methods

void SetEpgDataFileName (const char *FileName)
const char * GetEpgDataFileName (void)
const cSchedulesSchedules (cMutexLock &MutexLock)
bool Read (FILE *f=NULL)
void Clear (void)
bool SetCurrentChannelID (tChannelID channelid)
void TriggerDump (void)

Private Methods

void Action (void)
bool AddFilter (u_char pid, u_char tid)
bool ShutDownFilters (void)

Private Attributes

bool masterSIProcessor
int currentSource
int currentTransponder
SIP_FILTERfilters
char * fileName
bool active

Static Private Attributes

int numSIProcessors = 0
cSchedulesschedules = NULL
cMutex schedulesMutex
const char * epgDataFileName = EPGDATAFILENAME
time_t lastDump = time(NULL)


Constructor & Destructor Documentation

cSIProcessor::cSIProcessor const char *    FileName
 

Definition at line 1000 of file eit.c.

References currentSource, currentTransponder, fileName, filters, masterSIProcessor, numSIProcessors, schedules, SetStatus(), and cThread::Start().

cSIProcessor::~cSIProcessor  
 

Definition at line 1014 of file eit.c.

References active, cThread::Cancel(), numSIProcessors, ReportEpgBugFixStats(), schedules, and ShutDownFilters().


Member Function Documentation

void cSIProcessor::Action void    [private, virtual]
 

use the vbi device to parse all relevant SI information and let the classes corresponding to the tables write their information to the disk

Implements cThread.

Definition at line 1095 of file eit.c.

References active, cSchedules::Cleanup(), cSafeFile::Close(), dsyslog, cSchedules::Dump(), epgDataFileName, filters, GetEpgDataFileName(), sip_filter::handle, sip_filter::inuse, ISTRANSPONDER, isyslog, lastDump, LOG_ERROR, MAX_FILTERS, cSafeFile::Open(), sip_filter::pid, cEIT::ProcessEIT(), ReportEpgBugFixStats(), safe_read(), schedules, and cTDT::SetSystemTime().

bool cSIProcessor::AddFilter u_char    pid,
u_char    tid
[private]
 

Add a filter with packet identifier pid and table identifer tid

Definition at line 1210 of file eit.c.

References esyslog, filters, sip_filter::handle, sip_filter::inuse, MAX_FILTERS, sip_filter::pid, and sip_filter::tid.

Referenced by SetStatus().

void cSIProcessor::Clear void    [static]
 

Definition at line 1055 of file eit.c.

References schedules.

Referenced by cSVDRP::CmdCLRE().

const char * cSIProcessor::GetEpgDataFileName void    [static]
 

Definition at line 1069 of file eit.c.

References AddDirectory(), and epgDataFileName.

Referenced by Action(), and Read().

bool cSIProcessor::Read FILE *    f = NULL [static]
 

Definition at line 1034 of file eit.c.

References dsyslog, GetEpgDataFileName(), LOG_ERROR, and cSchedules::Read().

Referenced by main().

const cSchedules * cSIProcessor::Schedules cMutexLock   MutexLock [static]
 

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

Definition at line 1027 of file eit.c.

References cMutexLock::Lock(), and schedules.

Referenced by cSVDRP::CmdLSTE(), cMenuSchedule::cMenuSchedule(), cDisplayChannel::DisplayInfo(), and cRecordControl::GetEventInfo().

bool cSIProcessor::SetCurrentChannelID tChannelID    channelid [static]
 

Definition at line 1275 of file eit.c.

References schedules, and cSchedules::SetCurrentChannelID().

Referenced by cDevice::SetChannel().

void cSIProcessor::SetCurrentTransponder int    CurrentSource,
int    CurrentTransponder
 

Definition at line 1268 of file eit.c.

References currentSource, and currentTransponder.

Referenced by cDvbDevice::SetChannelDevice().

void cSIProcessor::SetEpgDataFileName const char *    FileName [static]
 

Definition at line 1062 of file eit.c.

References AddDirectory(), DirectoryOk(), and epgDataFileName.

Referenced by main().

void cSIProcessor::SetStatus bool    On
 

Definition at line 1076 of file eit.c.

References AddFilter(), and ShutDownFilters().

Referenced by cSIProcessor(), and cDvbDevice::SetPlayMode().

bool cSIProcessor::ShutDownFilters void    [private]
 

Definition at line 1252 of file eit.c.

References filters, sip_filter::inuse, and MAX_FILTERS.

Referenced by SetStatus(), and ~cSIProcessor().

void cSIProcessor::TriggerDump void    [static]
 

Definition at line 1281 of file eit.c.

References lastDump.

Referenced by cPUTEhandler::Process().


Field Documentation

bool cSIProcessor::active [private]
 

Definition at line 201 of file eit.h.

Referenced by Action(), and ~cSIProcessor().

int cSIProcessor::currentSource [private]
 

Definition at line 197 of file eit.h.

Referenced by cSIProcessor(), and SetCurrentTransponder().

int cSIProcessor::currentTransponder [private]
 

Definition at line 198 of file eit.h.

Referenced by cSIProcessor(), and SetCurrentTransponder().

const char * cSIProcessor::epgDataFileName = EPGDATAFILENAME [static, private]
 

Definition at line 996 of file eit.c.

Referenced by Action(), GetEpgDataFileName(), and SetEpgDataFileName().

char* cSIProcessor::fileName [private]
 

Definition at line 200 of file eit.h.

Referenced by cSIProcessor().

SIP_FILTER* cSIProcessor::filters [private]
 

Definition at line 199 of file eit.h.

Referenced by Action(), AddFilter(), cSIProcessor(), and ShutDownFilters().

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

Definition at line 997 of file eit.c.

Referenced by Action(), and TriggerDump().

bool cSIProcessor::masterSIProcessor [private]
 

Definition at line 196 of file eit.h.

Referenced by cSIProcessor().

int cSIProcessor::numSIProcessors = 0 [static, private]
 

Definition at line 993 of file eit.c.

Referenced by cSIProcessor(), and ~cSIProcessor().

cSchedules * cSIProcessor::schedules = NULL [static, private]
 

Definition at line 994 of file eit.c.

Referenced by Action(), Clear(), cSIProcessor(), Schedules(), SetCurrentChannelID(), and ~cSIProcessor().

cMutex cSIProcessor::schedulesMutex [static, private]
 

Definition at line 995 of file eit.c.


The documentation for this class was generated from the following files:
Generated on Wed Feb 5 23:31:56 2003 for VDR by doxygen1.3-rc2