summaryrefslogtreecommitdiff
path: root/filter.h
blob: 7c14805da022a57c3525ba07f4a703073e30381b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef _PVRINPUT_FILTER_H_
#define _PVRINPUT_FILTER_H_

class cPvrSectionFilter : public cListObject {
  friend class cPvrSectionHandler;
private:
  cFilterData      filterData;
  int              handle[2]; // first handle will be returned by OpenFilter

public:
  cPvrSectionFilter(u_short Pid, u_char Tid, u_char Mask);
  ~cPvrSectionFilter(void);

  void Close(void);
  int  GetHandle() const;
};

class cPvrSectionHandler {
private:
  cList<cPvrSectionFilter>  filters;

public:
  cPvrSectionHandler();
  ~cPvrSectionHandler();

  int   AddFilter(u_short Pid, u_char Tid, u_char Mask);
  void  RemoveFilter(int Handle);
  void  ProcessTSPacket(const u_char *Data);
};

#endif