cSectionHandler Class Reference

#include <sections.h>

Inheritance diagram for cSectionHandler:

Inheritance graph
[legend]
Collaboration diagram for cSectionHandler:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cSectionHandler (cDevice *Device)
virtual ~cSectionHandler ()
int Source (void)
int Transponder (void)
const cChannelChannel (void)
void Attach (cFilter *Filter)
void Detach (cFilter *Filter)
void SetChannel (const cChannel *Channel)
void SetStatus (bool On)

Private Member Functions

void Add (const cFilterData *FilterData)
void Del (const cFilterData *FilterData)
virtual void Action (void)

Private Attributes

cSectionHandlerPrivateshp
cDevicedevice
int statusCount
bool on
bool waitForLock
time_t lastIncompleteSection
cList< cFilterfilters
cList< cFilterHandlefilterHandles

Friends

class cFilter


Detailed Description

Definition at line 23 of file sections.h.


Constructor & Destructor Documentation

cSectionHandler::cSectionHandler ( cDevice Device  ) 

Definition at line 42 of file sections.c.

References device, lastIncompleteSection, on, shp, cThread::Start(), statusCount, and waitForLock.

Here is the call graph for this function:

cSectionHandler::~cSectionHandler (  )  [virtual]

Definition at line 54 of file sections.c.

References cThread::Cancel(), Detach(), filters, cList< T >::First(), and shp.

Here is the call graph for this function:


Member Function Documentation

void cSectionHandler::Add ( const cFilterData FilterData  )  [private]

Definition at line 78 of file sections.c.

References cListBase::Add(), device, cFilterHandle::filterData, filterHandles, cList< T >::First(), cFilterHandle::handle, cFilterData::Is(), cThread::Lock(), cFilterData::mask, cList< T >::Next(), cDevice::OpenFilter(), cFilterData::pid, statusCount, cFilterData::tid, cThread::Unlock(), and cFilterHandle::used.

Referenced by cFilter::Add(), and cFilter::SetStatus().

Here is the call graph for this function:

void cSectionHandler::Del ( const cFilterData FilterData  )  [private]

Definition at line 100 of file sections.c.

References cListBase::Del(), cFilterHandle::filterData, filterHandles, cList< T >::First(), cFilterHandle::handle, cFilterData::Is(), cThread::Lock(), cFilterData::mask, cList< T >::Next(), cFilterData::pid, statusCount, cFilterData::tid, cThread::Unlock(), and cFilterHandle::used.

Referenced by cFilter::Del(), and cFilter::SetStatus().

Here is the call graph for this function:

void cSectionHandler::Action ( void   )  [private, virtual]

A derived cThread class must implement the code it wants to execute as a separate thread in this function. If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 165 of file sections.c.

References cListBase::Count(), device, dsyslog, cFilterHandle::filterData, filterHandles, filters, cList< T >::First(), cFilterHandle::handle, cDevice::HasLock(), lastIncompleteSection, cThread::Lock(), LOCK_THREAD, cList< T >::Next(), cFilterData::pid, cThread::Running(), safe_read(), cThread::SetPriority(), SetStatus(), cCondWait::SleepMs(), statusCount, cThread::Unlock(), and waitForLock.

Here is the call graph for this function:

int cSectionHandler::Source ( void   ) 

Definition at line 63 of file sections.c.

References cSectionHandlerPrivate::channel, shp, and cChannel::Source().

Referenced by cFilter::Source().

Here is the call graph for this function:

int cSectionHandler::Transponder ( void   ) 

Definition at line 68 of file sections.c.

References cSectionHandlerPrivate::channel, shp, and cChannel::Transponder().

Referenced by cFilter::Transponder().

Here is the call graph for this function:

const cChannel * cSectionHandler::Channel ( void   ) 

Definition at line 73 of file sections.c.

References cSectionHandlerPrivate::channel, and shp.

Referenced by cFilter::Channel().

void cSectionHandler::Attach ( cFilter Filter  ) 

Definition at line 117 of file sections.c.

References cListBase::Add(), filters, cThread::Lock(), on, cFilter::sectionHandler, cFilter::SetStatus(), statusCount, and cThread::Unlock().

Referenced by cDevice::AttachFilter().

Here is the call graph for this function:

void cSectionHandler::Detach ( cFilter Filter  ) 

Definition at line 128 of file sections.c.

References cListBase::Del(), filters, cThread::Lock(), cFilter::sectionHandler, cFilter::SetStatus(), statusCount, and cThread::Unlock().

Referenced by cDevice::Detach(), cFilter::~cFilter(), and ~cSectionHandler().

Here is the call graph for this function:

void cSectionHandler::SetChannel ( const cChannel Channel  ) 

Definition at line 138 of file sections.c.

References cSectionHandlerPrivate::channel, cThread::Lock(), shp, and cThread::Unlock().

Referenced by cDevice::SetChannel().

Here is the call graph for this function:

void cSectionHandler::SetStatus ( bool  On  ) 

Definition at line 145 of file sections.c.

References device, filters, cList< T >::First(), cDevice::HasLock(), cThread::Lock(), cList< T >::Next(), on, statusCount, cThread::Unlock(), and waitForLock.

Referenced by Action(), and cDevice::SetChannel().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class cFilter [friend]

Definition at line 24 of file sections.h.


Member Data Documentation

cSectionHandlerPrivate* cSectionHandler::shp [private]

Definition at line 26 of file sections.h.

Referenced by Channel(), cSectionHandler(), SetChannel(), Source(), Transponder(), and ~cSectionHandler().

cDevice* cSectionHandler::device [private]

Definition at line 27 of file sections.h.

Referenced by Action(), Add(), cSectionHandler(), and SetStatus().

int cSectionHandler::statusCount [private]

Definition at line 28 of file sections.h.

Referenced by Action(), Add(), Attach(), cSectionHandler(), Del(), Detach(), and SetStatus().

bool cSectionHandler::on [private]

Definition at line 29 of file sections.h.

Referenced by Attach(), cSectionHandler(), and SetStatus().

bool cSectionHandler::waitForLock [private]

Definition at line 29 of file sections.h.

Referenced by Action(), cSectionHandler(), and SetStatus().

time_t cSectionHandler::lastIncompleteSection [private]

Definition at line 30 of file sections.h.

Referenced by Action(), and cSectionHandler().

cList<cFilter> cSectionHandler::filters [private]

Definition at line 31 of file sections.h.

Referenced by Action(), Attach(), Detach(), SetStatus(), and ~cSectionHandler().

cList<cFilterHandle> cSectionHandler::filterHandles [private]

Definition at line 32 of file sections.h.

Referenced by Action(), Add(), and Del().


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