DrmInfoStatus.java revision 2980a213752d6e30edd4c689489cb4a2c3006252
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 communication between a device and an online DRM
210e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * server. Specifically, when the {@link DrmManagerClient#processDrmInfo processDrmInfo()} method
220e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * is called, an instance of <code>DrmInfoStatus</code> is returned.
230e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber *<p>
240e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * This class contains the {@link ProcessedData} object, which can be used to instantiate a
250e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * {@link DrmRights} object during license acquisition.
26d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
27d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
28d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class DrmInfoStatus {
29d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    // Should be in sync with DrmInfoStatus.cpp
30d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static final int STATUS_OK = 1;
31d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static final int STATUS_ERROR = 2;
32d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
330e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber    /**
342980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     * The status of the communication.
352980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     */
36d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public final int statusCode;
370e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber    /**
382980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     * The type of DRM information processed.
392980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     */
40c7b3ccc564448cb4b918728421f9402bc18278c5Takeshi Aimi    public final int infoType;
410e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber    /**
422980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     * The MIME type of the content.
432980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     */
44d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public final String mimeType;
450e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber    /**
462980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     * The processed data.
472980a213752d6e30edd4c689489cb4a2c3006252Gloria Wang     */
48d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public final ProcessedData data;
49d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
50d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
510e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Creates a <code>DrmInfoStatus</code> object with the specified parameters.
52d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
530e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param _statusCode The status of the communication.
540e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param _infoType The type of the DRM information processed.
550e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param _data The processed data.
560e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * @param _mimeType The MIME type.
57d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
58c7b3ccc564448cb4b918728421f9402bc18278c5Takeshi Aimi    public DrmInfoStatus(int _statusCode, int _infoType, ProcessedData _data, String _mimeType) {
59d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        statusCode = _statusCode;
60c7b3ccc564448cb4b918728421f9402bc18278c5Takeshi Aimi        infoType = _infoType;
61d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        data = _data;
62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mimeType = _mimeType;
63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi}
65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
66