1/* 2 * Copyright (c) 2025 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 16package OHOS.DrmStandard; 17import DrmTypes; 18import IMediaKeySessionService; 19import IMediaKeySystemServiceCallback; 20interface IMediaKeySystemService{ 21 void Release(); 22 void GenerateKeySystemRequest([out] unsigned char[] request, [out] String defaultUrl); 23 void ProcessKeySystemResponse([in] unsigned char[] response); 24 void SetConfigurationString([in] String configName, [in] String value); 25 void GetConfigurationString([in] String configName, [out] String value); 26 void SetConfigurationByteArray([in] String configName, [in] unsigned char[] value); 27 void GetConfigurationByteArray([in] String configName, [out] unsigned char[] value); 28 void CreateMediaKeySession([in] ContentProtectionLevel securityLevel,[out] IMediaKeySessionService keySessionProxy); 29 void GetStatistics([out] MetircKeyValue[] metrics); 30 void GetMaxContentProtectionLevel([out] ContentProtectionLevel securityLevel); 31 void GetCertificateStatus([out] CertificateStatus certStatus); 32 void GetOfflineMediaKeyIds([out] List<unsigned char[]> licenseIds); 33 void GetOfflineMediaKeyStatus([in] unsigned char[] licenseId,[out] OfflineMediaKeyStatus status); 34 void ClearOfflineMediaKeys([in] unsigned char[] licenseId); 35 void SetCallback([in] IMediaKeySystemServiceCallback callbackFunc); 36} 37