diff options
Diffstat (limited to 'epg.h')
-rw-r--r-- | epg.h | 27 |
1 files changed, 25 insertions, 2 deletions
@@ -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.0 2006/10/07 13:47:19 kls Exp $ + * $Id: epg.h 2.3 2010/01/03 14:39:14 kls Exp $ */ #ifndef __EPG_H @@ -19,6 +19,20 @@ #define MAXEPGBUGFIXLEVEL 3 +#define MAXEVCONTENTS 4 +#define EVCONTENTMASK_MOVIEDRAMA 0x10 +#define EVCONTENTMASK_NEWSCURRENTAFFAIRS 0x20 +#define EVCONTENTMASK_SHOW 0x30 +#define EVCONTENTMASK_SPORTS 0x40 +#define EVCONTENTMASK_CHILDRENYOUTH 0x50 +#define EVCONTENTMASK_MUSICBALLETDANCE 0x60 +#define EVCONTENTMASK_ARTSCULTURE 0x70 +#define EVCONTENTMASK_SOCIALPOLITICALECONOMICS 0x80 +#define EVCONTENTMASK_EDUCATIONALSCIENCE 0x90 +#define EVCONTENTMASK_LEISUREHOBBIES 0xA0 +#define EVCONTENTMASK_SPECIAL 0xB0 +#define EVCONTENTMASK_USERDEFINED 0xF0 + enum eDumpMode { dmAll, dmPresent, dmFollowing, dmAtTime }; struct tComponent { @@ -53,15 +67,18 @@ typedef u_int32_t tEventID; class cEvent : public cListObject { friend class cSchedule; private: + // The sequence of these parameters is optimized for minimal memory waste! cSchedule *schedule; // The Schedule this event belongs to tEventID eventID; // Event ID of this event uchar tableID; // Table ID this event came from uchar version; // Version number of section this event came from - int runningStatus; // 0=undefined, 1=not running, 2=starts in a few seconds, 3=pausing, 4=running + uchar runningStatus; // 0=undefined, 1=not running, 2=starts in a few seconds, 3=pausing, 4=running + uchar parentalRating; // Parental rating of this event char *title; // Title of this event char *shortText; // Short description of this event (typically the episode name in case of a series) char *description; // Description of this event cComponents *components; // The stream components of this event + uchar contents[MAXEVCONTENTS]; // Contents of this event time_t startTime; // Start time of this event int duration; // Duration of this event in seconds time_t vps; // Video Programming Service timestamp (VPS, aka "Programme Identification Label", PIL) @@ -80,6 +97,8 @@ public: const char *ShortText(void) const { return shortText; } const char *Description(void) const { return description; } const cComponents *Components(void) const { return components; } + uchar Contents(int i = 0) const { return (0 <= i && i < MAXEVCONTENTS) ? contents[i] : 0; } + int ParentalRating(void) const { return parentalRating; } time_t StartTime(void) const { return startTime; } time_t EndTime(void) const { return startTime + duration; } int Duration(void) const { return duration; } @@ -88,6 +107,8 @@ public: bool SeenWithin(int Seconds) const { return time(NULL) - seen < Seconds; } bool HasTimer(void) const; bool IsRunning(bool OrAboutToStart = false) const; + static const char *ContentToString(uchar Content); + cString GetParentalRatingString(void) const; cString GetDateString(void) const; cString GetTimeString(void) const; cString GetEndTimeString(void) const; @@ -100,6 +121,8 @@ public: void SetShortText(const char *ShortText); void SetDescription(const char *Description); void SetComponents(cComponents *Components); // Will take ownership of Components! + void SetContents(uchar *Contents); + void SetParentalRating(int ParentalRating); void SetStartTime(time_t StartTime); void SetDuration(int Duration); void SetVps(time_t Vps); |