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; 161 virtual const int *GetCaSystemIds(
void);
162 virtual void SendCaPmt(uint8_t CmdId);
169 virtual bool RepliesToQuery(
void);
170 virtual bool ProvidesCa(
const int *CaSystemIds);
173 virtual void StopDecrypting(
void);
174 virtual uchar *Decrypt(
uchar *Data,
int &Count);
175 virtual void InjectEit(
int Sid);
176 int PutData(
const uchar *Data,
int Count);
177 int PutCat(
const uchar *Data,
int Count);
bool Devices(cVector< int > &CardIndexes)
Adds the card indexes of the devices of any active MTD CAM slots to the given CardIndexes.
void MtdMapSid(uchar *p, cMtdMapper *MtdMapper)
virtual eModuleStatus ModuleStatus(void)
Returns the status of the CAM in this slot.
cMtdHandler(void)
Creates a new MTD handler that distributes TS data received through calls to the Put() function to th...
void MtdMapPid(uchar *p, cMtdMapper *MtdMapper)
void CancelActivation(void)
Tells all active MTD CAM slots to cancel activation.
virtual bool Ready(void)
Returns 'true' if the CAM in this slot is ready to decrypt.
virtual bool EnterMenu(void)
Requests the CAM in this slot to start its menu.
cVector< cMtdCamSlot * > camSlots
cRingBufferLinear * mtdBuffer
void StartDecrypting(void)
Tells all active MTD CAM slots to start decrypting.
virtual bool HasUserIO(void)
Returns true if there is a pending user interaction, which shall be retrieved via GetMenu() or GetEnq...
virtual cCamSlot * Spawn(void)
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 bool HasMMI(void)
Returns 'true' if the CAM in this slot has an active MMI.
virtual cCiMenu * GetMenu(void)
Gets a pending menu, or NULL if there is no menu.
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...
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 cCiEnquiry * GetEnquiry(void)
Gets a pending enquiry, or NULL if there is no enquiry.
void UnAssignAll(void)
Unassigns all MTD CAM slots from their devices.
bool IsActivating(void)
Returns true if any of the active MTD CAM slots is currently activating.
cMtdMapper * MtdMapper(void)
int Priority(void)
Returns the maximum priority of any of the active MTD CAM slots.