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