Add usage support query method
[ Merge of http://go/wvgerrit/23522 ] A helper method has been added to CryptoSession to determine whether the TEE supports usage tables, usage table headers+entries or does not provide any support for persistent licenses. In addition * CryptoSession now supports deletion of multiple usage entries rather than a single one. * Typedefs have been added for usage table headers and entries b/34327459 Test: Verified by unit/integration tests on angler. Change-Id: I634d3b7b81ce94d1deccd2a7aaf26b9efde414a8
This commit is contained in:
@@ -141,17 +141,19 @@ class CryptoSession {
|
||||
const std::string& signature);
|
||||
|
||||
// Usage table header and usage entry related methods
|
||||
virtual CdmResponseType GetUsageSupportType(CdmUsageSupportType* type);
|
||||
virtual CdmResponseType CreateUsageTableHeader(
|
||||
std::string* usage_table_header);
|
||||
CdmUsageTableHeader* usage_table_header);
|
||||
virtual CdmResponseType LoadUsageTableHeader(
|
||||
const std::string& usage_table_header);
|
||||
const CdmUsageTableHeader& usage_table_header);
|
||||
virtual CdmResponseType CreateUsageEntry(uint32_t* entry_number);
|
||||
virtual CdmResponseType LoadUsageEntry(uint32_t entry_number,
|
||||
const std::string& usage_entry);
|
||||
virtual CdmResponseType UpdateUsageEntry(std::string* usage_table_header,
|
||||
std::string* usage_entry);
|
||||
virtual CdmResponseType DecrementUsageTableHeaderSize(
|
||||
uint32_t current_usage_table_size, std::string* usage_table_header);
|
||||
const CdmUsageEntry& usage_entry);
|
||||
virtual CdmResponseType UpdateUsageEntry(
|
||||
CdmUsageTableHeader* usage_table_header,
|
||||
CdmUsageEntry* usage_entry);
|
||||
virtual CdmResponseType ShrinkUsageTableHeader(
|
||||
uint32_t new_entry_count, CdmUsageTableHeader* usage_table_header);
|
||||
virtual CdmResponseType MoveUsageEntry(uint32_t new_entry_number);
|
||||
virtual CdmResponseType CopyOldUsageEntry(
|
||||
const std::string& provider_session_token);
|
||||
@@ -212,6 +214,9 @@ class CryptoSession {
|
||||
|
||||
KeyId cached_key_id_;
|
||||
|
||||
bool is_usage_support_type_valid_;
|
||||
CdmUsageSupportType usage_support_type_;
|
||||
|
||||
uint64_t request_id_base_;
|
||||
static uint64_t request_id_index_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user