#include <epg.h>
|
| 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) |
|
| 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 |
|
cListObject * | Prev (void) const |
|
cListObject * | Next (void) const |
|
Definition at line 244 of file epg.h.
◆ 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 1417 of file epg.c.
References cListBase::Add(), and EpgHandlers.
◆ ~cEpgHandler()
cEpgHandler::~cEpgHandler |
( |
| ) |
|
|
virtual |
◆ BeginSegmentTransfer()
virtual bool cEpgHandler::BeginSegmentTransfer |
( |
const cChannel * |
Channel, |
|
|
bool |
Dummy |
|
) |
| |
|
inlinevirtual |
◆ 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()
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()
◆ SetContents()
virtual bool cEpgHandler::SetContents |
( |
cEvent * |
Event, |
|
|
uchar * |
Contents |
|
) |
| |
|
inlinevirtual |
◆ SetDescription()
virtual bool cEpgHandler::SetDescription |
( |
cEvent * |
Event, |
|
|
const char * |
Description |
|
) |
| |
|
inlinevirtual |
◆ SetDuration()
virtual bool cEpgHandler::SetDuration |
( |
cEvent * |
Event, |
|
|
int |
Duration |
|
) |
| |
|
inlinevirtual |
◆ 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 |
◆ SetShortText()
virtual bool cEpgHandler::SetShortText |
( |
cEvent * |
Event, |
|
|
const char * |
ShortText |
|
) |
| |
|
inlinevirtual |
◆ SetStartTime()
virtual bool cEpgHandler::SetStartTime |
( |
cEvent * |
Event, |
|
|
time_t |
StartTime |
|
) |
| |
|
inlinevirtual |
◆ SetTitle()
virtual bool cEpgHandler::SetTitle |
( |
cEvent * |
Event, |
|
|
const char * |
Title |
|
) |
| |
|
inlinevirtual |
◆ SetVps()
virtual bool cEpgHandler::SetVps |
( |
cEvent * |
Event, |
|
|
time_t |
Vps |
|
) |
| |
|
inlinevirtual |
◆ 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: