TSDuck v3.38-3675
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::BlockCipherAlertInterface Class Referenceabstract

Interface for classes which need to be notified when an alert is raised on a block cipher. More...

#include <tsBlockCipherAlertInterface.h>

Inheritance diagram for ts::BlockCipherAlertInterface:

Public Types

enum  AlertReason {
  FIRST_ENCRYPTION ,
  FIRST_DECRYPTION ,
  ENCRYPTION_EXCEEDED ,
  DECRYPTION_EXCEEDED
}
 Reason for the alert. More...
 

Public Member Functions

virtual bool handleBlockCipherAlert (BlockCipher &cipher, AlertReason reason)=0
 This hook is invoked when an ECM is available.
 

Detailed Description

Interface for classes which need to be notified when an alert is raised on a block cipher.

Member Enumeration Documentation

◆ AlertReason

Reason for the alert.

Enumerator
FIRST_ENCRYPTION 

First encryption using the current key. Informational only.

FIRST_DECRYPTION 

First decryption using the current key. Informational only.

ENCRYPTION_EXCEEDED 

Too many encryptions for the current key. Normal processing is error.

DECRYPTION_EXCEEDED 

Too many decryptions for the current key. Normal processing is error.

Member Function Documentation

◆ handleBlockCipherAlert()

virtual bool ts::BlockCipherAlertInterface::handleBlockCipherAlert ( BlockCipher cipher,
AlertReason  reason 
)
pure virtual

This hook is invoked when an ECM is available.

It is invoked in the context of an internal thread of the ECMG client object.

Parameters
[in,out]cipherThe block cipher which raised the alert.
[in]reasonThe reason for the alert.
Returns
True when the alert is real and appropriate action shall be taken. False to ignore the alert and proceed normally. Some alerts are informational only and the return value is ignored.

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