1d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi/*
2d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Copyright (C) 2010 The Android Open Source Project
3d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
4d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Licensed under the Apache License, Version 2.0 (the "License");
5d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * you may not use this file except in compliance with the License.
6d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * You may obtain a copy of the License at
7d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
8d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *      http://www.apache.org/licenses/LICENSE-2.0
9d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
10d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Unless required by applicable law or agreed to in writing, software
11d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * distributed under the License is distributed on an "AS IS" BASIS,
12d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * See the License for the specific language governing permissions and
14d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * limitations under the License.
15d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
16d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
17d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipackage android.drm;
18d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
19d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi/**
200e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * An entity class that wraps the result of a
210e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * {@link DrmManagerClient#processDrmInfo(DrmInfo) processDrmInfo()}
220e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * transaction between a device and a DRM server.
23d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
240e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * In a license acquisition scenario this class holds the rights information in binary form.
25d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
26d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
27d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class ProcessedData {
28d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private final byte[] mData;
29d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private String mAccountId = "_NO_USER";
30d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private String mSubscriptionId = "";
31d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
32d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
330e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Creates a <code>ProcessedData</code> object with the given parameters.
34d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
350e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param data Rights data.
360e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param accountId Account ID of the user.
37d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
38d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /* package */ ProcessedData(byte[] data, String accountId) {
39d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mData = data;
40d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mAccountId = accountId;
41d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
42d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
43d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
440e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Creates a <code>ProcessedData</code> object with the given parameters.
45d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
460e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param data Rights data.
470e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param accountId Account ID of the user.
480e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param subscriptionId Subscription ID of the user.
49d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
50d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /* package */ ProcessedData(byte[] data, String accountId, String subscriptionId) {
51d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mData = data;
52d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mAccountId = accountId;
53d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mSubscriptionId = subscriptionId;
54d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
55d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
56d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
570e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Retrieves the processed data.
58d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
590e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @return The rights data.
60d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
61d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public byte[] getData() {
62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mData;
63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
660e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Retrieves the account ID associated with this object.
67d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
680e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @return The account ID of the user.
69d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
70d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public String getAccountId() {
71d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mAccountId;
72d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
73d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
74d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
750e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Returns the subscription ID associated with this object.
76d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
770e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @return The subscription ID of the user.
78d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
79d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public String getSubscriptionId() {
80d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mSubscriptionId;
81d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
82d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi}
83d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
84