summaryrefslogtreecommitdiff
path: root/epg.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-08-23 10:54:49 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2013-08-23 10:54:49 +0200
commitf0537ea0f1102fa4961ff7d592238c70da8c8240 (patch)
treeb4efe093c2fbbe7f246072d0533e06d888690583 /epg.h
parent94922310584409a159ab317f284a0d4cb399a814 (diff)
downloadvdr-f0537ea0f1102fa4961ff7d592238c70da8c8240.tar.gz
vdr-f0537ea0f1102fa4961ff7d592238c70da8c8240.tar.bz2
Added Begin/EndSegmentTransfer() to the EPG handler interface
Diffstat (limited to 'epg.h')
-rw-r--r--epg.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/epg.h b/epg.h
index 3a7df772..65fbcbf9 100644
--- a/epg.h
+++ b/epg.h
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.h 2.15 2012/09/24 12:53:53 kls Exp $
+ * $Id: epg.h 3.1 2013/08/23 10:50:05 kls Exp $
*/
#ifndef __EPG_H
@@ -273,6 +273,12 @@ public:
virtual bool DropOutdated(cSchedule *Schedule, time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version) { return false; }
///< Takes a look at all EPG events between SegmentStart and SegmentEnd and
///< drops outdated events.
+ virtual bool BeginSegmentTransfer(const cChannel *Channel, bool OnlyRunningStatus) { return false; }
+ ///< Called directly after IgnoreChannel() before any other handler method is called.
+ ///< Designed to give handlers the possibility to prepare a database transaction.
+ virtual bool EndSegmentTransfer(bool Modified, bool OnlyRunningStatus) { return false; }
+ ///< Called after the segment data has been processed.
+ ///< At this point handlers should close/commit/rollback any pending database transactions.
};
class cEpgHandlers : public cList<cEpgHandler> {
@@ -295,6 +301,8 @@ public:
void HandleEvent(cEvent *Event);
void SortSchedule(cSchedule *Schedule);
void DropOutdated(cSchedule *Schedule, time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version);
+ void BeginSegmentTransfer(const cChannel *Channel, bool OnlyRunningStatus);
+ void EndSegmentTransfer(bool Modified, bool OnlyRunningStatus);
};
extern cEpgHandlers EpgHandlers;