1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Added SetComponents() to the EPG handler interface

This commit is contained in:
Klaus Schmidinger 2012-06-04 10:29:19 +02:00
parent 8d8dd8ecbd
commit 04f176b248
5 changed files with 19 additions and 4 deletions

View File

@ -2907,3 +2907,6 @@ Christian Richter <cr@crichter.net>
Christian Kaiser <christian.kaiser@teleservice.com> Christian Kaiser <christian.kaiser@teleservice.com>
for adding DeleteEvent() to the EPG handler interface for adding DeleteEvent() to the EPG handler interface
Dirk Heiser <dirk-vdr@gmx.de>
for adding SetComponents() to the EPG handler interface

View File

@ -7164,3 +7164,4 @@ Video Disk Recorder Revision History
to Rolf Ahrenberg). to Rolf Ahrenberg).
- Removed DeleteEvent() from the EPG handler interface (turned out not to be useful) - Removed DeleteEvent() from the EPG handler interface (turned out not to be useful)
and replaced it with HandledExternally() (thanks to Jörg Wendel). and replaced it with HandledExternally() (thanks to Jörg Wendel).
- Added SetComponents() to the EPG handler interface (thanks to Dirk Heiser).

4
eit.c
View File

@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>. * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
* *
* $Id: eit.c 2.19 2012/06/04 10:10:11 kls Exp $ * $Id: eit.c 2.20 2012/06/04 10:26:10 kls Exp $
*/ */
#include "eit.h" #include "eit.h"
@ -285,7 +285,7 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
delete ExtendedEventDescriptors; delete ExtendedEventDescriptors;
delete ShortEventDescriptor; delete ShortEventDescriptor;
pEvent->SetComponents(Components); EpgHandlers.SetComponents(pEvent, Components);
EpgHandlers.FixEpgBugs(pEvent); EpgHandlers.FixEpgBugs(pEvent);
if (LinkChannels) if (LinkChannels)

11
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by * Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* *
* $Id: epg.c 2.16 2012/06/04 10:06:22 kls Exp $ * $Id: epg.c 2.17 2012/06/04 10:26:10 kls Exp $
*/ */
#include "epg.h" #include "epg.h"
@ -1421,6 +1421,15 @@ void cEpgHandlers::SetVps(cEvent *Event, time_t Vps)
Event->SetVps(Vps); Event->SetVps(Vps);
} }
void cEpgHandlers::SetComponents(cEvent *Event, cComponents *Components)
{
for (cEpgHandler *eh = First(); eh; eh = Next(eh)) {
if (eh->SetComponents(Event, Components))
return;
}
Event->SetComponents(Components);
}
void cEpgHandlers::FixEpgBugs(cEvent *Event) void cEpgHandlers::FixEpgBugs(cEvent *Event)
{ {
for (cEpgHandler *eh = First(); eh; eh = Next(eh)) { for (cEpgHandler *eh = First(); eh; eh = Next(eh)) {

4
epg.h
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by * Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* *
* $Id: epg.h 2.12 2012/06/04 10:05:21 kls Exp $ * $Id: epg.h 2.13 2012/06/04 10:26:10 kls Exp $
*/ */
#ifndef __EPG_H #ifndef __EPG_H
@ -259,6 +259,7 @@ public:
virtual bool SetStartTime(cEvent *Event, time_t StartTime) { return false; } virtual bool SetStartTime(cEvent *Event, time_t StartTime) { return false; }
virtual bool SetDuration(cEvent *Event, int Duration) { return false; } virtual bool SetDuration(cEvent *Event, int Duration) { return false; }
virtual bool SetVps(cEvent *Event, time_t Vps) { return false; } virtual bool SetVps(cEvent *Event, time_t Vps) { return false; }
virtual bool SetComponents(cEvent *Event, cComponents *Components) { return false; }
virtual bool FixEpgBugs(cEvent *Event) { return false; } virtual bool FixEpgBugs(cEvent *Event) { return false; }
///< Fixes some known problems with EPG data. ///< Fixes some known problems with EPG data.
virtual bool HandleEvent(cEvent *Event) { return false; } virtual bool HandleEvent(cEvent *Event) { return false; }
@ -285,6 +286,7 @@ public:
void SetStartTime(cEvent *Event, time_t StartTime); void SetStartTime(cEvent *Event, time_t StartTime);
void SetDuration(cEvent *Event, int Duration); void SetDuration(cEvent *Event, int Duration);
void SetVps(cEvent *Event, time_t Vps); void SetVps(cEvent *Event, time_t Vps);
void SetComponents(cEvent *Event, cComponents *Components);
void FixEpgBugs(cEvent *Event); void FixEpgBugs(cEvent *Event);
void HandleEvent(cEvent *Event); void HandleEvent(cEvent *Event);
void SortSchedule(cSchedule *Schedule); void SortSchedule(cSchedule *Schedule);