vdr
2.0.6
|
#include <ci.h>
Public Member Functions | |
cCiAdapter (void) | |
virtual | ~cCiAdapter () |
virtual bool | Ready (void) |
virtual bool | SetIdle (bool Idle, bool TestOnly) |
virtual bool | IsIdle (void) const |
![]() | |
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 | |
virtual void | Action (void) |
virtual int | Read (uint8_t *Buffer, int MaxLength)=0 |
virtual void | Write (const uint8_t *Buffer, int Length)=0 |
virtual bool | Reset (int Slot)=0 |
virtual eModuleStatus | ModuleStatus (int Slot)=0 |
virtual bool | Assign (cDevice *Device, bool Query=false)=0 |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Private Member Functions | |
void | AddCamSlot (cCamSlot *CamSlot) |
Private Attributes | |
cDevice * | assignedDevice |
cCamSlot * | camSlots [MAX_CAM_SLOTS_PER_ADAPTER] |
Friends | |
class | cCamSlot |
Additional Inherited Members | |
![]() | |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
cCiAdapter::cCiAdapter | ( | void | ) |
Definition at line 1493 of file ci.c.
References assignedDevice, camSlots, and MAX_CAM_SLOTS_PER_ADAPTER.
|
virtual |
The derived class must call Cancel(3) in its destructor.
Definition at line 1501 of file ci.c.
References camSlots, cThread::Cancel(), and MAX_CAM_SLOTS_PER_ADAPTER.
|
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 1531 of file ci.c.
References cTPDU::Buffer(), camSlots, cTPDU::Dump(), MAX_CAM_SLOTS_PER_ADAPTER, cTPDU::MaxSize(), cCamSlot::Process(), Read(), cThread::Running(), cTPDU::SetSize(), cTPDU::Slot(), and cCamSlot::SlotNumber().
|
private |
Adds the given CamSlot to this CI adapter.
Definition at line 1508 of file ci.c.
References camSlots, esyslog, MAX_CAM_SLOTS_PER_ADAPTER, and cCamSlot::slotIndex.
Referenced by cCamSlot::cCamSlot().
|
protectedpure virtual |
Assigns this adapter to the given Device, if this is possible.
If Query is 'true', the adapter only checks whether it can be assigned to the Device, but doesn't actually assign itself to it. Returns true if the adapter can be assigned to the Device. If Device is NULL, the adapter will be unassigned from any device it was previously assigned to. The value of Query is ignored in that case, and this function always returns 'true'.
Implemented in cDvbCiAdapter.
Referenced by cCamSlot::Assign().
|
inlinevirtual |
Reimplemented in cDvbCiAdapter.
Definition at line 119 of file ci.h.
Referenced by cDvbDevice::ProvidesEIT().
|
protectedpure virtual |
Returns the status of the CAM in the given Slot.
Implemented in cDvbCiAdapter.
Referenced by cCamSlot::ModuleStatus().
|
protectedpure virtual |
Reads one chunk of data into the given Buffer, up to MaxLength bytes.
If no data is available immediately, wait for up to CAM_READ_TIMEOUT. Returns the number of bytes read (in case of an error it will also return 0).
Implemented in cDvbCiAdapter.
Referenced by Action().
|
virtual |
Returns 'true' if all present CAMs in this adapter are ready.
Definition at line 1522 of file ci.c.
References camSlots, and MAX_CAM_SLOTS_PER_ADAPTER.
Referenced by cDvbDevice::Ready().
|
protectedpure virtual |
Resets the CAM in the given Slot.
Returns true if the operation was successful.
Implemented in cDvbCiAdapter.
Referenced by cCamSlot::Reset().
|
inlinevirtual |
Reimplemented in cDvbCiAdapter.
Definition at line 118 of file ci.h.
Referenced by cDvbDevice::SetIdleDevice().
|
protectedpure virtual |
Writes Length bytes of the given Buffer.
Implemented in cDvbCiAdapter.
Referenced by cCamSlot::Write().
|
friend |
Definition at line 80 of file ci.h.
Referenced by cDvbCiAdapter::cDvbCiAdapter().
|
private |
Definition at line 82 of file ci.h.
Referenced by cCamSlot::Assign(), cCiAdapter(), cCamSlot::Device(), and cCamSlot::~cCamSlot().
|
private |
Definition at line 83 of file ci.h.
Referenced by Action(), AddCamSlot(), cCiAdapter(), Ready(), and ~cCiAdapter().