vdr 2.6.8
cEpgHandler Class Reference

#include <epg.h>

Public Member Functions

 cEpgHandler (void)
 
virtual ~cEpgHandler ()
 
virtual bool IgnoreChannel (const cChannel *Channel)
 
virtual bool HandleEitEvent (cSchedule *Schedule, const SI::EIT::Event *EitEvent, uchar TableID, uchar Version)
 
virtual bool HandledExternally (const cChannel *Channel)
 
virtual bool IsUpdate (tEventID EventID, time_t StartTime, uchar TableID, uchar Version)
 
virtual bool SetEventID (cEvent *Event, tEventID EventID)
 
virtual bool SetTitle (cEvent *Event, const char *Title)
 
virtual bool SetShortText (cEvent *Event, const char *ShortText)
 
virtual bool SetDescription (cEvent *Event, const char *Description)
 
virtual bool SetContents (cEvent *Event, uchar *Contents)
 
virtual bool SetParentalRating (cEvent *Event, int ParentalRating)
 
virtual bool SetStartTime (cEvent *Event, time_t StartTime)
 
virtual bool SetDuration (cEvent *Event, int Duration)
 
virtual bool SetVps (cEvent *Event, time_t Vps)
 
virtual bool SetComponents (cEvent *Event, cComponents *Components)
 
virtual bool FixEpgBugs (cEvent *Event)
 
virtual bool HandleEvent (cEvent *Event)
 
virtual bool SortSchedule (cSchedule *Schedule)
 
virtual bool DropOutdated (cSchedule *Schedule, time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version)
 
virtual bool BeginSegmentTransfer (const cChannel *Channel, bool Dummy)
 
virtual bool EndSegmentTransfer (bool Modified, bool Dummy)
 
- 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
 

Detailed Description

Definition at line 244 of file epg.h.

Constructor & Destructor Documentation

◆ cEpgHandler()

cEpgHandler::cEpgHandler ( void )

Constructs a new EPG handler and adds it to the list of EPG handlers.

Whenever an event is received from the EIT data stream, the EPG handlers are queried in the order they have been created. As soon as one of the EPG handlers returns true in a member function, none of the remaining handlers will be queried. If none of the EPG handlers returns true in a particular call, the default processing will take place. EPG handlers will be deleted automatically at the end of the program.

Definition at line 1434 of file epg.c.

References cListBase::Add(), and EpgHandlers.

◆ ~cEpgHandler()

cEpgHandler::~cEpgHandler ( )
virtual

Definition at line 1439 of file epg.c.

References cListBase::Del(), and EpgHandlers.

Member Function Documentation

◆ BeginSegmentTransfer()

virtual bool cEpgHandler::BeginSegmentTransfer ( const cChannel * Channel,
bool Dummy )
inlinevirtual

Definition at line 297 of file epg.h.

◆ DropOutdated()

virtual bool cEpgHandler::DropOutdated ( cSchedule * Schedule,
time_t SegmentStart,
time_t SegmentEnd,
uchar TableID,
uchar Version )
inlinevirtual

Takes a look at all EPG events between SegmentStart and SegmentEnd and drops outdated events.

Definition at line 294 of file epg.h.

◆ EndSegmentTransfer()

virtual bool cEpgHandler::EndSegmentTransfer ( bool Modified,
bool Dummy )
inlinevirtual

< Called directly after IgnoreChannel() before any other handler method is called.

Designed to give handlers the possibility to prepare a database transaction. If any EPG handler returns false in this function, it is assumed that the EPG for the given Channel has to be handled later due to some transaction problems,

‍therefore the processing will be aborted. Dummy is for backward compatibility and may be removed in a future version.

Definition at line 304 of file epg.h.

◆ FixEpgBugs()

virtual bool cEpgHandler::FixEpgBugs ( cEvent * Event)
inlinevirtual

Fixes some known problems with EPG data.

Reimplemented in cTable0Handler.

Definition at line 287 of file epg.h.

◆ HandledExternally()

virtual bool cEpgHandler::HandledExternally ( const cChannel * Channel)
inlinevirtual

If any EPG handler returns true in this function, it is assumed that the EPG for the given Channel is handled completely from some external source.

Incoming EIT data is processed as usual, but any new EPG event will not be added to the respective schedule. It's up to the EPG handler to take care of this.

Definition at line 266 of file epg.h.

◆ HandleEitEvent()

virtual bool cEpgHandler::HandleEitEvent ( cSchedule * Schedule,
const SI::EIT::Event * EitEvent,
uchar TableID,
uchar Version )
inlinevirtual

Before the raw EitEvent for the given Schedule is processed, the EPG handlers are queried to see if any of them would like to do the complete processing by itself.

TableID and Version are from the incoming section data.

Definition at line 261 of file epg.h.

◆ HandleEvent()

virtual bool cEpgHandler::HandleEvent ( cEvent * Event)
inlinevirtual

After all modifications of the Event have been done, the EPG handler can take a final look at it.

Definition at line 289 of file epg.h.

◆ IgnoreChannel()

virtual bool cEpgHandler::IgnoreChannel ( const cChannel * Channel)
inlinevirtual

Before any EIT data for the given Channel is processed, the EPG handlers are asked whether this Channel shall be completely ignored.

If any of the EPG handlers returns true in this function, no EIT data at all will be processed for this Channel.

Definition at line 256 of file epg.h.

◆ IsUpdate()

virtual bool cEpgHandler::IsUpdate ( tEventID EventID,
time_t StartTime,
uchar TableID,
uchar Version )
inlinevirtual

VDR can't perform the update check (version, tid) for externally handled events, therefore the EPG handlers have to take care of this.

Otherwise the parsing of non-updates will waste a lot of resources.

Definition at line 272 of file epg.h.

◆ SetComponents()

virtual bool cEpgHandler::SetComponents ( cEvent * Event,
cComponents * Components )
inlinevirtual

Definition at line 286 of file epg.h.

◆ SetContents()

virtual bool cEpgHandler::SetContents ( cEvent * Event,
uchar * Contents )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 281 of file epg.h.

◆ SetDescription()

virtual bool cEpgHandler::SetDescription ( cEvent * Event,
const char * Description )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 280 of file epg.h.

◆ SetDuration()

virtual bool cEpgHandler::SetDuration ( cEvent * Event,
int Duration )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 284 of file epg.h.

◆ SetEventID()

virtual bool cEpgHandler::SetEventID ( cEvent * Event,
tEventID EventID )
inlinevirtual

Important note: if you want VPS to work, do not mess with the event ids!

Reimplemented in cTable0Handler.

Definition at line 276 of file epg.h.

◆ SetParentalRating()

virtual bool cEpgHandler::SetParentalRating ( cEvent * Event,
int ParentalRating )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 282 of file epg.h.

◆ SetShortText()

virtual bool cEpgHandler::SetShortText ( cEvent * Event,
const char * ShortText )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 279 of file epg.h.

◆ SetStartTime()

virtual bool cEpgHandler::SetStartTime ( cEvent * Event,
time_t StartTime )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 283 of file epg.h.

◆ SetTitle()

virtual bool cEpgHandler::SetTitle ( cEvent * Event,
const char * Title )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 278 of file epg.h.

◆ SetVps()

virtual bool cEpgHandler::SetVps ( cEvent * Event,
time_t Vps )
inlinevirtual

Reimplemented in cTable0Handler.

Definition at line 285 of file epg.h.

◆ SortSchedule()

virtual bool cEpgHandler::SortSchedule ( cSchedule * Schedule)
inlinevirtual

Sorts the Schedule after the complete table has been processed.

Definition at line 292 of file epg.h.


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