Go to the documentation of this file.
124 int Put(
const uchar *Data,
int Count);
147 #define MTD_DONT_CALL(v) dsyslog("PROGRAMMING ERROR (%s,%d): DON'T CALL %s", __FILE__, __LINE__, __FUNCTION__); return v;
170 virtual bool ProvidesCa(
const int *CaSystemIds);
virtual bool RepliesToQuery(void)
Returns true if the CAM in this slot replies to queries and thus supports MCD ("Multi Channel Decrypt...
virtual const int * GetCaSystemIds(void)
void MtdMapPid(uchar *p, cMtdMapper *MtdMapper)
virtual bool Ready(void)
Returns 'true' if the CAM in this slot is ready to decrypt.
cVector< cMtdCamSlot * > camSlots
void StartDecrypting(void)
Tells all active MTD CAM slots to start decrypting.
void CancelActivation(void)
Tells all active MTD CAM slots to cancel activation.
virtual eModuleStatus ModuleStatus(void)
Returns the status of the CAM in this slot.
virtual cCamSlot * Spawn(void)
cMtdHandler(void)
Creates a new MTD handler that distributes TS data received through calls to the Put() function to th...
cRingBufferLinear * mtdBuffer
int PutCat(const uchar *Data, int Count)
virtual uchar * Decrypt(uchar *Data, int &Count)
If this is a CAM slot that can be freely assigned to any device, but will not be directly inserted in...
cMtdCamSlot * GetMtdCamSlot(cCamSlot *MasterSlot)
Creates a new MTD CAM slot, or reuses an existing one that is currently unused.
virtual bool Reset(void)
Resets the CAM in this slot.
virtual void StartDecrypting(void)
Sends all CA_PMT entries to the CAM that have been modified since the last call to this function.
bool IsDecrypting(void)
Returns true if any of the active MTD CAM slots is currently decrypting.
virtual const char * GetCamName(void)
Returns the name of the CAM in this slot, or NULL if there is no ready CAM in this slot.
virtual bool EnterMenu(void)
Requests the CAM in this slot to start its menu.
virtual cCiEnquiry * GetEnquiry(void)
Gets a pending enquiry, or NULL if there is no enquiry.
cCamSlot * MasterSlot(void)
Returns this CAM slot's master slot, or a pointer to itself if it is a master slot.
virtual void StopDecrypting(void)
Clears the list of CA_PMT entries and tells the CAM to stop decrypting.
virtual bool CanDecrypt(const cChannel *Channel, cMtdMapper *MtdMapper=NULL)
Returns true if there is a CAM in this slot that is able to decrypt the given Channel (or at least cl...
virtual bool HasUserIO(void)
Returns true if there is a pending user interaction, which shall be retrieved via GetMenu() or GetEnq...
virtual bool HasMMI(void)
Returns 'true' if the CAM in this slot has an active MMI.
virtual bool ProvidesCa(const int *CaSystemIds)
Returns true if the CAM in this slot provides one of the given CaSystemIds.
cMtdMapper * MtdMapper(void)
virtual cCiMenu * GetMenu(void)
Gets a pending menu, or NULL if there is no menu.
bool IsActivating(void)
Returns true if any of the active MTD CAM slots is currently activating.
int 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 pa...
virtual void SendCaPmt(uint8_t CmdId)
void MtdMapSid(uchar *p, cMtdMapper *MtdMapper)
virtual void InjectEit(int Sid)
Injects a generated EIT with a "present event" for the given Sid into the TS data stream sent to the ...
void UnAssignAll(void)
Unassigns all MTD CAM slots from their devices.
bool Devices(cVector< int > &DeviceNumbers)
Adds the numbers of the devices of any active MTD CAM slots to the given DeviceNumbers.
int PutData(const uchar *Data, int Count)
int Priority(void)
Returns the maximum priority of any of the active MTD CAM slots.