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 * Defines constants that are used by the DRM framework. 21d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * 22d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 23d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class DrmStore { 24d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 250e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Interface definition for the columns that represent DRM constraints. 26365ce1db339db53cd5afb118ff867fe940644e45James Dong * {@link android.drm.DrmManagerClient#getConstraints DrmManagerClient.getConstraints()} 27365ce1db339db53cd5afb118ff867fe940644e45James Dong * can be called by an application to find out the contraints on the 28365ce1db339db53cd5afb118ff867fe940644e45James Dong * {@link android.drm.DrmStore.Action actions} that can be performed 29365ce1db339db53cd5afb118ff867fe940644e45James Dong * on right-protected content. The constants defined in this interface 30365ce1db339db53cd5afb118ff867fe940644e45James Dong * represent three most common types of constraints: count-based, 31365ce1db339db53cd5afb118ff867fe940644e45James Dong * date-based, and duration-based. Two or more constraints can be used 32365ce1db339db53cd5afb118ff867fe940644e45James Dong * at the same time to represent more sophisticated constraints. 33365ce1db339db53cd5afb118ff867fe940644e45James Dong * In addition, user-defined constraint, 34365ce1db339db53cd5afb118ff867fe940644e45James Dong * {@link #EXTENDED_METADATA extended metadata}, can be 35365ce1db339db53cd5afb118ff867fe940644e45James Dong * used if these three types of constraints are not sufficient. 36d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 37d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public interface ConstraintsColumns { 38d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 39365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a count-based constraint. It represents the maximum 40365ce1db339db53cd5afb118ff867fe940644e45James Dong * repeat count that can be performed on an 41365ce1db339db53cd5afb118ff867fe940644e45James Dong * {@link android.drm.DrmStore.Action action}. 420e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 430e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: INTEGER 44d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 45d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String MAX_REPEAT_COUNT = "max_repeat_count"; 46d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 47d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 48365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a count-based constraint. It represents the remaining 49365ce1db339db53cd5afb118ff867fe940644e45James Dong * repeat count that can be performed on an 50365ce1db339db53cd5afb118ff867fe940644e45James Dong * {@link android.drm.DrmStore.Action action}. 510e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 520e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: INTEGER 53d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 54d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count"; 55d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 56d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 57365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a date-based constraint. It represents the time before which 58365ce1db339db53cd5afb118ff867fe940644e45James Dong * an {@link android.drm.DrmStore.Action action} can be performed on 59365ce1db339db53cd5afb118ff867fe940644e45James Dong * the rights-protected content. 600e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 610e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: TEXT 62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String LICENSE_START_TIME = "license_start_time"; 64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 66365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a date-based constaint. It represents the time after which 67365ce1db339db53cd5afb118ff867fe940644e45James Dong * an {@link android.drm.DrmStore.Action action} can not be performed on 68365ce1db339db53cd5afb118ff867fe940644e45James Dong * the rights-protected content. 690e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 700e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: TEXT 71d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 72d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String LICENSE_EXPIRY_TIME = "license_expiry_time"; 73d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 74d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 75365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a duration-based constaint. It represents the available time left 76365ce1db339db53cd5afb118ff867fe940644e45James Dong * before the license expires. 770e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 780e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: TEXT 79d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 80d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String LICENSE_AVAILABLE_TIME = "license_available_time"; 81d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 82d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 83365ce1db339db53cd5afb118ff867fe940644e45James Dong * This is a user-defined constraint. It represents the additional constraint 84365ce1db339db53cd5afb118ff867fe940644e45James Dong * using extended metadata. 850e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * <p> 860e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Type: TEXT 87d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 88d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final String EXTENDED_METADATA = "extended_metadata"; 89d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 90d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 91d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 920e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Defines DRM object types. 93d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 94d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static class DrmObjectType { 95d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 960e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * An unknown object type. 97d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 98d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int UNKNOWN = 0x00; 99d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1000e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * A rights-protected file object type. 101d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 102d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int CONTENT = 0x01; 103d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1040e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * A rights information object type. 105d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 106d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RIGHTS_OBJECT = 0x02; 107d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1080e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * A trigger information object type. 109d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 110d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int TRIGGER_OBJECT = 0x03; 111060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong 112060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong /** 113060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * @deprecated This class should have been an interface instead. 114060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * The default constuctor should have not been exposed. 115060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong */ 116060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong public DrmObjectType() {} 117d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 118d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 119d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1200e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Defines playback states for content. 121d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 122d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static class Playback { 123d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1240e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Playback started. 125d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 126d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int START = 0x00; 127d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1280e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Playback stopped. 129d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 130d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int STOP = 0x01; 131d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1320e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Playback paused. 133d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 134d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int PAUSE = 0x02; 135d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1360e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Playback resumed. 137d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 138d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RESUME = 0x03; 139d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 140d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /* package */ static boolean isValid(int playbackStatus) { 141d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi boolean isValid = false; 142d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 143d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi switch (playbackStatus) { 144d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case START: 145d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case STOP: 146d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case PAUSE: 147d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case RESUME: 148d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi isValid = true; 149d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 150d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi return isValid; 151d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 152060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong 153060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong /** 154060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * @deprecated This class should have been an interface instead. 155060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * The default constuctor should have not been exposed. 156060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong */ 157060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong public Playback() {} 158d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 159d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 160d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1610e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Defines actions that can be performed on rights-protected content. 162d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 163d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static class Action { 164d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1650e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The default action. 166d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 167d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int DEFAULT = 0x00; 168d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1690e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be played. 170d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 171d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int PLAY = 0x01; 172d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1730e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be set as a ringtone. 174d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 175d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RINGTONE = 0x02; 176d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1770e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be transferred. 178d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 179d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int TRANSFER = 0x03; 180d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1810e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be set as output. 182d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 183d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int OUTPUT = 0x04; 184d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1850e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be previewed. 186d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 187d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int PREVIEW = 0x05; 188d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1890e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be executed. 190d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 191d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int EXECUTE = 0x06; 192d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 1930e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The rights-protected content can be displayed. 194d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 195d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int DISPLAY = 0x07; 196d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 197d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /* package */ static boolean isValid(int action) { 198d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi boolean isValid = false; 199d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 200d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi switch (action) { 201d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case DEFAULT: 202d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case PLAY: 203d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case RINGTONE: 204d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case TRANSFER: 205d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case OUTPUT: 206d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case PREVIEW: 207d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case EXECUTE: 208d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi case DISPLAY: 209d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi isValid = true; 210d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 211d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi return isValid; 212d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 213060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong 214060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong /** 215060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * @deprecated This class should have been an interface instead. 216060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * The default constuctor should have not been exposed. 217060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong */ 218060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong public Action() {} 219d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 220d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 221d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 2220e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Defines status notifications for digital rights. 223d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 224d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static class RightsStatus { 225d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 2260e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The digital rights are valid. 227d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 228d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RIGHTS_VALID = 0x00; 229d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 2300e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The digital rights are invalid. 231d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 232d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RIGHTS_INVALID = 0x01; 233d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 2340e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The digital rights have expired. 235d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 236d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RIGHTS_EXPIRED = 0x02; 237d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi /** 2380e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * The digital rights have not been acquired for the rights-protected content. 239d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */ 240d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi public static final int RIGHTS_NOT_ACQUIRED = 0x03; 241060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong 242060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong /** 243060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * @deprecated This class should have been an interface instead. 244060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * The default constuctor should have not been exposed. 245060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong */ 246060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong public RightsStatus() {} 247d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi } 248060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong 249060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong /** 250060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * @deprecated This class should have been an interface instead. 251060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong * The default constuctor should have not been exposed. 252060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong */ 253060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong public DrmStore() {} 254d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi} 255d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi 256