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()77OhosAdapterHelper& 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)87ArkOhosAdapterHelperWrapper::ArkOhosAdapterHelperWrapper(ArkWebRefPtr<ArkOhosAdapterHelper> ref) : ctocpp_(ref) {} 88 CreateAafwkAdapter()89std::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()100std::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()111std::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()122std::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()133std::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()144NWeb::OhosWebDataBaseAdapter& ArkOhosAdapterHelperWrapper::GetOhosWebDataBaseAdapterInstance() 145 { 146 static ArkOhosWebDataBaseAdapterWrapper instance(ctocpp_->GetOhosWebDataBaseAdapterInstance()); 147 return instance; 148 } 149 GetPasteBoard()150NWeb::PasteBoardClientAdapter& ArkOhosAdapterHelperWrapper::GetPasteBoard() 151 { 152 static ArkPasteBoardClientAdapterWrapper instance(ctocpp_->GetPasteBoard()); 153 return instance; 154 } 155 CreateAudioRendererAdapter()156std::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()167std::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()178NWeb::AudioSystemManagerAdapter& ArkOhosAdapterHelperWrapper::GetAudioSystemManager() 179 { 180 static ArkAudioSystemManagerAdapterWrapper instance(ctocpp_->GetAudioSystemManager()); 181 return instance; 182 } 183 GetWebPermissionDataBaseInstance()184NWeb::OhosWebPermissionDataBaseAdapter& ArkOhosAdapterHelperWrapper::GetWebPermissionDataBaseInstance() 185 { 186 static ArkOhosWebPermissionDataBaseAdapterWrapper instance(ctocpp_->GetWebPermissionDataBaseInstance()); 187 return instance; 188 } 189 CreateMMIAdapter()190std::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()201std::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)212std::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()225NWeb::SystemPropertiesAdapter& ArkOhosAdapterHelperWrapper::GetSystemPropertiesInstance() 226 { 227 static ArkSystemPropertiesAdapterWrapper instance(ctocpp_->GetSystemPropertiesInstance()); 228 return instance; 229 } 230 GetVSyncAdapter()231NWeb::VSyncAdapter& ArkOhosAdapterHelperWrapper::GetVSyncAdapter() 232 { 233 static ArkVSyncAdapterWrapper instance(ctocpp_->GetVSyncAdapter()); 234 return instance; 235 } 236 GetInitWebAdapter()237std::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()248NWeb::KeystoreAdapter& ArkOhosAdapterHelperWrapper::GetKeystoreAdapterInstance() 249 { 250 static ArkKeystoreAdapterWrapper instance(ctocpp_->GetKeystoreAdapterInstance()); 251 return instance; 252 } 253 GetEnterpriseDeviceManagementInstance()254NWeb::EnterpriseDeviceManagementAdapter& ArkOhosAdapterHelperWrapper::GetEnterpriseDeviceManagementInstance() 255 { 256 static ArkEnterpriseDeviceManagementAdapterWrapper instance(ctocpp_->GetEnterpriseDeviceManagementInstance()); 257 return instance; 258 } 259 GetDatashareInstance()260NWeb::DatashareAdapter& ArkOhosAdapterHelperWrapper::GetDatashareInstance() 261 { 262 static ArkDatashareAdapterWrapper instance(ctocpp_->GetDatashareInstance()); 263 return instance; 264 } 265 CreateIMFAdapter()266std::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()277std::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()288NWeb::AccessTokenAdapter& ArkOhosAdapterHelperWrapper::GetAccessTokenAdapterInstance() 289 { 290 static ArkAccessTokenAdapterWrapper instance(ctocpp_->GetAccessTokenAdapterInstance()); 291 return instance; 292 } 293 GetEventHandlerAdapter()294std::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()305NWeb::PrintManagerAdapter& ArkOhosAdapterHelperWrapper::GetPrintManagerInstance() 306 { 307 static ArkPrintManagerAdapterWrapper instance(ctocpp_->GetPrintManagerInstance()); 308 return instance; 309 } 310 CreateConsumerSurfaceAdapter()311std::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()322std::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()333NWeb::WindowAdapter& ArkOhosAdapterHelperWrapper::GetWindowAdapterInstance() 334 { 335 static ArkWindowAdapterWrapper instance(ctocpp_->GetWindowAdapterInstance()); 336 return instance; 337 } 338 GetHiSysEventAdapterInstance()339NWeb::HiSysEventAdapter& ArkOhosAdapterHelperWrapper::GetHiSysEventAdapterInstance() 340 { 341 static ArkHiSysEventAdapterWrapper instance(ctocpp_->GetHiSysEventAdapterInstance()); 342 return instance; 343 } 344 GetHiTraceAdapterInstance()345NWeb::HiTraceAdapter& ArkOhosAdapterHelperWrapper::GetHiTraceAdapterInstance() 346 { 347 static ArkHiTraceAdapterWrapper instance(ctocpp_->GetHiTraceAdapterInstance()); 348 return instance; 349 } 350 GetNetProxyInstance()351NWeb::NetProxyAdapter& ArkOhosAdapterHelperWrapper::GetNetProxyInstance() 352 { 353 static ArkNetProxyAdapterWrapper instance(ctocpp_->GetNetProxyInstance()); 354 return instance; 355 } 356 GetCameraManagerAdapter()357NWeb::CameraManagerAdapter& ArkOhosAdapterHelperWrapper::GetCameraManagerAdapter() 358 { 359 static ArkCameraManagerAdapterWrapper instance(ctocpp_->GetCameraManagerAdapter()); 360 return instance; 361 } 362 CreateScreenCaptureAdapter()363std::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()374std::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()385std::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()396std::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()407std::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()418NWeb::MediaCodecListAdapter& ArkOhosAdapterHelperWrapper::GetMediaCodecListAdapter() 419 { 420 static ArkMediaCodecListAdapterWrapper instance(ctocpp_->GetMediaCodecListAdapter()); 421 return instance; 422 } 423 CreateFlowbufferAdapter()424std::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()435std::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()446std::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()457std::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)468void ArkOhosAdapterHelperWrapper::SetArkWebCoreHapPathOverride(const std::string& hapPath) 469 { 470 ArkWebString str = ArkWebStringClassToStruct(hapPath); 471 ctocpp_->SetArkWebCoreHapPathOverride(str); 472 ArkWebStringStructRelease(str); 473 } 474 GetOhosNativeBufferAdapter()475NWeb::OhosNativeBufferAdapter& ArkOhosAdapterHelperWrapper::GetOhosNativeBufferAdapter() 476 { 477 static ArkOhosNativeBufferAdapterWrapper instance(ctocpp_->GetOhosNativeBufferAdapter()); 478 return instance; 479 } 480 CreateMigrationMgrAdapter()481std::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()492NWeb::OhosDrawingTextFontAdapter& ArkOhosAdapterHelperWrapper::GetOhosDrawingTextFontAdapter() 493 { 494 static ArkOhosDrawingTextFontAdapterWrapper instance(ctocpp_->GetOhosDrawingTextFontAdapter()); 495 return instance; 496 } 497 GetOhosDrawingTextTypographyAdapter()498NWeb::OhosDrawingTextTypographyAdapter& ArkOhosAdapterHelperWrapper::GetOhosDrawingTextTypographyAdapter() 499 { 500 static ArkOhosDrawingTextTypographyAdapterWrapper instance(ctocpp_->GetOhosDrawingTextTypographyAdapter()); 501 return instance; 502 } 503 CreateAudioCodecDecoderAdapter()504std::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()515std::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