• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 #include "ohos_adapter/bridge/ark_drm_callback_adapter_impl.h"
17 
18 namespace OHOS::ArkWeb {
19 
ArkDrmCallbackAdapterImpl(std::shared_ptr<OHOS::NWeb::DrmCallbackAdapter> ref)20 ArkDrmCallbackAdapterImpl::ArkDrmCallbackAdapterImpl(std::shared_ptr<OHOS::NWeb::DrmCallbackAdapter> ref) : real_(ref)
21 {}
22 
OnSessionMessage(const ArkWebString & sessionId,int32_t & type,const ArkWebUint8Vector & msg)23 void ArkDrmCallbackAdapterImpl::OnSessionMessage(
24     const ArkWebString& sessionId, int32_t& type, const ArkWebUint8Vector& msg)
25 {
26     real_->OnSessionMessage(
27         ArkWebStringStructToClass(sessionId), type, ArkWebBasicVectorStructToClass<uint8_t, ArkWebUint8Vector>(msg));
28 }
29 
OnProvisionRequest(const ArkWebString & defaultUrl,const ArkWebString & requestData)30 void ArkDrmCallbackAdapterImpl::OnProvisionRequest(const ArkWebString& defaultUrl, const ArkWebString& requestData)
31 {
32     real_->OnProvisionRequest(ArkWebStringStructToClass(defaultUrl), ArkWebStringStructToClass(requestData));
33 }
34 
OnProvisioningComplete(bool success)35 void ArkDrmCallbackAdapterImpl::OnProvisioningComplete(bool success)
36 {
37     real_->OnProvisioningComplete(success);
38 }
39 
OnMediaKeySessionReady(void * session)40 void ArkDrmCallbackAdapterImpl::OnMediaKeySessionReady(void* session)
41 {
42     real_->OnMediaKeySessionReady(session);
43 }
44 
OnPromiseRejected(uint32_t promiseId,const ArkWebString & errorMessage)45 void ArkDrmCallbackAdapterImpl::OnPromiseRejected(uint32_t promiseId, const ArkWebString& errorMessage)
46 {
47     real_->OnPromiseRejected(promiseId, ArkWebStringStructToClass(errorMessage));
48 }
49 
OnPromiseResolved(uint32_t promiseId)50 void ArkDrmCallbackAdapterImpl::OnPromiseResolved(uint32_t promiseId)
51 {
52     real_->OnPromiseResolved(promiseId);
53 }
54 
OnPromiseResolvedWithSession(uint32_t promiseId,const ArkWebString & sessionId)55 void ArkDrmCallbackAdapterImpl::OnPromiseResolvedWithSession(uint32_t promiseId, const ArkWebString& sessionId)
56 {
57     real_->OnPromiseResolvedWithSession(promiseId, ArkWebStringStructToClass(sessionId));
58 }
59 
OnSessionClosed(const ArkWebString & sessionId)60 void ArkDrmCallbackAdapterImpl::OnSessionClosed(const ArkWebString& sessionId)
61 {
62     real_->OnSessionClosed(ArkWebStringStructToClass(sessionId));
63 }
64 
OnSessionKeysChange(const ArkWebString & sessionId,const ArkWebStringVector & keyIdArray,const ArkWebUint32Vector & statusArray,bool hasAdditionalUsableKey,bool isRelease)65 void ArkDrmCallbackAdapterImpl::OnSessionKeysChange(const ArkWebString& sessionId, const ArkWebStringVector& keyIdArray,
66     const ArkWebUint32Vector& statusArray, bool hasAdditionalUsableKey, bool isRelease)
67 {
68     real_->OnSessionKeysChange(ArkWebStringStructToClass(sessionId), ArkWebStringVectorStructToClass(keyIdArray),
69         ArkWebBasicVectorStructToClass<uint32_t, ArkWebUint32Vector>(statusArray), hasAdditionalUsableKey, isRelease);
70 }
71 
OnSessionExpirationUpdate(const ArkWebString & sessionId,uint64_t expirationTime)72 void ArkDrmCallbackAdapterImpl::OnSessionExpirationUpdate(const ArkWebString& sessionId, uint64_t expirationTime)
73 {
74     real_->OnSessionExpirationUpdate(ArkWebStringStructToClass(sessionId), expirationTime);
75 }
76 
OnStorageProvisioned()77 void ArkDrmCallbackAdapterImpl::OnStorageProvisioned()
78 {
79     real_->OnStorageProvisioned();
80 }
81 
OnStorageSaveInfo(const ArkWebUint8Vector & ketSetId,const ArkWebString & mimeType,const ArkWebString & sessionId,int32_t keyType)82 void ArkDrmCallbackAdapterImpl::OnStorageSaveInfo(
83     const ArkWebUint8Vector& ketSetId, const ArkWebString& mimeType, const ArkWebString& sessionId, int32_t keyType)
84 {
85     real_->OnStorageSaveInfo(ArkWebBasicVectorStructToClass<uint8_t, ArkWebUint8Vector>(ketSetId),
86         ArkWebStringStructToClass(mimeType), ArkWebStringStructToClass(sessionId), keyType);
87 }
88 
OnStorageLoadInfo(const ArkWebString & sessionId)89 void ArkDrmCallbackAdapterImpl::OnStorageLoadInfo(const ArkWebString& sessionId)
90 {
91     real_->OnStorageLoadInfo(ArkWebStringStructToClass(sessionId));
92 }
93 
OnStorageClearInfoForKeyRelease(const ArkWebString & sessionId)94 void ArkDrmCallbackAdapterImpl::OnStorageClearInfoForKeyRelease(const ArkWebString& sessionId)
95 {
96     real_->OnStorageClearInfoForKeyRelease(ArkWebStringStructToClass(sessionId));
97 }
98 
OnStorageClearInfoForLoadFail(const ArkWebString & sessionId)99 void ArkDrmCallbackAdapterImpl::OnStorageClearInfoForLoadFail(const ArkWebString& sessionId)
100 {
101     real_->OnStorageClearInfoForLoadFail(ArkWebStringStructToClass(sessionId));
102 }
103 
OnMediaLicenseReady(bool success)104 void ArkDrmCallbackAdapterImpl::OnMediaLicenseReady(bool success)
105 {
106     real_->OnMediaLicenseReady(success);
107 }
108 } // namespace OHOS::ArkWeb
109