• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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_ohos_adapter_helper_wrapper.h"
17 
18 #include "ohos_adapter/bridge/ark_aafwk_app_mgr_client_adapter_wrapper.h"
19 #include "ohos_adapter/bridge/ark_access_token_adapter_wrapper.h"
20 #include "ohos_adapter/bridge/ark_audio_capturer_adapter_wrapper.h"
21 #include "ohos_adapter/bridge/ark_audio_renderer_adapter_wrapper.h"
22 #include "ohos_adapter/bridge/ark_audio_system_manager_adapter_wrapper.h"
23 #include "ohos_adapter/bridge/ark_battery_info_wrapper.h"
24 #include "ohos_adapter/bridge/ark_battery_mgr_client_adapter_wrapper.h"
25 #include "ohos_adapter/bridge/ark_camera_manager_adapter_wrapper.h"
26 #include "ohos_adapter/bridge/ark_camera_surface_adapter_wrapper.h"
27 #include "ohos_adapter/bridge/ark_camera_surface_buffer_adapter_wrapper.h"
28 #include "ohos_adapter/bridge/ark_cert_manager_adapter_wrapper.h"
29 #include "ohos_adapter/bridge/ark_datashare_adapter_wrapper.h"
30 #include "ohos_adapter/bridge/ark_date_time_format_adapter_wrapper.h"
31 #include "ohos_adapter/bridge/ark_display_adapter_wrapper.h"
32 #include "ohos_adapter/bridge/ark_display_manager_adapter_wrapper.h"
33 #include "ohos_adapter/bridge/ark_drm_adapter_wrapper.h"
34 #include "ohos_adapter/bridge/ark_enterprise_device_management_adapter_wrapper.h"
35 #include "ohos_adapter/bridge/ark_event_handler_adapter_wrapper.h"
36 #include "ohos_adapter/bridge/ark_flowbuffer_adapter_wrapper.h"
37 #include "ohos_adapter/bridge/ark_hisysevent_adapter_wrapper.h"
38 #include "ohos_adapter/bridge/ark_hitrace_adapter_wrapper.h"
39 #include "ohos_adapter/bridge/ark_iconsumer_surface_adapter_wrapper.h"
40 #include "ohos_adapter/bridge/ark_imfadapter_wrapper.h"
41 #include "ohos_adapter/bridge/ark_keystore_adapter_wrapper.h"
42 #include "ohos_adapter/bridge/ark_media_avsession_adapter_wrapper.h"
43 #include "ohos_adapter/bridge/ark_media_codec_decoder_adapter_wrapper.h"
44 #include "ohos_adapter/bridge/ark_audio_codec_decoder_adapter_wrapper.h"
45 #include "ohos_adapter/bridge/ark_media_codec_encoder_adapter_wrapper.h"
46 #include "ohos_adapter/bridge/ark_media_codec_list_adapter_wrapper.h"
47 #include "ohos_adapter/bridge/ark_migration_manager_adapter_wrapper.h"
48 #include "ohos_adapter/bridge/ark_mmi_adapter_wrapper.h"
49 #include "ohos_adapter/bridge/ark_native_image_adapter_wrapper.h"
50 #include "ohos_adapter/bridge/ark_net_connect_adapter_wrapper.h"
51 #include "ohos_adapter/bridge/ark_net_proxy_adapter_wrapper.h"
52 #include "ohos_adapter/bridge/ark_ohos_drawing_text_adapter_wrapper.h"
53 #include "ohos_adapter/bridge/ark_ohos_file_mapper_wrapper.h"
54 #include "ohos_adapter/bridge/ark_ohos_image_decoder_adapter_wrapper.h"
55 #include "ohos_adapter/bridge/ark_ohos_init_web_adapter_wrapper.h"
56 #include "ohos_adapter/bridge/ark_ohos_native_buffer_adapter_wrapper.h"
57 #include "ohos_adapter/bridge/ark_ohos_resource_adapter_wrapper.h"
58 #include "ohos_adapter/bridge/ark_ohos_web_data_base_adapter_wrapper.h"
59 #include "ohos_adapter/bridge/ark_paste_board_client_adapter_wrapper.h"
60 #include "ohos_adapter/bridge/ark_player_adapter_wrapper.h"
61 #include "ohos_adapter/bridge/ark_power_mgr_client_adapter_wrapper.h"
62 #include "ohos_adapter/bridge/ark_print_manager_adapter_wrapper.h"
63 #include "ohos_adapter/bridge/ark_running_lock_adapter_wrapper.h"
64 #include "ohos_adapter/bridge/ark_screen_capture_adapter_wrapper.h"
65 #include "ohos_adapter/bridge/ark_sensor_adapter_wrapper.h"
66 #include "ohos_adapter/bridge/ark_soc_perf_client_adapter_wrapper.h"
67 #include "ohos_adapter/bridge/ark_surface_buffer_adapter_wrapper.h"
68 #include "ohos_adapter/bridge/ark_system_properties_adapter_wrapper.h"
69 #include "ohos_adapter/bridge/ark_vsync_adapter_wrapper.h"
70 #include "ohos_adapter/bridge/ark_web_timezone_info_wrapper.h"
71 #include "ohos_adapter/bridge/ark_window_adapter_wrapper.h"
72 
73 #include "base/bridge/ark_web_bridge_macros.h"
74 
75 namespace OHOS::NWeb {
76 
GetInstance()77 OhosAdapterHelper& OhosAdapterHelper::GetInstance()
78 {
79     static ArkWeb::ArkOhosAdapterHelperWrapper instance(ArkWeb::ArkOhosAdapterHelper::GetInstance());
80     return instance;
81 }
82 
83 } // namespace OHOS::NWeb
84 
85 namespace OHOS::ArkWeb {
86 
ArkOhosAdapterHelperWrapper(ArkWebRefPtr<ArkOhosAdapterHelper> ref)87 ArkOhosAdapterHelperWrapper::ArkOhosAdapterHelperWrapper(ArkWebRefPtr<ArkOhosAdapterHelper> ref) : ctocpp_(ref) {}
88 
CreateAafwkAdapter()89 std::unique_ptr<NWeb::AafwkAppMgrClientAdapter> ArkOhosAdapterHelperWrapper::CreateAafwkAdapter()
90 {
91     ArkWebRefPtr<ArkAafwkAppMgrClientAdapter> adapter = ctocpp_->CreateAafwkAdapter();
92 
93     if (CHECK_REF_PTR_IS_NULL(adapter)) {
94         return nullptr;
95     }
96 
97     return std::make_unique<ArkAafwkAppMgrClientAdapterWrapper>(adapter);
98 }
99 
CreatePowerMgrClientAdapter()100 std::unique_ptr<NWeb::PowerMgrClientAdapter> ArkOhosAdapterHelperWrapper::CreatePowerMgrClientAdapter()
101 {
102     ArkWebRefPtr<ArkPowerMgrClientAdapter> adapter = ctocpp_->CreatePowerMgrClientAdapter();
103 
104     if (CHECK_REF_PTR_IS_NULL(adapter)) {
105         return nullptr;
106     }
107 
108     return std::make_unique<ArkPowerMgrClientAdapterWrapper>(adapter);
109 }
110 
CreateDisplayMgrAdapter()111 std::unique_ptr<NWeb::DisplayManagerAdapter> ArkOhosAdapterHelperWrapper::CreateDisplayMgrAdapter()
112 {
113     ArkWebRefPtr<ArkDisplayManagerAdapter> adapter = ctocpp_->CreateDisplayMgrAdapter();
114 
115     if (CHECK_REF_PTR_IS_NULL(adapter)) {
116         return nullptr;
117     }
118 
119     return std::make_unique<ArkDisplayManagerAdapterWrapper>(adapter);
120 }
121 
CreateBatteryClientAdapter()122 std::unique_ptr<NWeb::BatteryMgrClientAdapter> ArkOhosAdapterHelperWrapper::CreateBatteryClientAdapter()
123 {
124     ArkWebRefPtr<ArkBatteryMgrClientAdapter> adapter = ctocpp_->CreateBatteryClientAdapter();
125 
126     if (CHECK_REF_PTR_IS_NULL(adapter)) {
127         return nullptr;
128     }
129 
130     return std::make_unique<ArkBatteryMgrClientAdapterWrapper>(adapter);
131 }
132 
CreateNetConnectAdapter()133 std::unique_ptr<NWeb::NetConnectAdapter> ArkOhosAdapterHelperWrapper::CreateNetConnectAdapter()
134 {
135     ArkWebRefPtr<ArkNetConnectAdapter> adapter = ctocpp_->CreateNetConnectAdapter();
136 
137     if (CHECK_REF_PTR_IS_NULL(adapter)) {
138         return nullptr;
139     }
140 
141     return std::make_unique<ArkNetConnectAdapterWrapper>(adapter);
142 }
143 
GetOhosWebDataBaseAdapterInstance()144 NWeb::OhosWebDataBaseAdapter& ArkOhosAdapterHelperWrapper::GetOhosWebDataBaseAdapterInstance()
145 {
146     static ArkOhosWebDataBaseAdapterWrapper instance(ctocpp_->GetOhosWebDataBaseAdapterInstance());
147     return instance;
148 }
149 
GetPasteBoard()150 NWeb::PasteBoardClientAdapter& ArkOhosAdapterHelperWrapper::GetPasteBoard()
151 {
152     static ArkPasteBoardClientAdapterWrapper instance(ctocpp_->GetPasteBoard());
153     return instance;
154 }
155 
CreateAudioRendererAdapter()156 std::unique_ptr<NWeb::AudioRendererAdapter> ArkOhosAdapterHelperWrapper::CreateAudioRendererAdapter()
157 {
158     ArkWebRefPtr<ArkAudioRendererAdapter> adapter = ctocpp_->CreateAudioRendererAdapter();
159 
160     if (CHECK_REF_PTR_IS_NULL(adapter)) {
161         return nullptr;
162     }
163 
164     return std::make_unique<ArkAudioRendererAdapterWrapper>(adapter);
165 }
166 
CreateAudioCapturerAdapter()167 std::unique_ptr<NWeb::AudioCapturerAdapter> ArkOhosAdapterHelperWrapper::CreateAudioCapturerAdapter()
168 {
169     ArkWebRefPtr<ArkAudioCapturerAdapter> adapter = ctocpp_->CreateAudioCapturerAdapter();
170 
171     if (CHECK_REF_PTR_IS_NULL(adapter)) {
172         return nullptr;
173     }
174 
175     return std::make_unique<ArkAudioCapturerAdapterWrapper>(adapter);
176 }
177 
GetAudioSystemManager()178 NWeb::AudioSystemManagerAdapter& ArkOhosAdapterHelperWrapper::GetAudioSystemManager()
179 {
180     static ArkAudioSystemManagerAdapterWrapper instance(ctocpp_->GetAudioSystemManager());
181     return instance;
182 }
183 
GetWebPermissionDataBaseInstance()184 NWeb::OhosWebPermissionDataBaseAdapter& ArkOhosAdapterHelperWrapper::GetWebPermissionDataBaseInstance()
185 {
186     static ArkOhosWebPermissionDataBaseAdapterWrapper instance(ctocpp_->GetWebPermissionDataBaseInstance());
187     return instance;
188 }
189 
CreateMMIAdapter()190 std::unique_ptr<NWeb::MMIAdapter> ArkOhosAdapterHelperWrapper::CreateMMIAdapter()
191 {
192     ArkWebRefPtr<ArkMMIAdapter> adapter = ctocpp_->CreateMMIAdapter();
193 
194     if (CHECK_REF_PTR_IS_NULL(adapter)) {
195         return nullptr;
196     }
197 
198     return std::make_unique<ArkMMIAdapterWrapper>(adapter);
199 }
200 
CreateSocPerfClientAdapter()201 std::unique_ptr<NWeb::SocPerfClientAdapter> ArkOhosAdapterHelperWrapper::CreateSocPerfClientAdapter()
202 {
203     ArkWebRefPtr<ArkSocPerfClientAdapter> adapter = ctocpp_->CreateSocPerfClientAdapter();
204 
205     if (CHECK_REF_PTR_IS_NULL(adapter)) {
206         return nullptr;
207     }
208 
209     return std::make_unique<ArkSocPerfClientAdapterWrapper>(adapter);
210 }
211 
GetResourceAdapter(const std::string & hapPath)212 std::unique_ptr<NWeb::OhosResourceAdapter> ArkOhosAdapterHelperWrapper::GetResourceAdapter(const std::string& hapPath)
213 {
214     ArkWebString str = ArkWebStringClassToStruct(hapPath);
215     ArkWebRefPtr<ArkOhosResourceAdapter> adapter = ctocpp_->GetResourceAdapter(str);
216     ArkWebStringStructRelease(str);
217 
218     if (CHECK_REF_PTR_IS_NULL(adapter)) {
219         return nullptr;
220     }
221 
222     return std::make_unique<ArkOhosResourceAdapterWrapper>(adapter);
223 }
224 
GetSystemPropertiesInstance()225 NWeb::SystemPropertiesAdapter& ArkOhosAdapterHelperWrapper::GetSystemPropertiesInstance()
226 {
227     static ArkSystemPropertiesAdapterWrapper instance(ctocpp_->GetSystemPropertiesInstance());
228     return instance;
229 }
230 
GetVSyncAdapter()231 NWeb::VSyncAdapter& ArkOhosAdapterHelperWrapper::GetVSyncAdapter()
232 {
233     static ArkVSyncAdapterWrapper instance(ctocpp_->GetVSyncAdapter());
234     return instance;
235 }
236 
GetInitWebAdapter()237 std::unique_ptr<NWeb::OhosInitWebAdapter> ArkOhosAdapterHelperWrapper::GetInitWebAdapter()
238 {
239     ArkWebRefPtr<ArkOhosInitWebAdapter> adapter = ctocpp_->GetInitWebAdapter();
240 
241     if (CHECK_REF_PTR_IS_NULL(adapter)) {
242         return nullptr;
243     }
244 
245     return std::make_unique<ArkOhosInitWebAdapterWrapper>(adapter);
246 }
247 
GetKeystoreAdapterInstance()248 NWeb::KeystoreAdapter& ArkOhosAdapterHelperWrapper::GetKeystoreAdapterInstance()
249 {
250     static ArkKeystoreAdapterWrapper instance(ctocpp_->GetKeystoreAdapterInstance());
251     return instance;
252 }
253 
GetEnterpriseDeviceManagementInstance()254 NWeb::EnterpriseDeviceManagementAdapter& ArkOhosAdapterHelperWrapper::GetEnterpriseDeviceManagementInstance()
255 {
256     static ArkEnterpriseDeviceManagementAdapterWrapper instance(ctocpp_->GetEnterpriseDeviceManagementInstance());
257     return instance;
258 }
259 
GetDatashareInstance()260 NWeb::DatashareAdapter& ArkOhosAdapterHelperWrapper::GetDatashareInstance()
261 {
262     static ArkDatashareAdapterWrapper instance(ctocpp_->GetDatashareInstance());
263     return instance;
264 }
265 
CreateIMFAdapter()266 std::unique_ptr<NWeb::IMFAdapter> ArkOhosAdapterHelperWrapper::CreateIMFAdapter()
267 {
268     ArkWebRefPtr<ArkIMFAdapter> adapter = ctocpp_->CreateIMFAdapter();
269 
270     if (CHECK_REF_PTR_IS_NULL(adapter)) {
271         return nullptr;
272     }
273 
274     return std::make_unique<ArkIMFAdapterWrapper>(adapter);
275 }
276 
GetRootCertDataAdapter()277 std::unique_ptr<NWeb::CertManagerAdapter> ArkOhosAdapterHelperWrapper::GetRootCertDataAdapter()
278 {
279     ArkWebRefPtr<ArkCertManagerAdapter> adapter = ctocpp_->GetRootCertDataAdapter();
280 
281     if (CHECK_REF_PTR_IS_NULL(adapter)) {
282         return nullptr;
283     }
284 
285     return std::make_unique<ArkCertManagerAdapterWrapper>(adapter);
286 }
287 
GetAccessTokenAdapterInstance()288 NWeb::AccessTokenAdapter& ArkOhosAdapterHelperWrapper::GetAccessTokenAdapterInstance()
289 {
290     static ArkAccessTokenAdapterWrapper instance(ctocpp_->GetAccessTokenAdapterInstance());
291     return instance;
292 }
293 
GetEventHandlerAdapter()294 std::unique_ptr<NWeb::EventHandlerAdapter> ArkOhosAdapterHelperWrapper::GetEventHandlerAdapter()
295 {
296     ArkWebRefPtr<ArkEventHandlerAdapter> adapter = ctocpp_->GetEventHandlerAdapter();
297 
298     if (CHECK_REF_PTR_IS_NULL(adapter)) {
299         return nullptr;
300     }
301 
302     return std::make_unique<ArkEventHandlerAdapterWrapper>(adapter);
303 }
304 
GetPrintManagerInstance()305 NWeb::PrintManagerAdapter& ArkOhosAdapterHelperWrapper::GetPrintManagerInstance()
306 {
307     static ArkPrintManagerAdapterWrapper instance(ctocpp_->GetPrintManagerInstance());
308     return instance;
309 }
310 
CreateConsumerSurfaceAdapter()311 std::unique_ptr<NWeb::IConsumerSurfaceAdapter> ArkOhosAdapterHelperWrapper::CreateConsumerSurfaceAdapter()
312 {
313     ArkWebRefPtr<ArkIConsumerSurfaceAdapter> adapter = ctocpp_->CreateConsumerSurfaceAdapter();
314 
315     if (CHECK_REF_PTR_IS_NULL(adapter)) {
316         return nullptr;
317     }
318 
319     return std::make_unique<ArkIConsumerSurfaceAdapterWrapper>(adapter);
320 }
321 
CreatePlayerAdapter()322 std::unique_ptr<NWeb::PlayerAdapter> ArkOhosAdapterHelperWrapper::CreatePlayerAdapter()
323 {
324     ArkWebRefPtr<ArkPlayerAdapter> adapter = ctocpp_->CreatePlayerAdapter();
325 
326     if (CHECK_REF_PTR_IS_NULL(adapter)) {
327         return nullptr;
328     }
329 
330     return std::make_unique<ArkPlayerAdapterWrapper>(adapter);
331 }
332 
GetWindowAdapterInstance()333 NWeb::WindowAdapter& ArkOhosAdapterHelperWrapper::GetWindowAdapterInstance()
334 {
335     static ArkWindowAdapterWrapper instance(ctocpp_->GetWindowAdapterInstance());
336     return instance;
337 }
338 
GetHiSysEventAdapterInstance()339 NWeb::HiSysEventAdapter& ArkOhosAdapterHelperWrapper::GetHiSysEventAdapterInstance()
340 {
341     static ArkHiSysEventAdapterWrapper instance(ctocpp_->GetHiSysEventAdapterInstance());
342     return instance;
343 }
344 
GetHiTraceAdapterInstance()345 NWeb::HiTraceAdapter& ArkOhosAdapterHelperWrapper::GetHiTraceAdapterInstance()
346 {
347     static ArkHiTraceAdapterWrapper instance(ctocpp_->GetHiTraceAdapterInstance());
348     return instance;
349 }
350 
GetNetProxyInstance()351 NWeb::NetProxyAdapter& ArkOhosAdapterHelperWrapper::GetNetProxyInstance()
352 {
353     static ArkNetProxyAdapterWrapper instance(ctocpp_->GetNetProxyInstance());
354     return instance;
355 }
356 
GetCameraManagerAdapter()357 NWeb::CameraManagerAdapter& ArkOhosAdapterHelperWrapper::GetCameraManagerAdapter()
358 {
359     static ArkCameraManagerAdapterWrapper instance(ctocpp_->GetCameraManagerAdapter());
360     return instance;
361 }
362 
CreateScreenCaptureAdapter()363 std::unique_ptr<NWeb::ScreenCaptureAdapter> ArkOhosAdapterHelperWrapper::CreateScreenCaptureAdapter()
364 {
365     ArkWebRefPtr<ArkScreenCaptureAdapter> adapter = ctocpp_->CreateScreenCaptureAdapter();
366 
367     if (CHECK_REF_PTR_IS_NULL(adapter)) {
368         return nullptr;
369     }
370 
371     return std::make_unique<ArkScreenCaptureAdapterWrapper>(adapter);
372 }
373 
CreateDateTimeFormatAdapter()374 std::unique_ptr<NWeb::DateTimeFormatAdapter> ArkOhosAdapterHelperWrapper::CreateDateTimeFormatAdapter()
375 {
376     ArkWebRefPtr<ArkDateTimeFormatAdapter> adapter = ctocpp_->CreateDateTimeFormatAdapter();
377 
378     if (CHECK_REF_PTR_IS_NULL(adapter)) {
379         return nullptr;
380     }
381 
382     return std::make_unique<ArkDateTimeFormatAdapterWrapper>(adapter);
383 }
384 
CreateMediaCodecDecoderAdapter()385 std::unique_ptr<NWeb::MediaCodecDecoderAdapter> ArkOhosAdapterHelperWrapper::CreateMediaCodecDecoderAdapter()
386 {
387     ArkWebRefPtr<ArkMediaCodecDecoderAdapter> adapter = ctocpp_->CreateMediaCodecDecoderAdapter();
388 
389     if (CHECK_REF_PTR_IS_NULL(adapter)) {
390         return nullptr;
391     }
392 
393     return std::make_unique<ArkMediaCodecDecoderAdapterWrapper>(adapter);
394 }
395 
CreateNativeImageAdapter()396 std::unique_ptr<NWeb::NativeImageAdapter> ArkOhosAdapterHelperWrapper::CreateNativeImageAdapter()
397 {
398     ArkWebRefPtr<ArkNativeImageAdapter> adapter = ctocpp_->CreateNativeImageAdapter();
399 
400     if (CHECK_REF_PTR_IS_NULL(adapter)) {
401         return nullptr;
402     }
403 
404     return std::make_unique<ArkNativeImageAdapterWrapper>(adapter);
405 }
406 
CreateMediaCodecEncoderAdapter()407 std::unique_ptr<NWeb::MediaCodecAdapter> ArkOhosAdapterHelperWrapper::CreateMediaCodecEncoderAdapter()
408 {
409     ArkWebRefPtr<ArkMediaCodecAdapter> adapter = ctocpp_->CreateMediaCodecEncoderAdapter();
410 
411     if (CHECK_REF_PTR_IS_NULL(adapter)) {
412         return nullptr;
413     }
414 
415     return std::make_unique<ArkMediaCodecEncoderAdapterWrapper>(adapter);
416 }
417 
GetMediaCodecListAdapter()418 NWeb::MediaCodecListAdapter& ArkOhosAdapterHelperWrapper::GetMediaCodecListAdapter()
419 {
420     static ArkMediaCodecListAdapterWrapper instance(ctocpp_->GetMediaCodecListAdapter());
421     return instance;
422 }
423 
CreateFlowbufferAdapter()424 std::unique_ptr<NWeb::FlowbufferAdapter> ArkOhosAdapterHelperWrapper::CreateFlowbufferAdapter()
425 {
426     ArkWebRefPtr<ArkFlowbufferAdapter> adapter = ctocpp_->CreateFlowbufferAdapter();
427 
428     if (CHECK_REF_PTR_IS_NULL(adapter)) {
429         return nullptr;
430     }
431 
432     return std::make_unique<ArkFlowbufferAdapterWrapper>(adapter);
433 }
434 
CreateMediaAVSessionAdapter()435 std::unique_ptr<NWeb::MediaAVSessionAdapter> ArkOhosAdapterHelperWrapper::CreateMediaAVSessionAdapter()
436 {
437     ArkWebRefPtr<ArkMediaAVSessionAdapter> adapter = ctocpp_->CreateMediaAVSessionAdapter();
438 
439     if (CHECK_REF_PTR_IS_NULL(adapter)) {
440         return nullptr;
441     }
442 
443     return std::make_unique<ArkMediaAVSessionAdapterWrapper>(adapter);
444 }
445 
CreateOhosImageDecoderAdapter()446 std::unique_ptr<NWeb::OhosImageDecoderAdapter> ArkOhosAdapterHelperWrapper::CreateOhosImageDecoderAdapter()
447 {
448     ArkWebRefPtr<ArkOhosImageDecoderAdapter> adapter = ctocpp_->CreateOhosImageDecoderAdapter();
449 
450     if (CHECK_REF_PTR_IS_NULL(adapter)) {
451         return nullptr;
452     }
453 
454     return std::make_unique<ArkOhosImageDecoderAdapterWrapper>(adapter);
455 }
456 
CreateSensorAdapter()457 std::unique_ptr<NWeb::SensorAdapter> ArkOhosAdapterHelperWrapper::CreateSensorAdapter()
458 {
459     ArkWebRefPtr<ArkSensorAdapter> adapter = ctocpp_->CreateSensorAdapter();
460 
461     if (CHECK_REF_PTR_IS_NULL(adapter)) {
462         return nullptr;
463     }
464 
465     return std::make_unique<ArkSensorAdapterWrapper>(adapter);
466 }
467 
SetArkWebCoreHapPathOverride(const std::string & hapPath)468 void ArkOhosAdapterHelperWrapper::SetArkWebCoreHapPathOverride(const std::string& hapPath)
469 {
470     ArkWebString str = ArkWebStringClassToStruct(hapPath);
471     ctocpp_->SetArkWebCoreHapPathOverride(str);
472     ArkWebStringStructRelease(str);
473 }
474 
GetOhosNativeBufferAdapter()475 NWeb::OhosNativeBufferAdapter& ArkOhosAdapterHelperWrapper::GetOhosNativeBufferAdapter()
476 {
477     static ArkOhosNativeBufferAdapterWrapper instance(ctocpp_->GetOhosNativeBufferAdapter());
478     return instance;
479 }
480 
CreateMigrationMgrAdapter()481 std::unique_ptr<NWeb::MigrationManagerAdapter> ArkOhosAdapterHelperWrapper::CreateMigrationMgrAdapter()
482 {
483     ArkWebRefPtr<ArkMigrationManagerAdapter> adapter = ctocpp_->CreateMigrationMgrAdapter();
484 
485     if (CHECK_REF_PTR_IS_NULL(adapter)) {
486         return nullptr;
487     }
488 
489     return std::make_unique<ArkMigrationManagerAdapterWrapper>(adapter);
490 }
491 
GetOhosDrawingTextFontAdapter()492 NWeb::OhosDrawingTextFontAdapter& ArkOhosAdapterHelperWrapper::GetOhosDrawingTextFontAdapter()
493 {
494     static ArkOhosDrawingTextFontAdapterWrapper instance(ctocpp_->GetOhosDrawingTextFontAdapter());
495     return instance;
496 }
497 
GetOhosDrawingTextTypographyAdapter()498 NWeb::OhosDrawingTextTypographyAdapter& ArkOhosAdapterHelperWrapper::GetOhosDrawingTextTypographyAdapter()
499 {
500     static ArkOhosDrawingTextTypographyAdapterWrapper instance(ctocpp_->GetOhosDrawingTextTypographyAdapter());
501     return instance;
502 }
503 
CreateAudioCodecDecoderAdapter()504 std::unique_ptr<NWeb::AudioCodecDecoderAdapter> ArkOhosAdapterHelperWrapper::CreateAudioCodecDecoderAdapter()
505 {
506     ArkWebRefPtr<ArkAudioCodecDecoderAdapter> adapter = ctocpp_->CreateAudioCodecDecoderAdapter();
507 
508     if (CHECK_REF_PTR_IS_NULL(adapter)) {
509         return nullptr;
510     }
511 
512     return std::make_unique<ArkAudioCodecDecoderAdapterWrapper>(adapter);
513 }
514 
CreateDrmAdapter()515 std::unique_ptr<NWeb::DrmAdapter> ArkOhosAdapterHelperWrapper::CreateDrmAdapter()
516 {
517     ArkWebRefPtr<ArkDrmAdapter> adapter = ctocpp_->CreateDrmAdapter();
518 
519     if (CHECK_REF_PTR_IS_NULL(adapter)) {
520         return nullptr;
521     }
522 
523     return std::make_unique<ArkDrmAdapterWrapper>(adapter);
524 }
525 
526 } // namespace OHOS::ArkWeb
527