Package com.castlabs.android.cas

## Class CasConfiguration

- java.lang.Object
- - com.castlabs.android.cas.CasConfiguration

- All Implemented Interfaces:
    `Parcelable`

      public class CasConfiguration
      extends Object
      implements Parcelable

  Basic CAS configuration that can be used to query keys from a widevine proxy.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface android.os.Parcelable

      `Parcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `int` | `ageRestriction` |
    `int` | `casID` | The casID of the headend system, WVCAS is 0x4AD4 by default
    `static Parcelable.Creator<CasConfiguration>` | `CREATOR` |
    `int` | `ecmDelayStart` |
    `String` | `googleProvisionURL` | The Google WVCAS Provision URL
    `byte[]` | `provisioningBytes` | ProvisionBytes is a byte array (String) that is the content identifier.
    `Bundle` | `requestProperties` | Bundle that can be used to put additional request (header) parameters that will be send to the DRM backend during license requests.
    `String` | `url` | The proxy URL

    - ### Fields inherited from interface android.os.Parcelable

      `CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CasConfiguration​(String url, String googleProvisionURL, int casID, int ecmDelayStart, int ageRestriction, byte[] provisioningBytes, Bundle requestProperties)` | Create CAS configuration

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `describeContents()` |
    `void` | `writeToParcel​(Parcel dest, int flags)` |

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### url

          @NonNull
          public final String url

      The proxy URL

    - #### googleProvisionURL

          @NonNull
          public final String googleProvisionURL

      The Google WVCAS Provision URL

    - #### casID

          public final int casID

      The casID of the headend system, WVCAS is 0x4AD4 by default

    - #### ecmDelayStart

          public final int ecmDelayStart

    - #### ageRestriction

          public final int ageRestriction

    - #### provisioningBytes

          @Nullable
          public final byte[] provisioningBytes

      ProvisionBytes is a byte array (String) that is the content identifier. This value has to be match with the value defined in Headend for this content, in order to get the correct content license.

    - #### requestProperties

          @Nullable
          public final Bundle requestProperties

      Bundle that can be used to put additional request (header) parameters that will be send to the DRM backend during license requests.

      Note that all values need to be of type String!

    - #### CREATOR

          public static final Parcelable.Creator<CasConfiguration> CREATOR

  - ### Constructor Detail

    - #### CasConfiguration

          public CasConfiguration​(String url,
                                  String googleProvisionURL,
                                  int casID,
                                  int ecmDelayStart,
                                  int ageRestriction,
                                  byte[] provisioningBytes,
                                  Bundle requestProperties)

      Create CAS configuration
      Parameters:
        `url` - Proxy URL for license request
        `googleProvisionURL` - Google Device Provisioning URL
        `casID` - CAS System ID, default WVCAS_ID 0x4AD4
        `ecmDelayStart` - The delay in ms of starting process ECM data, used to fine tune ECM alignment
        `ageRestriction` - The age defined for the client side to access the content
        `provisioningBytes` - A byte array (String) for CAS system to identity the content, must match with CAS headend configuration
        `requestProperties` - Additional HTTP request header(s) used for CAS license request. Usually used with DRMtoday license request.

  - ### Method Detail

    - #### writeToParcel

          public void writeToParcel​(Parcel dest,
                                    int flags)

      Specified by:
        `writeToParcel` in interface `Parcelable`

    - #### describeContents

          public int describeContents()

      Specified by:
        `describeContents` in interface `Parcelable`