DrmConvertedStatus.h revision 27ed8ad2db653f6ac07dcf8bcc05e2409c8bb024
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