DrmEvent.java revision dc549d60f98d809f626c99de614960409a847054
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 the base class which would be used to notify the caller
21d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * about any event occurred in DRM framework.
22d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
23d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
24d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class DrmEvent {
25dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
26dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that unload and finalize the loaded plugins successfully
27dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
28dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_FINALIZED = 1001;
29dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
30dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that register with the service successfully
31dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
32dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_REGISTERED = 1002;
33dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
34dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that load and initialized the available plugins successfully
35dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
36dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_INITIALIZED = 1003;
37dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
38dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that unregister with the service successfully
39dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
40dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_UNREGISTERED = 1004;
41dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
42dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that rights information is acquired successfully
43dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
44dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_RIGHTS_ACQUIRED = 1005;
45dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
46dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that all the rights information associated with
47dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * all DRM schemes are removed successfully
48dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
49dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_ALL_RIGHTS_REMOVED = 1006;
50dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    /**
51dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * Constant field signifies that the required information to communicate with
52dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     * the service is acquired sucessfully
53dc549d60f98d809f626c99de614960409a847054Takeshi Aimi     */
54dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final int TYPE_DRM_INFO_ACQUIRED = 1007;
55dc549d60f98d809f626c99de614960409a847054Takeshi Aimi
56dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
57dc549d60f98d809f626c99de614960409a847054Takeshi Aimi    public static final String DRM_INFO_OBJECT = "drm_info_object";
58dc549d60f98d809f626c99de614960409a847054Takeshi Aimi
59d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private final int mUniqueId;
60d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private final int mType;
61d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    private String mMessage = "";
62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * constructor for DrmEvent class
65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
66d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param uniqueId Unique session identifier
67d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param type Type of information
68d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @param message Message description
69d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
70d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    protected DrmEvent(int uniqueId, int type, String message) {
71d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mUniqueId = uniqueId;
72d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        mType = type;
73d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
74d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        if (null != message) {
75d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            mMessage = message;
76d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        }
77d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
78d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
79d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
80d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the Unique Id associated with this object
81d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
82d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return Unique Id
83d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
84d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public int getUniqueId() {
85d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mUniqueId;
86d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
87d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
88d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
89d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the Type of information associated with this object
90d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
91d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return Type of information
92d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
93d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public int getType() {
94d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mType;
95d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
96d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
97d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
98d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * Returns the message description associated with this object
99d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     *
100d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     * @return message description
101d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
102d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public String getMessage() {
103d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        return mMessage;
104d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
105d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi}
106d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
107