cNitFilter Class Reference

#include <nit.h>

Inheritance diagram for cNitFilter:

Inheritance graph
Collaboration diagram for cNitFilter:

Collaboration graph

List of all members.

Public Member Functions

 cNitFilter (void)
virtual void SetStatus (bool On)

Protected Member Functions

virtual void Process (u_short Pid, u_char Tid, const u_char *Data, int Length)

Private Attributes

cSectionSyncer sectionSyncer
cNit nits [MAXNITS]
u_short networkId
int numNits


class  cNit

Detailed Description

Definition at line 18 of file nit.h.

Constructor & Destructor Documentation

cNitFilter::cNitFilter ( void   ) 

Definition at line 18 of file nit.c.

References networkId, numNits, and cFilter::Set().

Here is the call graph for this function:

Member Function Documentation

void cNitFilter::Process ( u_short  Pid,
u_char  Tid,
const u_char *  Data,
int  Length 
) [protected, virtual]

Processes the data delivered to this filter. Pid and Tid is one of the combinations added to this filter by a previous call to Add(), Data is a pointer to Length bytes of data. This function will be called from the section handler's thread, so it has to use proper locking mechanisms in case it accesses any global data. It is guaranteed that if several cFilters are attached to the same cSectionHandler, only _one_ of them has its Process() function called at any given time. It is allowed that more than one cFilter are set up to receive the same Pid/Tid. The Process() function must return as soon as possible.

Implements cFilter.

Definition at line 33 of file nit.c.

References cEITScanner::AddTransponder(), BCD2INT(), SI::CableDeliverySystemDescriptorTag, cFilter::Channel(), Channels, SI::CRCSection::CheckCRCAndParse(), SI::NIT::commonDescriptors, EITScanner, cList< T >::First(), SI::FrequencyListDescriptor::frequencies, SI::FrequencyListDescriptorTag, cSource::FromData(), SI::TerrestrialDeliverySystemDescriptor::getBandwidth(), SI::TerrestrialDeliverySystemDescriptor::getCodeRateHP(), SI::TerrestrialDeliverySystemDescriptor::getCodeRateLP(), SI::FrequencyListDescriptor::getCodingType(), SI::TerrestrialDeliverySystemDescriptor::getConstellation(), SI::Descriptor::getDescriptorTag(), SI::CableDeliverySystemDescriptor::getFecInner(), SI::SatelliteDeliverySystemDescriptor::getFecInner(), SI::TerrestrialDeliverySystemDescriptor::getFrequency(), SI::CableDeliverySystemDescriptor::getFrequency(), SI::SatelliteDeliverySystemDescriptor::getFrequency(), SI::TerrestrialDeliverySystemDescriptor::getGuardInterval(), SI::TerrestrialDeliverySystemDescriptor::getHierarchy(), SI::NumberedSection::getLastSectionNumber(), SI::CableDeliverySystemDescriptor::getModulation(), SI::NIT::getNetworkId(), SI::SatelliteDeliverySystemDescriptor::getOrbitalPosition(), SI::NIT::TransportStream::getOriginalNetworkId(), SI::SatelliteDeliverySystemDescriptor::getPolarization(), SI::NumberedSection::getSectionNumber(), SI::CableDeliverySystemDescriptor::getSymbolRate(), SI::SatelliteDeliverySystemDescriptor::getSymbolRate(), SI::TerrestrialDeliverySystemDescriptor::getTransmissionMode(), SI::NIT::TransportStream::getTransportStreamId(), SI::NumberedSection::getVersionNumber(), SI::SatelliteDeliverySystemDescriptor::getWestEastFlag(), cChannel::GroupSep(), cNitFilter::cNit::hasTransponder, ISTRANSPONDER, cRwLock::Lock(), MAXNETWORKNAME, MAXNITS, min(), SI::NetworkNameDescriptor::name, cNitFilter::cNit::name, cNitFilter::cNit::networkId, networkId, SI::NetworkNameDescriptorTag, cList< T >::Next(), cChannel::Nid(), nits, numNits, SI::SatelliteDeliverySystemDescriptorTag, sectionSyncer, cChannel::SetCableTransponderData(), cChannel::SetId(), cChannel::SetSatTransponderData(), cChannel::SetTerrTransponderData(), Setup, cChannel::Source(), cFilter::Source(), cSource::stCable, cSource::stSat, cSource::stTerr, cSectionSyncer::Sync(), SI::TerrestrialDeliverySystemDescriptorTag, cChannel::Tid(), cFilter::Transponder(), cChannel::Transponder(), SI::NIT::TransportStream::transportStreamDescriptors, SI::NIT::transportStreamLoop, cRwLock::Unlock(), and cSetup::UpdateChannels.

Here is the call graph for this function:

void cNitFilter::SetStatus ( bool  On  )  [virtual]

Turns this filter on or off, depending on the value of On. If the filter is turned off, any filter data that has been added without the Sticky parameter set to 'true' will be automatically deleted. Those parameters that have been added with Sticky set to 'true' will be automatically reused when SetStatus(true) is called.

Reimplemented from cFilter.

Definition at line 25 of file nit.c.

References networkId, numNits, cSectionSyncer::Reset(), sectionSyncer, and cFilter::SetStatus().

Here is the call graph for this function:

Member Data Documentation

cSectionSyncer cNitFilter::sectionSyncer [private]

Definition at line 28 of file nit.h.

Referenced by Process(), and SetStatus().

cNit cNitFilter::nits[MAXNITS] [private]

Definition at line 29 of file nit.h.

Referenced by Process().

u_short cNitFilter::networkId [private]

Definition at line 30 of file nit.h.

Referenced by cNitFilter(), Process(), and SetStatus().

int cNitFilter::numNits [private]

Definition at line 31 of file nit.h.

Referenced by cNitFilter(), Process(), and SetStatus().

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