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