Merge "Add new secure stop methods"
This commit is contained in:
commit
76a434e67d
2 changed files with 61 additions and 0 deletions
|
@ -23,6 +23,8 @@ import @1.0::Status;
|
|||
import @1.1::DrmMetricGroup;
|
||||
import @1.1::HdcpLevel;
|
||||
import @1.1::KeyRequestType;
|
||||
import @1.0::SecureStopId;
|
||||
import @1.1::SecureStopRelease;
|
||||
import @1.1::SecurityLevel;
|
||||
|
||||
/**
|
||||
|
@ -176,4 +178,56 @@ interface IDrmPlugin extends @1.0::IDrmPlugin {
|
|||
* plugin.
|
||||
*/
|
||||
getMetrics() generates (Status status, vec<DrmMetricGroup> metric_groups);
|
||||
|
||||
/**
|
||||
* Get the IDs of all secure stops on the device
|
||||
*
|
||||
* @return status the status of the call. The status must be OK or
|
||||
* ERROR_DRM_INVALID_STATE if the HAL is in a state where the secure stop
|
||||
* IDs cannot be returned.
|
||||
* @return secureStopIds a list of the IDs
|
||||
*/
|
||||
getSecureStopIds() generates
|
||||
(Status status, vec<SecureStopId> secureStopIds);
|
||||
|
||||
/**
|
||||
* Release secure stops given a release message from the key server
|
||||
*
|
||||
* @param ssRelease the secure stop release message identifying one or more
|
||||
* secure stops to release. ssRelease is opaque, it is passed directly from
|
||||
* a DRM license server through the app and media framework to the vendor
|
||||
* HAL module. The format and content of ssRelease must be defined by the
|
||||
* DRM scheme being implemented according to this HAL. The DRM scheme
|
||||
* can be identified by its UUID which can be queried using
|
||||
* IDrmFactory::isCryptoSchemeSupported.
|
||||
*
|
||||
* @return status the status of the call. The status must be OK or one of
|
||||
* the following errors: BAD_VALUE if ssRelease is invalid or
|
||||
* ERROR_DRM_INVALID_STATE if the HAL is in a state where the secure stop
|
||||
* cannot be released.
|
||||
*/
|
||||
releaseSecureStops(SecureStopRelease ssRelease) generates (Status status);
|
||||
|
||||
/**
|
||||
* Remove a secure stop given its secure stop ID, without requiring
|
||||
* a secure stop release response message from the key server.
|
||||
*
|
||||
* @param secureStopId the ID of the secure stop to release.
|
||||
*
|
||||
* @return status the status of the call. The status must be OK or one of
|
||||
* the following errors: BAD_VALUE if the secureStopId is invalid or
|
||||
* ERROR_DRM_INVALID_STATE if the HAL is in a state where the secure stop
|
||||
* cannot be released.
|
||||
*/
|
||||
removeSecureStop(SecureStopId secureStopId) generates (Status status);
|
||||
|
||||
/**
|
||||
* Remove all secure stops on the device without requiring a secure
|
||||
* stop release response message from the key server.
|
||||
*
|
||||
* @return status the status of the call. The status must be OK or
|
||||
* ERROR_DRM_INVALID_STATE if the HAL is in a state where the secure
|
||||
* stops cannot be removed.
|
||||
*/
|
||||
removeAllSecureStops() generates (Status status);
|
||||
};
|
||||
|
|
|
@ -210,3 +210,10 @@ enum SecurityLevel : uint32_t {
|
|||
HW_SECURE_ALL,
|
||||
};
|
||||
|
||||
/**
|
||||
* Encapsulates a secure stop release opaque object
|
||||
*/
|
||||
struct SecureStopRelease {
|
||||
vec<uint8_t> opaqueData;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue