vdr  2.4.1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
cCiAdapter Class Reference

#include <ci.h>

Public Member Functions

 cCiAdapter (void)
 
virtual ~cCiAdapter ()
 
- Public Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
virtual ~cThread ()
 
void SetDescription (const char *Description,...) __attribute__((format(printf
 
void bool Start (void)
 
bool Active (void)
 

Protected Member Functions

cCamSlotItCamSlot (int &Iter)
 
virtual void Action (void)
 
- Protected Member Functions inherited from cThread
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
void Cancel (int WaitSeconds=0)
 

Private Member Functions

void AddCamSlot (cCamSlot *CamSlot)
 

Private Attributes

cCamSlotcamSlots [MAX_CAM_SLOTS_PER_ADAPTER]
 

Friends

class cCamSlot
 

Additional Inherited Members

- Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
 
static tThreadId IsMainThread (void)
 
static void SetMainThreadId (void)
 

Detailed Description

Definition at line 172 of file ci.h.

Constructor & Destructor Documentation

◆ cCiAdapter()

cCiAdapter::cCiAdapter ( void  )

Definition at line 2089 of file ci.c.

References camSlots, and MAX_CAM_SLOTS_PER_ADAPTER.

◆ ~cCiAdapter()

cCiAdapter::~cCiAdapter ( )
virtual

The derived class must call Cancel(3) in its destructor.

Definition at line 2096 of file ci.c.

References camSlots, cThread::Cancel(), and MAX_CAM_SLOTS_PER_ADAPTER.

Member Function Documentation

◆ Action()

void cCiAdapter::Action ( void  )
protectedvirtual

Handles the attached CAM slots in a separate thread.

The derived class must call the Start() function to actually start CAM handling.

Implements cThread.

Definition at line 2128 of file ci.c.

References cTPDU::Buffer(), camSlots, cTPDU::Dump(), MAX_CAM_SLOTS_PER_ADAPTER, cTPDU::MaxSize(), cCamSlot::Process(), cTPDU::SetSize(), and cTPDU::Slot().

◆ AddCamSlot()

void cCiAdapter::AddCamSlot ( cCamSlot CamSlot)
private

Adds the given CamSlot to this CI adapter.

Definition at line 2103 of file ci.c.

References camSlots, esyslog, MAX_CAM_SLOTS_PER_ADAPTER, and cCamSlot::slotIndex.

Referenced by cCamSlot::cCamSlot().

◆ ItCamSlot()

cCamSlot * cCiAdapter::ItCamSlot ( int &  Iter)
protected

Iterates over all added CAM slots of this adapter.

Iter has to be initialized to 0 and is required to store the iteration state. Returns NULL if no further CAM slot is found.

Definition at line 2117 of file ci.c.

References camSlots, and MAX_CAM_SLOTS_PER_ADAPTER.

Friends And Related Function Documentation

◆ cCamSlot

friend class cCamSlot
friend

Definition at line 173 of file ci.h.

Referenced by cDvbCiAdapter::cDvbCiAdapter().

Member Data Documentation

◆ camSlots

cCamSlot* cCiAdapter::camSlots[MAX_CAM_SLOTS_PER_ADAPTER]
private

Definition at line 175 of file ci.h.

Referenced by Action(), AddCamSlot(), cCiAdapter(), ItCamSlot(), and ~cCiAdapter().


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