vdr  2.2.0
Public Member Functions | List of all members
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 OnlyRunningStatus)
 
virtual bool EndSegmentTransfer (bool Modified, bool OnlyRunningStatus)
 
- 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 224 of file epg.h.

Constructor & Destructor Documentation

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 1369 of file epg.c.

References cListBase::Add(), and EpgHandlers.

cEpgHandler::~cEpgHandler ( )
virtual

Definition at line 1374 of file epg.c.

References cListBase::Del(), and EpgHandlers.

Member Function Documentation

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

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

Designed to give handlers the possibility to prepare a database transaction.

Definition at line 276 of file epg.h.

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 273 of file epg.h.

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

Called after the segment data has been processed.

At this point handlers should close/commit/rollback any pending database transactions.

Definition at line 279 of file epg.h.

virtual bool cEpgHandler::FixEpgBugs ( cEvent Event)
inlinevirtual

Fixes some known problems with EPG data.

Reimplemented in cTable0Handler.

Definition at line 266 of file epg.h.

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 246 of file epg.h.

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 241 of file epg.h.

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 268 of file epg.h.

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 236 of file epg.h.

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 252 of file epg.h.

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

Definition at line 265 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 260 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 259 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 263 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 256 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 261 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 258 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 262 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 257 of file epg.h.

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

Reimplemented in cTable0Handler.

Definition at line 264 of file epg.h.

virtual bool cEpgHandler::SortSchedule ( cSchedule Schedule)
inlinevirtual

Sorts the Schedule after the complete table has been processed.

Definition at line 271 of file epg.h.


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