First step towards a 'unique channel ID'

This commit is contained in:
Klaus Schmidinger
2002-11-10 15:50:21 +01:00
parent c67fe26e66
commit 9fee2b67ab
18 changed files with 394 additions and 228 deletions

31
eit.h
View File

@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: eit.h 1.20 2002/11/02 12:36:36 kls Exp $
* $Id: eit.h 1.21 2002/11/10 12:58:27 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@@ -32,7 +32,7 @@ class cEventInfo : public cListObject {
friend class cEIT;
private:
unsigned char uTableID; // Table ID this event came from
unsigned short uServiceID; // Service ID of program for that event
uint64 uChannelID; // Channel ID of program for that event
bool bIsFollowing; // true if this is the next event on this channel
bool bIsPresent; // true if this is the present event running
char *pExtendedDescription; // Extended description of this event
@@ -47,13 +47,13 @@ protected:
void SetFollowing(bool foll);
void SetPresent(bool pres);
void SetTitle(const char *string);
void SetServiceID(unsigned short servid);
void SetChannelID(uint64 channelid);
void SetEventID(unsigned short evid);
void SetDuration(long l);
void SetTime(time_t t);
void SetExtendedDescription(const char *string);
void SetSubtitle(const char *string);
cEventInfo(unsigned short serviceid, unsigned short eventid);
cEventInfo(uint64 channelid, unsigned short eventid);
public:
~cEventInfo();
const unsigned char GetTableID(void) const;
@@ -68,7 +68,7 @@ public:
unsigned short GetEventID(void) const;
long GetDuration(void) const;
time_t GetTime(void) const;
unsigned short GetServiceID(void) const;
uint64 GetChannelID(void) const;
int GetChannelNumber(void) const { return nChannelNumber; }
void SetChannelNumber(int ChannelNumber) const { ((cEventInfo *)this)->nChannelNumber = ChannelNumber; } // doesn't modify the EIT data, so it's ok to make it 'const'
void Dump(FILE *f, const char *Prefix = "") const;
@@ -82,21 +82,21 @@ class cSchedule : public cListObject {
private:
cEventInfo *pPresent;
cEventInfo *pFollowing;
unsigned short uServiceID;
uint64 uChannelID;
cList<cEventInfo> Events;
protected:
void SetServiceID(unsigned short servid);
void SetChannelID(uint64 channelid);
bool SetFollowingEvent(cEventInfo *pEvent);
bool SetPresentEvent(cEventInfo *pEvent);
void Cleanup(time_t tTime);
void Cleanup(void);
cSchedule(unsigned short servid = 0);
cSchedule(uint64 channelid = 0);
public:
~cSchedule();
cEventInfo *AddEvent(cEventInfo *EventInfo);
const cEventInfo *GetPresentEvent(void) const;
const cEventInfo *GetFollowingEvent(void) const;
unsigned short GetServiceID(void) const;
uint64 GetChannelID(void) const;
const cEventInfo *GetEvent(unsigned short uEventID, time_t tTime = 0) const;
const cEventInfo *GetEventAround(time_t tTime) const;
const cEventInfo *GetEventNumber(int n) const { return Events.Get(n); }
@@ -110,15 +110,15 @@ class cSchedules : public cList<cSchedule> {
friend class cSIProcessor;
private:
const cSchedule *pCurrentSchedule;
unsigned short uCurrentServiceID;
uint64 uCurrentChannelID;
protected:
const cSchedule *AddServiceID(unsigned short servid);
const cSchedule *SetCurrentServiceID(unsigned short servid);
const cSchedule *AddChannelID(uint64 channelid);
const cSchedule *SetCurrentChannelID(uint64 channelid);
void Cleanup();
public:
cSchedules(void);
~cSchedules();
const cSchedule *GetSchedule(unsigned short servid) const;
const cSchedule *GetSchedule(uint64 channelid) const;
const cSchedule *GetSchedule(void) const;
void Dump(FILE *f, const char *Prefix = "") const;
static bool Read(FILE *f);
@@ -141,6 +141,7 @@ private:
static const char *epgDataFileName;
static time_t lastDump;
bool masterSIProcessor;
int currentSource;
int currentTransponder;
SIP_FILTER *filters;
char *fileName;
@@ -160,8 +161,8 @@ public:
static bool Read(FILE *f = NULL);
static void Clear(void);
void SetStatus(bool On);
void SetCurrentTransponder(int CurrentTransponder);
static bool SetCurrentServiceID(unsigned short servid);
void SetCurrentTransponder(int CurrentSource, int CurrentTransponder);
static bool SetCurrentChannelID(uint64 channelid);
static void TriggerDump(void);
};