diff options
Diffstat (limited to 'receiver.h')
-rw-r--r-- | receiver.h | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: receiver.h 1.4 2006/05/27 09:04:22 kls Exp $ + * $Id: receiver.h 1.5 2007/01/07 14:40:36 kls Exp $ */ #ifndef __RECEIVER_H @@ -18,7 +18,7 @@ class cReceiver { friend class cDevice; private: cDevice *device; - int ca; + tChannelID channelID; int priority; int pids[MAXRECEIVEPIDS]; int numPids; @@ -38,8 +38,8 @@ protected: ///< will be delivered only ONCE, so the cReceiver must make sure that ///< it will be able to buffer the data if necessary. public: - cReceiver(int Ca, int Priority, int Pid, const int *Pids1 = NULL, const int *Pids2 = NULL, const int *Pids3 = NULL); - ///< Creates a new receiver that requires conditional access Ca and has + cReceiver(tChannelID ChannelID, int Priority, int Pid, const int *Pids1 = NULL, const int *Pids2 = NULL, const int *Pids3 = NULL); + ///< Creates a new receiver for the channel with the given ChannelID with ///< the given Priority. Pid is a single PID (typically the video PID), while ///< Pids1...Pids3 are pointers to zero terminated lists of PIDs. ///< If any of these PIDs are 0, they will be silently ignored. @@ -47,7 +47,18 @@ public: ///< Priority may be any value in the range -99..99. Negative values indicate ///< that this cReceiver may be detached at any time (without blocking the ///< cDevice it is attached to). + ///< The ChannelID is necessary to allow the device that will be used for this + ///< receiver to detect and store whether the channel can be decrypted in case + ///< this is an encrypted channel. If the channel is not encrypted or this + ///< detection is not wanted, an invalid tChannelID may be given. virtual ~cReceiver(); + tChannelID ChannelID(void) { return channelID; } + bool IsAttached(void) { return device != NULL; } + ///< Returns true if this receiver is (still) attached to a device. + ///< A receiver may be automatically detached from its device in + ///< case the device is needed otherwise, so code that uses a cReceiver + ///< should repeatedly check whether it is still attached, and if + ///< it isn't, delete it (or take any other appropriate measures). }; #endif //__RECEIVER_H |