Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
DRM::CCryptoSession Class Referenceabstract

#include <CryptoSession.h>

Inheritance diagram for DRM::CCryptoSession:
DRM::CMediaDrmCryptoSession

Public Member Functions

virtual ~CCryptoSession ()
 
virtual XbmcCommons::Buffer GetKeyRequest (const XbmcCommons::Buffer &init, const std::string &mimeType, bool offlineKey, const std::map< std::string, std::string > &parameters)=0
 
virtual std::string GetPropertyString (const std::string &name)=0
 
virtual std::string ProvideKeyResponse (const XbmcCommons::Buffer &response)=0
 
virtual void RemoveKeys ()=0
 
virtual void RestoreKeys (const std::string &keySetId)=0
 
virtual void SetPropertyString (const std::string &name, const std::string &value)=0
 
virtual XbmcCommons::Buffer Decrypt (const XbmcCommons::Buffer &cipherKeyId, const XbmcCommons::Buffer &input, const XbmcCommons::Buffer &iv)=0
 
virtual XbmcCommons::Buffer Encrypt (const XbmcCommons::Buffer &cipherKeyId, const XbmcCommons::Buffer &input, const XbmcCommons::Buffer &iv)=0
 
virtual XbmcCommons::Buffer Sign (const XbmcCommons::Buffer &macKeyId, const XbmcCommons::Buffer &message)=0
 
virtual bool Verify (const XbmcCommons::Buffer &macKeyId, const XbmcCommons::Buffer &message, const XbmcCommons::Buffer &signature)=0
 

Static Public Member Functions

static CCryptoSessionGetCryptoSession (const std::string &UUID, const std::string &cipherAlgo, const std::string &macAlgo)
 

Static Protected Member Functions

static void RegisterInterface (GET_CRYPTO_SESSION_INTERFACE_FN fn)
 

Constructor & Destructor Documentation

◆ ~CCryptoSession()

virtual DRM::CCryptoSession::~CCryptoSession ( )
inlinevirtual

Member Function Documentation

◆ Decrypt()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Decrypt ( const XbmcCommons::Buffer cipherKeyId,
const XbmcCommons::Buffer input,
const XbmcCommons::Buffer iv 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Encrypt()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Encrypt ( const XbmcCommons::Buffer cipherKeyId,
const XbmcCommons::Buffer input,
const XbmcCommons::Buffer iv 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ GetCryptoSession()

CCryptoSession * CCryptoSession::GetCryptoSession ( const std::string &  UUID,
const std::string &  cipherAlgo,
const std::string &  macAlgo 
)
static

◆ GetKeyRequest()

virtual XbmcCommons::Buffer DRM::CCryptoSession::GetKeyRequest ( const XbmcCommons::Buffer init,
const std::string &  mimeType,
bool  offlineKey,
const std::map< std::string, std::string > &  parameters 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ GetPropertyString()

virtual std::string DRM::CCryptoSession::GetPropertyString ( const std::string &  name)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ ProvideKeyResponse()

virtual std::string DRM::CCryptoSession::ProvideKeyResponse ( const XbmcCommons::Buffer response)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ RegisterInterface()

void CCryptoSession::RegisterInterface ( GET_CRYPTO_SESSION_INTERFACE_FN  fn)
staticprotected

◆ RemoveKeys()

virtual void DRM::CCryptoSession::RemoveKeys ( )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ RestoreKeys()

virtual void DRM::CCryptoSession::RestoreKeys ( const std::string &  keySetId)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ SetPropertyString()

virtual void DRM::CCryptoSession::SetPropertyString ( const std::string &  name,
const std::string &  value 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Sign()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Sign ( const XbmcCommons::Buffer macKeyId,
const XbmcCommons::Buffer message 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Verify()

virtual bool DRM::CCryptoSession::Verify ( const XbmcCommons::Buffer macKeyId,
const XbmcCommons::Buffer message,
const XbmcCommons::Buffer signature 
)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.


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