summaryrefslogtreecommitdiff
path: root/eit.h
diff options
context:
space:
mode:
Diffstat (limited to 'eit.h')
-rw-r--r--eit.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/eit.h b/eit.h
index e956b01..3773334 100644
--- a/eit.h
+++ b/eit.h
@@ -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);