vdr  2.4.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
cEitFilter Class Reference

#include <eit.h>

Collaboration diagram for cEitFilter:
[legend]

Public Member Functions

 cEitFilter (void)
 
virtual void SetStatus (bool On)
 
- Public Member Functions inherited from cListObject
 cListObject (void)
 
virtual ~cListObject ()
 
virtual int Compare (const cListObject &ListObject) const
 
void Append (cListObject *Object)
 
void Insert (cListObject *Object)
 
void Unlink (void)
 
int Index (void) const
 
cListObjectPrev (void) const
 
cListObjectNext (void) const
 

Static Public Member Functions

static void SetDisableUntil (time_t Time)
 

Protected Member Functions

virtual void Process (u_short Pid, u_char Tid, const u_char *Data, int Length)
 
- Protected Member Functions inherited from cFilter
 cFilter (void)
 
 cFilter (u_short Pid, u_char Tid, u_char Mask=0xFF)
 
virtual ~cFilter ()
 
int Source (void)
 
int Transponder (void)
 
const cChannelChannel (void)
 
bool Matches (u_short Pid, u_char Tid)
 
void Set (u_short Pid, u_char Tid, u_char Mask=0xFF)
 
void Add (u_short Pid, u_char Tid, u_char Mask=0xFF, bool Sticky=false)
 
void Del (u_short Pid, u_char Tid, u_char Mask=0xFF)
 

Private Attributes

cMutex mutex
 
cSectionSyncerHash sectionSyncerHash
 

Static Private Attributes

static time_t disableUntil = 0
 

Detailed Description

Definition at line 23 of file eit.h.

Constructor & Destructor Documentation

◆ cEitFilter()

cEitFilter::cEitFilter ( void  )

Definition at line 389 of file eit.c.

References cFilter::Set().

Member Function Documentation

◆ Process()

void cEitFilter::Process ( u_short  Pid,
u_char  Tid,
const u_char *  Data,
int  Length 
)
protectedvirtual

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 408 of file eit.c.

References disableUntil, ISTRANSPONDER, mutex, sectionSyncerHash, cSetup::SetSystemTime, Setup, cFilter::Source(), cSetup::TimeSource, cSetup::TimeTransponder, and cFilter::Transponder().

◆ SetDisableUntil()

void cEitFilter::SetDisableUntil ( time_t  Time)
static

Definition at line 403 of file eit.c.

References disableUntil.

Referenced by cSVDRPServer::CmdCLRE(), and cSVDRPServer::Execute().

◆ SetStatus()

void cEitFilter::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 396 of file eit.c.

References cHashBase::Clear(), mutex, sectionSyncerHash, and cFilter::SetStatus().

Member Data Documentation

◆ disableUntil

time_t cEitFilter::disableUntil = 0
staticprivate

Definition at line 27 of file eit.h.

Referenced by Process(), and SetDisableUntil().

◆ mutex

cMutex cEitFilter::mutex
private

Definition at line 25 of file eit.h.

Referenced by Process(), and SetStatus().

◆ sectionSyncerHash

cSectionSyncerHash cEitFilter::sectionSyncerHash
private

Definition at line 26 of file eit.h.

Referenced by Process(), and SetStatus().


The documentation for this class was generated from the following files: