1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @addtogroup HdiDrm 18 * @ 19 * @brief Defines APIs of the Drm module. 20 * The Drm module provides APIs for multimedia Drm. 21 * @since 4.1 22 * @version 1.0 23 */ 24 25/** 26 * @file IMediaKeySystem.idl 27 * 28 * @brief Defines methods used in MediaKeySystem. 29 * @since 4.1 30 * @version 1.0 31 */ 32 33package ohos.hdi.drm.v1_0; 34 35import ohos.hdi.drm.v1_0.MediaKeySystemTypes; 36import ohos.hdi.drm.v1_0.IMediaKeySession; 37import ohos.hdi.drm.v1_0.IMediaKeySystemCallback; 38import ohos.hdi.drm.v1_0.IOemCertificate; 39 40interface IMediaKeySystem { 41 GetConfigurationString([in] String name, [out] String value); 42 SetConfigurationString([in] String name, [in] String value); 43 GetConfigurationByteArray([in] String name, [out] unsigned char[] value); 44 SetConfigurationByteArray([in] String name, [in] unsigned char[] value); 45 GetStatistics([out] Map<String, String> statistics); 46 GetMaxContentProtectionLevel([out] enum ContentProtectionLevel level); 47 48 GenerateKeySystemRequest([out] String defaultUrl, [out] unsigned char[] request); 49 ProcessKeySystemResponse([in] unsigned char[] response); 50 GetOemCertificateStatus([out] enum CertificateStatus status); 51 SetCallback([in] IMediaKeySystemCallback systemCallback); 52 53 CreateMediaKeySession([in] enum ContentProtectionLevel level, [out] IMediaKeySession keySession); 54 55 GetOfflineMediaKeyIds([out] unsigned char[][] mediaKeyIds); 56 GetOfflineMediaKeyStatus([in] unsigned char[] mediaKeyId, [out] enum OfflineMediaKeyStatus mediaKeyStatus); 57 ClearOfflineMediaKeys([in] unsigned char[] mediaKeyId); 58 59 GetOemCertificate([out] IOemCertificate oemCert); 60 Destroy(); 61}; 62