ProcessedData.java revision d074e30ce44b9e33da43b67a4515b8986ca72b26
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/**
20d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * This is an entity class which wraps the result of transaction between
21d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * device and online DRM server by using {@link DrmManagerClient#processDrmInfo(DrmInfo)}
22d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
23d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * In license acquisition scenario this class would hold the binary data
24d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * of rights information.
25d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
26d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
27d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class ProcessedData {
28d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private final byte[] mData;
29d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private String mAccountId = "_NO_USER";
30d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private String mSubscriptionId = "";
31d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
32d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
33d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * constructor to create ProcessedData object with given parameters
34d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
35d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param data Rights data
36d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param accountId Account Id of the user
37d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
38d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /* package */ ProcessedData(byte[] data, String accountId) {
39d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mData = data;
40d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mAccountId = accountId;
41d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
42d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
43d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
44d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * constructor to create ProcessedData object with given parameters
45d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
46d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param data Rights data
47d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param accountId Account Id of the user
48d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @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    /**
57d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the processed data as a result.
58d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
59d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return Rights data associated
60d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
61d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public byte[] getData() {
62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mData;
63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
66d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the account-id associated with this object
67d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
68d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return Account Id associated
69d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
70d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public String getAccountId() {
71d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mAccountId;
72d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
73d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
74d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
75d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the subscription-id associated with this object
76d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
77d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return Subscription Id associated
78d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
79d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public String getSubscriptionId() {
80d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mSubscriptionId;
81d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
82d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi}
83d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
84