vdr  1.7.31
include/vdr/receiver.h
Go to the documentation of this file.
1 /*
2  * receiver.h: The basic receiver interface
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * $Id: receiver.h 2.9 2012/09/02 09:27:20 kls Exp $
8  */
9 
10 #ifndef __RECEIVER_H
11 #define __RECEIVER_H
12 
13 #include "device.h"
14 
15 #define MAXRECEIVEPIDS 64 // the maximum number of PIDs per receiver
16 
17 class cReceiver {
18  friend class cDevice;
19 private:
22  int priority;
24  int numPids;
25  bool WantsPid(int Pid);
26 protected:
27  void Detach(void);
28  virtual void Activate(bool On) {}
33  virtual void Receive(uchar *Data, int Length) = 0;
40 public:
41  cReceiver(const cChannel *Channel = NULL, int Priority = MINPRIORITY);
50  virtual ~cReceiver();
51  bool AddPid(int Pid);
53  bool AddPids(const int *Pids);
56  bool AddPids(int Pid1, int Pid2, int Pid3 = 0, int Pid4 = 0, int Pid5 = 0, int Pid6 = 0, int Pid7 = 0, int Pid8 = 0, int Pid9 = 0);
58  bool SetPids(const cChannel *Channel);
67  tChannelID ChannelID(void) { return channelID; }
68  bool IsAttached(void) { return device != NULL; }
74  };
75 
76 #endif //__RECEIVER_H