Package com.castlabs.android.drm

# Enum SecurityLevel

java.lang.Object
java.lang.Enum<SecurityLevel>
com.castlabs.android.drm.SecurityLevel

All Implemented Interfaces:
  `Serializable`, `Comparable<SecurityLevel>`

public enum SecurityLevel extends Enum<SecurityLevel>
DRM Security level definitions

Since:
  2.4.0

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ROOT_OF_TRUST`
  Equals to L2 in Widevine.
  `SECURE_MEDIA_PATH`
  Equals to L1 in Widevine.
  `SOFTWARE`
  Equals to L3 in Widevine.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static SecurityLevel`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static SecurityLevel[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### SECURE_MEDIA_PATH

    public static final SecurityLevel SECURE_MEDIA_PATH
    Equals to L1 in Widevine. The Hardware must provide a secure Bootloader, a secure trust zone, and the key shall never be exposed in clear. The samples are provided encrypted to the rendering core and never exposed in clear.

  - ### ROOT_OF_TRUST

    public static final SecurityLevel ROOT_OF_TRUST
    Equals to L2 in Widevine. The Hardware must provide a secure trust zone, and the key shall never be exposed in clear. A custom Android Bootloader could be provided by the Hardware manufacturer if the required security is met. The samples are provided encrypted to the rendering core and never exposed in clear.

  - ### SOFTWARE

    public static final SecurityLevel SOFTWARE
    Equals to L3 in Widevine. The key may be exposed in clear on the CPU, the Hardware does not need to protect the content. The Decryption happens in software, and the samples are passed to the rendering core in clear.

- ## Method Details

  - ### values

    public static SecurityLevel[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static SecurityLevel valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null