127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi/* 227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Copyright (C) 2010 The Android Open Source Project 327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Licensed under the Apache License, Version 2.0 (the "License"); 527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * you may not use this file except in compliance with the License. 627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * You may obtain a copy of the License at 727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * http://www.apache.org/licenses/LICENSE-2.0 927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 1027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Unless required by applicable law or agreed to in writing, software 1127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * distributed under the License is distributed on an "AS IS" BASIS, 1227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * See the License for the specific language governing permissions and 1427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * limitations under the License. 1527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi */ 1627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 1727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#ifndef __DRM_CONVERTED_STATUS_H__ 1827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#define __DRM_CONVERTED_STATUS_H__ 1927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 2027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include "drm_framework_common.h" 2127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 2227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshinamespace android { 2327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 2427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi/** 2527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * This is an utility class which wraps the status of the conversion, the converted 2627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * data/checksum data and the offset. Offset is going to be used in the case of close 2727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * session where the agent will inform where the header and body signature should be added 2827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 2927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * As a result of DrmManagerClient::convertData(int, const DrmBuffer*) and 3027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * DrmManagerClient::closeConvertSession(int) an instance of DrmConvertedStatus 3127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * would be returned. 3227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 3327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi */ 3427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiclass DrmConvertedStatus { 3527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshipublic: 3627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi // Should be in sync with DrmConvertedStatus.java 3727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi static const int STATUS_OK = 1; 3827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi static const int STATUS_INPUTDATA_ERROR = 2; 3927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi static const int STATUS_ERROR = 3; 4027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 4127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshipublic: 4227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi /** 4327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Constructor for DrmConvertedStatus 4427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 4527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * @param[in] _statusCode Status of the conversion 4627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * @param[in] _convertedData Converted data/checksum data 4727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * @param[in] _offset Offset value 4827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi */ 4927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi DrmConvertedStatus(int _statusCode, const DrmBuffer* _convertedData, int _offset); 5027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 5127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi /** 5227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Destructor for DrmConvertedStatus 5327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi */ 5427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi virtual ~DrmConvertedStatus() { 5527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 5627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi } 5727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 5827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshipublic: 5927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi int statusCode; 6027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi const DrmBuffer* convertedData; 6127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi int offset; 6227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi}; 6327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 6427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi}; 6527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 6627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#endif /* __DRM_CONVERTED_STATUS_H__ */ 6727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 68