diff options
Diffstat (limited to 'eit.h')
-rw-r--r-- | eit.h | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -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.25 2003/04/12 10:59:26 kls Exp $ + * $Id: eit.h 1.28 2003/04/21 13:22:06 kls Exp $ ***************************************************************************/ #ifndef __EIT_H @@ -135,14 +135,13 @@ typedef struct sip_filter { }SIP_FILTER; class cCaDescriptor; -class cCaDescriptors; class cSIProcessor : public cThread { private: static int numSIProcessors; static cSchedules *schedules; static cMutex schedulesMutex; - static cCaDescriptors *caDescriptors; + static cList<cCaDescriptor> caDescriptors; static cMutex caDescriptorsMutex; static const char *epgDataFileName; static time_t lastDump; @@ -155,10 +154,10 @@ private: char *fileName; bool active; void Action(void); - bool AddFilter(unsigned short pid, u_char tid); + bool AddFilter(unsigned short pid, u_char tid, u_char mask = 0xFF); bool DelFilter(unsigned short pid, u_char tid); bool ShutDownFilters(void); - void NewCaDescriptor(struct Descriptor *d, int ProgramID); + void NewCaDescriptor(struct Descriptor *d, int ServiceId); public: cSIProcessor(const char *FileName); ~cSIProcessor(); @@ -168,10 +167,11 @@ public: // Caller must provide a cMutexLock which has to survive the entire // time the returned cSchedules is accessed. Once the cSchedules is no // longer used, the cMutexLock must be destroyed. - static int GetCaDescriptors(int Source, int Transponder, int ServiceId, int BufSize, uchar *Data); + static int GetCaDescriptors(int Source, int Transponder, int ServiceId, const unsigned short *CaSystemIds, int BufSize, uchar *Data); ///< Gets all CA descriptors for a given channel. ///< Copies all available CA descriptors for the given Source, Transponder and ServiceId - ///< into the provided buffer at Data (at most BufSize bytes). + ///< into the provided buffer at Data (at most BufSize bytes). Only those CA descriptors + ///< are copied that match one of the given CA system IDs. ///< \return Returns the number of bytes copied into Data (0 if no CA descriptors are ///< available), or -1 if BufSize was too small to hold all CA descriptors. static bool Read(FILE *f = NULL); |