DrmInfoStatus.h revision e943f84129326ab885cc7a69dcfa17f766b72b89
1020460b610d8196cb820ba390300e3fefda82f30Joe Onorato/* 2020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * Copyright (C) 2010 The Android Open Source Project 3020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 4020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * Licensed under the Apache License, Version 2.0 (the "License"); 5020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * you may not use this file except in compliance with the License. 6020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * You may obtain a copy of the License at 7020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 8020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * http://www.apache.org/licenses/LICENSE-2.0 9020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 10020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * Unless required by applicable law or agreed to in writing, software 11020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * distributed under the License is distributed on an "AS IS" BASIS, 12020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * See the License for the specific language governing permissions and 14020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * limitations under the License. 15020460b610d8196cb820ba390300e3fefda82f30Joe Onorato */ 16020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 17020460b610d8196cb820ba390300e3fefda82f30Joe Onorato#ifndef __DRM_INFO_STATUS_H__ 18020460b610d8196cb820ba390300e3fefda82f30Joe Onorato#define __DRM_INFO_STATUS_H__ 19020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 20020460b610d8196cb820ba390300e3fefda82f30Joe Onorato#include "drm_framework_common.h" 21020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 22020460b610d8196cb820ba390300e3fefda82f30Joe Onoratonamespace android { 23020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 24020460b610d8196cb820ba390300e3fefda82f30Joe Onorato/** 25020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * This is an utility class which wraps the result of communication between device 26020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * and online DRM server. 27020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 28020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * As a result of DrmManagerClient::processDrmInfo(const DrmInfo*) an instance of 29020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * DrmInfoStatus would be returned. This class holds DrmBuffer which could be 30020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * used to instantiate DrmRights in license acquisition. 31020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 32020460b610d8196cb820ba390300e3fefda82f30Joe Onorato */ 33020460b610d8196cb820ba390300e3fefda82f30Joe Onoratoclass DrmInfoStatus { 34020460b610d8196cb820ba390300e3fefda82f30Joe Onoratopublic: 35020460b610d8196cb820ba390300e3fefda82f30Joe Onorato // Should be in sync with DrmInfoStatus.java 36020460b610d8196cb820ba390300e3fefda82f30Joe Onorato static const int STATUS_OK = 1; 37020460b610d8196cb820ba390300e3fefda82f30Joe Onorato static const int STATUS_ERROR = 2; 38020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 39020460b610d8196cb820ba390300e3fefda82f30Joe Onoratopublic: 40020460b610d8196cb820ba390300e3fefda82f30Joe Onorato /** 41020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * Constructor for DrmInfoStatus 42020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * 43020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * @param[in] _statusCode Status of the communication 44020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * @param[in] _infoType Type of the DRM information processed 45020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * @param[in] _drmBuffer Rights information 46020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * @param[in] _mimeType MIME type 47020460b610d8196cb820ba390300e3fefda82f30Joe Onorato */ 48020460b610d8196cb820ba390300e3fefda82f30Joe Onorato DrmInfoStatus(int _statusCode, int _infoType, const DrmBuffer* _drmBuffer, const String8& _mimeType); 49020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 50020460b610d8196cb820ba390300e3fefda82f30Joe Onorato /** 51020460b610d8196cb820ba390300e3fefda82f30Joe Onorato * Destructor for DrmInfoStatus 52020460b610d8196cb820ba390300e3fefda82f30Joe Onorato */ 53020460b610d8196cb820ba390300e3fefda82f30Joe Onorato virtual ~DrmInfoStatus() { 54020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 55020460b610d8196cb820ba390300e3fefda82f30Joe Onorato } 56020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 57020460b610d8196cb820ba390300e3fefda82f30Joe Onoratopublic: 58020460b610d8196cb820ba390300e3fefda82f30Joe Onorato int statusCode; 59020460b610d8196cb820ba390300e3fefda82f30Joe Onorato int infoType; 60020460b610d8196cb820ba390300e3fefda82f30Joe Onorato const DrmBuffer* drmBuffer; 61020460b610d8196cb820ba390300e3fefda82f30Joe Onorato String8 mimeType; 62020460b610d8196cb820ba390300e3fefda82f30Joe Onorato}; 63020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 64020460b610d8196cb820ba390300e3fefda82f30Joe Onorato}; 65020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 66020460b610d8196cb820ba390300e3fefda82f30Joe Onorato#endif /* __DRM_INFO_STATUS_H__ */ 67020460b610d8196cb820ba390300e3fefda82f30Joe Onorato 68020460b610d8196cb820ba390300e3fefda82f30Joe Onorato