vdr  2.4.1
Public Member Functions | Private Attributes | List of all members
cMtdHandler Class Reference

#include <mtd.h>

Public Member Functions

 cMtdHandler (void)
 
 ~cMtdHandler ()
 
cMtdCamSlotGetMtdCamSlot (cCamSlot *MasterSlot)
 
int Put (const uchar *Data, int Count)
 
int Priority (void)
 
bool IsDecrypting (void)
 
void StartDecrypting (void)
 
void CancelActivation (void)
 
bool IsActivating (void)
 
bool Devices (cVector< int > &DeviceNumbers)
 
void UnAssignAll (void)
 

Private Attributes

cVector< cMtdCamSlot * > camSlots
 

Detailed Description

Definition at line 111 of file mtd.h.

Constructor & Destructor Documentation

◆ cMtdHandler()

cMtdHandler::cMtdHandler ( void  )

Creates a new MTD handler that distributes TS data received through calls to the Put() function to the individual CAM slots that have been created via GetMtdCamSlot().

It also distributes several function calls from the physical master CAM slot to the individual MTD CAM slots.

Definition at line 34 of file mtd.c.

◆ ~cMtdHandler()

cMtdHandler::~cMtdHandler ( )

Definition at line 38 of file mtd.c.

References camSlots, dsyslog, and cVector< T >::Size().

Member Function Documentation

◆ CancelActivation()

void cMtdHandler::CancelActivation ( void  )

Tells all active MTD CAM slots to cancel activation.

Definition at line 115 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::CancelActivation().

◆ Devices()

bool cMtdHandler::Devices ( cVector< int > &  DeviceNumbers)

Adds the numbers of the devices of any active MTD CAM slots to the given DeviceNumbers.

Returns true if the array is not empty.

Definition at line 130 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::Devices().

◆ GetMtdCamSlot()

cMtdCamSlot * cMtdHandler::GetMtdCamSlot ( cCamSlot MasterSlot)

Creates a new MTD CAM slot, or reuses an existing one that is currently unused.

Definition at line 46 of file mtd.c.

References cVector< T >::Append(), camSlots, dsyslog, and cVector< T >::Size().

Referenced by cCamSlot::MtdSpawn().

◆ IsActivating()

bool cMtdHandler::IsActivating ( void  )

Returns true if any of the active MTD CAM slots is currently activating.

Definition at line 121 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::IsActivating().

◆ IsDecrypting()

bool cMtdHandler::IsDecrypting ( void  )

Returns true if any of the active MTD CAM slots is currently decrypting.

Definition at line 96 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::IsDecrypting().

◆ Priority()

int cMtdHandler::Priority ( void  )

Returns the maximum priority of any of the active MTD CAM slots.

Definition at line 88 of file mtd.c.

References camSlots, IDLEPRIORITY, max(), and cVector< T >::Size().

Referenced by cCamSlot::Priority().

◆ Put()

int cMtdHandler::Put ( const uchar Data,
int  Count 
)

Puts at most Count bytes of Data into the CAM slot which's index is derived from the PID of the TS packets.

Data must point to the beginning of a TS packet. Returns the number of bytes actually stored.

Definition at line 60 of file mtd.c.

References camSlots, esyslog, cVector< T >::Size(), TS_SIZE, TS_SYNC, TsPid(), and UNIQ_PID_SHIFT.

Referenced by cCamSlot::MtdPutData().

◆ StartDecrypting()

void cMtdHandler::StartDecrypting ( void  )

Tells all active MTD CAM slots to start decrypting.

Definition at line 105 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::Process().

◆ UnAssignAll()

void cMtdHandler::UnAssignAll ( void  )

Unassigns all MTD CAM slots from their devices.

Definition at line 137 of file mtd.c.

References camSlots, and cVector< T >::Size().

Referenced by cCamSlot::Process().

Member Data Documentation

◆ camSlots

cVector<cMtdCamSlot *> cMtdHandler::camSlots
private

The documentation for this class was generated from the following files: