/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.drm;
import java.util.HashMap;
A base class that is used to send asynchronous event information from the DRM framework.
/**
* A base class that is used to send asynchronous event information from the DRM framework.
*
*/
public class DrmEvent {
// Please do not add type constants in this class. More event type constants
// should go to DrmInfoEvent or DrmErrorEvent classes.
All of the rights information associated with all DRM schemes have been successfully removed.
/**
* All of the rights information associated with all DRM schemes have been successfully removed.
*/
public static final int TYPE_ALL_RIGHTS_REMOVED = 1001;
The given DRM information has been successfully processed.
/**
* The given DRM information has been successfully processed.
*/
public static final int TYPE_DRM_INFO_PROCESSED = 1002;
The key that is used in the attributes
HashMap to pass the return status.
/**
* The key that is used in the <code>attributes</code> HashMap to pass the return status.
*/
public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
The key that is used in the attributes
HashMap to pass the DrmInfo
object. /**
* The key that is used in the <code>attributes</code> HashMap to pass the
* {@link DrmInfo} object.
*/
public static final String DRM_INFO_OBJECT = "drm_info_object";
private final int mUniqueId;
private final int mType;
private String mMessage = "";
private HashMap<String, Object> mAttributes = new HashMap<String, Object>();
Creates a DrmEvent
object with the specified parameters.
Params: - uniqueId – Unique session identifier.
- type – Type of information.
- message – Message description.
- attributes – Attributes for extensible information.
/**
* Creates a <code>DrmEvent</code> object with the specified parameters.
*
* @param uniqueId Unique session identifier.
* @param type Type of information.
* @param message Message description.
* @param attributes Attributes for extensible information.
*/
protected DrmEvent(int uniqueId, int type, String message,
HashMap<String, Object> attributes) {
mUniqueId = uniqueId;
mType = type;
if (null != message) {
mMessage = message;
}
if (null != attributes) {
mAttributes = attributes;
}
}
Creates a DrmEvent
object with the specified parameters.
Params: - uniqueId – Unique session identifier.
- type – Type of information.
- message – Message description.
/**
* Creates a <code>DrmEvent</code> object with the specified parameters.
*
* @param uniqueId Unique session identifier.
* @param type Type of information.
* @param message Message description.
*/
protected DrmEvent(int uniqueId, int type, String message) {
mUniqueId = uniqueId;
mType = type;
if (null != message) {
mMessage = message;
}
}
Retrieves the unique session identifier associated with this object.
Returns: The unique session identifier.
/**
* Retrieves the unique session identifier associated with this object.
*
* @return The unique session identifier.
*/
public int getUniqueId() {
return mUniqueId;
}
Retrieves the type of information that is associated with this object.
Returns: The type of information.
/**
* Retrieves the type of information that is associated with this object.
*
* @return The type of information.
*/
public int getType() {
return mType;
}
Retrieves the message description associated with this object.
Returns: The message description.
/**
* Retrieves the message description associated with this object.
*
* @return The message description.
*/
public String getMessage() {
return mMessage;
}
Retrieves the attribute associated with the specified key.
Returns: One of the attributes or null if no mapping for
the key is found.
/**
* Retrieves the attribute associated with the specified key.
*
* @return One of the attributes or null if no mapping for
* the key is found.
*/
public Object getAttribute(String key) {
return mAttributes.get(key);
}
}