vdr 2.6.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 StopDecrypting (void)
 
void CancelActivation (void)
 
bool IsActivating (void)
 
bool Devices (cVector< int > &DeviceNumbers)
 
void UnAssignAll (void)
 
 cMtdHandler (void)
 
 ~cMtdHandler ()
 
cMtdCamSlotGetMtdCamSlot (cCamSlot *MasterSlot)
 
int Put (const uchar *Data, int Count)
 
int Priority (void)
 
bool IsDecrypting (void)
 
void StartDecrypting (void)
 
void StopDecrypting (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 include/vdr/mtd.h.

Constructor & Destructor Documentation

◆ cMtdHandler() [1/2]

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() [1/2]

cMtdHandler::~cMtdHandler ( )

Definition at line 38 of file mtd.c.

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

◆ cMtdHandler() [2/2]

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.

◆ ~cMtdHandler() [2/2]

cMtdHandler::~cMtdHandler ( )

Member Function Documentation

◆ CancelActivation() [1/2]

void cMtdHandler::CancelActivation ( void  )

Tells all active MTD CAM slots to cancel activation.

Definition at line 123 of file mtd.c.

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

Referenced by cCamSlot::CancelActivation(), and CancelActivation().

◆ CancelActivation() [2/2]

void cMtdHandler::CancelActivation ( void  )

Tells all active MTD CAM slots to cancel activation.

◆ Devices() [1/2]

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 138 of file mtd.c.

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

Referenced by cCamSlot::Devices(), and Devices().

◆ Devices() [2/2]

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.

◆ GetMtdCamSlot() [1/2]

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, cVector< T >::Size(), and cCamSlot::SlotNumber().

Referenced by cCamSlot::MtdSpawn().

◆ GetMtdCamSlot() [2/2]

cMtdCamSlot * cMtdHandler::GetMtdCamSlot ( cCamSlot MasterSlot)

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

◆ IsActivating() [1/2]

bool cMtdHandler::IsActivating ( void  )

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

Definition at line 129 of file mtd.c.

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

Referenced by cCamSlot::IsActivating(), and IsActivating().

◆ IsActivating() [2/2]

bool cMtdHandler::IsActivating ( void  )

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

◆ IsDecrypting() [1/2]

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, IsDecrypting(), and cVector< T >::Size().

Referenced by cCamSlot::IsDecrypting(), and IsDecrypting().

◆ IsDecrypting() [2/2]

bool cMtdHandler::IsDecrypting ( void  )

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

◆ Priority() [1/2]

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(), Priority(), and cVector< T >::Size().

Referenced by cCamSlot::Priority(), and Priority().

◆ Priority() [2/2]

int cMtdHandler::Priority ( void  )

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

◆ Put() [1/2]

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().

◆ Put() [2/2]

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.

◆ StartDecrypting() [1/2]

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().

◆ StartDecrypting() [2/2]

void cMtdHandler::StartDecrypting ( void  )

Tells all active MTD CAM slots to start decrypting.

◆ StopDecrypting() [1/2]

void cMtdHandler::StopDecrypting ( void  )

Tells all active MTD CAM slots to stop decrypting.

Definition at line 115 of file mtd.c.

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

Referenced by cCamSlot::StopDecrypting().

◆ StopDecrypting() [2/2]

void cMtdHandler::StopDecrypting ( void  )

Tells all active MTD CAM slots to stop decrypting.

◆ UnAssignAll() [1/2]

void cMtdHandler::UnAssignAll ( void  )

Unassigns all MTD CAM slots from their devices.

Definition at line 145 of file mtd.c.

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

Referenced by cCamSlot::Process().

◆ UnAssignAll() [2/2]

void cMtdHandler::UnAssignAll ( void  )

Unassigns all MTD CAM slots from their devices.

Member Data Documentation

◆ camSlots

cVector< cMtdCamSlot * > cMtdHandler::camSlots
private

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