diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2015-01-30 13:38:44 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2015-01-30 13:38:44 +0100 |
commit | bf7cc2c04fb0678d57ac47d295ef351c3d54b8c4 (patch) | |
tree | c53b4165e740b12da0403874757fc5b92584f188 /ci.h | |
parent | 7f195606eeacb73b46208e8efdfbe1b7a4dbaaca (diff) | |
download | vdr-bf7cc2c04fb0678d57ac47d295ef351c3d54b8c4.tar.gz vdr-bf7cc2c04fb0678d57ac47d295ef351c3d54b8c4.tar.bz2 |
Added support for smart card activation
Diffstat (limited to 'ci.h')
-rw-r--r-- | ci.h | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.h 3.9 2015/01/15 09:18:09 kls Exp $ + * $Id: ci.h 3.10 2015/01/30 12:24:38 kls Exp $ */ #ifndef __CI_H @@ -123,6 +123,7 @@ class cCiTransportConnection; class cCiSession; class cCiCaProgramData; class cCaPidReceiver; +class cCaActivationReceiver; class cCamSlot : public cListObject { friend class cCiAdapter; @@ -133,6 +134,7 @@ private: cCiAdapter *ciAdapter; cDevice *assignedDevice; cCaPidReceiver *caPidReceiver; + cCaActivationReceiver *caActivationReceiver; int slotIndex; int slotNumber; cCiTransportConnection *tc[MAX_CONNECTIONS_PER_CAM_SLOT + 1]; // connection numbering starts with 1 @@ -182,6 +184,23 @@ public: virtual bool Reset(void); ///< Resets the CAM in this slot. ///< Returns true if the operation was successful. + virtual bool CanActivate(void); + ///< Returns true if there is a CAM in this slot that can be put into + ///< activation mode. + virtual void StartActivation(void); + ///< Puts the CAM in this slot into a mode where an inserted smart card + ///< can be activated. The default action is to make IsActivating() return + ///< true, which causes the device this CAM slot is attached to to never + ///< automatically detach any receivers with negative priority if the + ///< PIDs they want to receive are not decrypted by the CAM. + ///< StartActivation() must be called *after* the CAM slot has been assigned + ///< to a device. The CAM slot will stay in activation mode until the CAM + ///< begins to decrypt, a call to CancelActivation() is made, or the device + ///< is needed for a recording. + virtual void CancelActivation(void); + ///< Cancels a previously started activation (if any). + virtual bool IsActivating(void); + ///< Returns true if this CAM slot is currently activating a smart card. virtual eModuleStatus ModuleStatus(void); ///< Returns the status of the CAM in this slot. virtual const char *GetCamName(void); |