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]

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

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

Definition at line 26 of file sections.h.

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

Definition at line 27 of file sections.h.

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

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().

Definition at line 29 of file sections.h.

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

Definition at line 30 of file sections.h.

Referenced by Action(), and cSectionHandler().

Definition at line 31 of file sections.h.

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

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 4 20:01:36 2008 for VDR by  doxygen 1.5.6