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_impl.h" 17 18 #include "ohos_adapter/bridge/ark_aafwk_app_mgr_client_adapter_impl.h" 19 #include "ohos_adapter/bridge/ark_access_token_adapter_impl.h" 20 #include "ohos_adapter/bridge/ark_audio_capturer_adapter_impl.h" 21 #include "ohos_adapter/bridge/ark_audio_renderer_adapter_impl.h" 22 #include "ohos_adapter/bridge/ark_audio_system_manager_adapter_impl.h" 23 #include "ohos_adapter/bridge/ark_battery_info_impl.h" 24 #include "ohos_adapter/bridge/ark_battery_mgr_client_adapter_impl.h" 25 #include "ohos_adapter/bridge/ark_camera_manager_adapter_impl.h" 26 #include "ohos_adapter/bridge/ark_camera_surface_adapter_impl.h" 27 #include "ohos_adapter/bridge/ark_camera_surface_buffer_adapter_impl.h" 28 #include "ohos_adapter/bridge/ark_cert_manager_adapter_impl.h" 29 #include "ohos_adapter/bridge/ark_datashare_adapter_impl.h" 30 #include "ohos_adapter/bridge/ark_date_time_format_adapter_impl.h" 31 #include "ohos_adapter/bridge/ark_display_adapter_impl.h" 32 #include "ohos_adapter/bridge/ark_display_manager_adapter_impl.h" 33 #include "ohos_adapter/bridge/ark_enterprise_device_management_adapter_impl.h" 34 #include "ohos_adapter/bridge/ark_event_handler_adapter_impl.h" 35 #include "ohos_adapter/bridge/ark_flowbuffer_adapter_impl.h" 36 #include "ohos_adapter/bridge/ark_hisysevent_adapter_impl.h" 37 #include "ohos_adapter/bridge/ark_hitrace_adapter_impl.h" 38 #include "ohos_adapter/bridge/ark_iconsumer_surface_adapter_impl.h" 39 #include "ohos_adapter/bridge/ark_imf_adapter_impl.h" 40 #include "ohos_adapter/bridge/ark_keystore_adapter_impl.h" 41 #include "ohos_adapter/bridge/ark_location_info_impl.h" 42 #include "ohos_adapter/bridge/ark_location_instance_impl.h" 43 #include "ohos_adapter/bridge/ark_location_proxy_adapter_impl.h" 44 #include "ohos_adapter/bridge/ark_location_request_config_impl.h" 45 #include "ohos_adapter/bridge/ark_media_avsession_adapter_impl.h" 46 #include "ohos_adapter/bridge/ark_media_codec_decoder_adapter_impl.h" 47 #include "ohos_adapter/bridge/ark_media_codec_encoder_adapter_impl.h" 48 #include "ohos_adapter/bridge/ark_mmi_adapter_impl.h" 49 #include "ohos_adapter/bridge/ark_native_image_adapter_impl.h" 50 #include "ohos_adapter/bridge/ark_net_connect_adapter_impl.h" 51 #include "ohos_adapter/bridge/ark_net_proxy_adapter_impl.h" 52 #include "ohos_adapter/bridge/ark_ohos_file_mapper_impl.h" 53 #include "ohos_adapter/bridge/ark_ohos_image_decoder_adapter_impl.h" 54 #include "ohos_adapter/bridge/ark_ohos_init_web_adapter_impl.h" 55 #include "ohos_adapter/bridge/ark_ohos_native_buffer_adapter_impl.h" 56 #include "ohos_adapter/bridge/ark_ohos_resource_adapter_impl.h" 57 #include "ohos_adapter/bridge/ark_ohos_web_data_base_adapter_impl.h" 58 #include "ohos_adapter/bridge/ark_paste_board_client_adapter_impl.h" 59 #include "ohos_adapter/bridge/ark_paste_data_adapter_impl.h" 60 #include "ohos_adapter/bridge/ark_paste_data_record_adapter_impl.h" 61 #include "ohos_adapter/bridge/ark_player_adapter_impl.h" 62 #include "ohos_adapter/bridge/ark_power_mgr_client_adapter_impl.h" 63 #include "ohos_adapter/bridge/ark_print_manager_adapter_impl.h" 64 #include "ohos_adapter/bridge/ark_running_lock_adapter_impl.h" 65 #include "ohos_adapter/bridge/ark_screen_capture_adapter_impl.h" 66 #include "ohos_adapter/bridge/ark_soc_perf_client_adapter_impl.h" 67 #include "ohos_adapter/bridge/ark_surface_buffer_adapter_impl.h" 68 #include "ohos_adapter/bridge/ark_system_properties_adapter_impl.h" 69 #include "ohos_adapter/bridge/ark_vsync_adapter_impl.h" 70 #include "ohos_adapter/bridge/ark_web_date_timezone_info_impl.h" 71 #include "ohos_adapter/bridge/ark_window_adapter_impl.h" 72 #include "ohos_adapter/bridge/ark_sensor_adapter_impl.h" 73 #include "base/bridge/ark_web_bridge_macros.h" 74 75 namespace OHOS::ArkWeb { 76 GetInstance()77ArkWebRefPtr<ArkOhosAdapterHelper> ArkOhosAdapterHelper::GetInstance() 78 { 79 static NWeb::OhosAdapterHelper& instance = NWeb::OhosAdapterHelper::GetInstance(); 80 static ArkWebRefPtr<ArkOhosAdapterHelper> impl = new ArkOhosAdapterHelperImpl(instance); 81 return impl; 82 } 83 ArkOhosAdapterHelperImpl(NWeb::OhosAdapterHelper & ref)84ArkOhosAdapterHelperImpl::ArkOhosAdapterHelperImpl(NWeb::OhosAdapterHelper& ref) : real_(ref) {} 85 CreateAafwkAdapter()86ArkWebRefPtr<ArkAafwkAppMgrClientAdapter> ArkOhosAdapterHelperImpl::CreateAafwkAdapter() 87 { 88 std::unique_ptr<NWeb::AafwkAppMgrClientAdapter> adapter = real_.CreateAafwkAdapter(); 89 std::shared_ptr<NWeb::AafwkAppMgrClientAdapter> shared = std::move(adapter); 90 return new ArkAafwkAppMgrClientAdapterImpl(shared); 91 } 92 CreatePowerMgrClientAdapter()93ArkWebRefPtr<ArkPowerMgrClientAdapter> ArkOhosAdapterHelperImpl::CreatePowerMgrClientAdapter() 94 { 95 std::unique_ptr<NWeb::PowerMgrClientAdapter> adapter = real_.CreatePowerMgrClientAdapter(); 96 std::shared_ptr<NWeb::PowerMgrClientAdapter> shared = std::move(adapter); 97 return new ArkPowerMgrClientAdapterImpl(shared); 98 } 99 CreateDisplayMgrAdapter()100ArkWebRefPtr<ArkDisplayManagerAdapter> ArkOhosAdapterHelperImpl::CreateDisplayMgrAdapter() 101 { 102 std::unique_ptr<NWeb::DisplayManagerAdapter> adapter = real_.CreateDisplayMgrAdapter(); 103 std::shared_ptr<NWeb::DisplayManagerAdapter> shared = std::move(adapter); 104 return new ArkDisplayManagerAdapterImpl(shared); 105 } 106 CreateBatteryClientAdapter()107ArkWebRefPtr<ArkBatteryMgrClientAdapter> ArkOhosAdapterHelperImpl::CreateBatteryClientAdapter() 108 { 109 std::unique_ptr<NWeb::BatteryMgrClientAdapter> adapter = real_.CreateBatteryClientAdapter(); 110 std::shared_ptr<NWeb::BatteryMgrClientAdapter> shared = std::move(adapter); 111 return new ArkBatteryMgrClientAdapterImpl(shared); 112 } 113 CreateNetConnectAdapter()114ArkWebRefPtr<ArkNetConnectAdapter> ArkOhosAdapterHelperImpl::CreateNetConnectAdapter() 115 { 116 std::unique_ptr<NWeb::NetConnectAdapter> adapter = real_.CreateNetConnectAdapter(); 117 std::shared_ptr<NWeb::NetConnectAdapter> shared = std::move(adapter); 118 return new ArkNetConnectAdapterImpl(shared); 119 } 120 GetOhosWebDataBaseAdapterInstance()121ArkWebRefPtr<ArkOhosWebDataBaseAdapter> ArkOhosAdapterHelperImpl::GetOhosWebDataBaseAdapterInstance() 122 { 123 static NWeb::OhosWebDataBaseAdapter& instance = real_.GetOhosWebDataBaseAdapterInstance(); 124 static ArkWebRefPtr<ArkOhosWebDataBaseAdapter> impl = new ArkOhosWebDataBaseAdapterImpl(instance); 125 return impl; 126 } 127 GetPasteBoard()128ArkWebRefPtr<ArkPasteBoardClientAdapter> ArkOhosAdapterHelperImpl::GetPasteBoard() 129 { 130 static NWeb::PasteBoardClientAdapter& instance = real_.GetPasteBoard(); 131 static ArkWebRefPtr<ArkPasteBoardClientAdapter> impl = new ArkPasteBoardClientAdapterImpl(instance); 132 return impl; 133 } 134 CreateAudioRendererAdapter()135ArkWebRefPtr<ArkAudioRendererAdapter> ArkOhosAdapterHelperImpl::CreateAudioRendererAdapter() 136 { 137 std::unique_ptr<NWeb::AudioRendererAdapter> adapter = real_.CreateAudioRendererAdapter(); 138 std::shared_ptr<NWeb::AudioRendererAdapter> shared = std::move(adapter); 139 return new ArkAudioRendererAdapterImpl(shared); 140 } 141 CreateAudioCapturerAdapter()142ArkWebRefPtr<ArkAudioCapturerAdapter> ArkOhosAdapterHelperImpl::CreateAudioCapturerAdapter() 143 { 144 std::unique_ptr<NWeb::AudioCapturerAdapter> adapter = real_.CreateAudioCapturerAdapter(); 145 std::shared_ptr<NWeb::AudioCapturerAdapter> shared = std::move(adapter); 146 return new ArkAudioCapturerAdapterImpl(shared); 147 } 148 GetAudioSystemManager()149ArkWebRefPtr<ArkAudioSystemManagerAdapter> ArkOhosAdapterHelperImpl::GetAudioSystemManager() 150 { 151 static NWeb::AudioSystemManagerAdapter& instance = real_.GetAudioSystemManager(); 152 static ArkWebRefPtr<ArkAudioSystemManagerAdapter> impl = new ArkAudioSystemManagerAdapterImpl(instance); 153 return impl; 154 } 155 GetWebPermissionDataBaseInstance()156ArkWebRefPtr<ArkOhosWebPermissionDataBaseAdapter> ArkOhosAdapterHelperImpl::GetWebPermissionDataBaseInstance() 157 { 158 static NWeb::OhosWebPermissionDataBaseAdapter& instance = real_.GetWebPermissionDataBaseInstance(); 159 static ArkWebRefPtr<ArkOhosWebPermissionDataBaseAdapter> impl = 160 new ArkOhosWebPermissionDataBaseAdapterImpl(instance); 161 return impl; 162 } 163 CreateMMIAdapter()164ArkWebRefPtr<ArkMMIAdapter> ArkOhosAdapterHelperImpl::CreateMMIAdapter() 165 { 166 std::unique_ptr<NWeb::MMIAdapter> adapter = real_.CreateMMIAdapter(); 167 std::shared_ptr<NWeb::MMIAdapter> shared = std::move(adapter); 168 return new ArkMMIAdapterImpl(shared); 169 } 170 CreateSocPerfClientAdapter()171ArkWebRefPtr<ArkSocPerfClientAdapter> ArkOhosAdapterHelperImpl::CreateSocPerfClientAdapter() 172 { 173 std::unique_ptr<NWeb::SocPerfClientAdapter> adapter = real_.CreateSocPerfClientAdapter(); 174 std::shared_ptr<NWeb::SocPerfClientAdapter> shared = std::move(adapter); 175 return new ArkSocPerfClientAdapterImpl(shared); 176 } 177 GetResourceAdapter(const ArkWebString & hapPath)178ArkWebRefPtr<ArkOhosResourceAdapter> ArkOhosAdapterHelperImpl::GetResourceAdapter(const ArkWebString& hapPath) 179 { 180 std::unique_ptr<NWeb::OhosResourceAdapter> adapter = real_.GetResourceAdapter(ArkWebStringStructToClass(hapPath)); 181 std::shared_ptr<NWeb::OhosResourceAdapter> shared = std::move(adapter); 182 return new ArkOhosResourceAdapterImpl(shared); 183 } 184 GetSystemPropertiesInstance()185ArkWebRefPtr<ArkSystemPropertiesAdapter> ArkOhosAdapterHelperImpl::GetSystemPropertiesInstance() 186 { 187 static NWeb::SystemPropertiesAdapter& instance = real_.GetSystemPropertiesInstance(); 188 static ArkWebRefPtr<ArkSystemPropertiesAdapter> impl = new ArkSystemPropertiesAdapterImpl(instance); 189 return impl; 190 } 191 GetVSyncAdapter()192ArkWebRefPtr<ArkVSyncAdapter> ArkOhosAdapterHelperImpl::GetVSyncAdapter() 193 { 194 static NWeb::VSyncAdapter& instance = real_.GetVSyncAdapter(); 195 static ArkWebRefPtr<ArkVSyncAdapter> impl = new ArkVSyncAdapterImpl(instance); 196 return impl; 197 } 198 GetInitWebAdapter()199ArkWebRefPtr<ArkOhosInitWebAdapter> ArkOhosAdapterHelperImpl::GetInitWebAdapter() 200 { 201 std::unique_ptr<NWeb::OhosInitWebAdapter> adapter = real_.GetInitWebAdapter(); 202 std::shared_ptr<NWeb::OhosInitWebAdapter> shared = std::move(adapter); 203 return new ArkOhosInitWebAdapterImpl(shared); 204 } 205 GetKeystoreAdapterInstance()206ArkWebRefPtr<ArkKeystoreAdapter> ArkOhosAdapterHelperImpl::GetKeystoreAdapterInstance() 207 { 208 static NWeb::KeystoreAdapter& instance = real_.GetKeystoreAdapterInstance(); 209 static ArkWebRefPtr<ArkKeystoreAdapter> impl = new ArkKeystoreAdapterImpl(instance); 210 return impl; 211 } 212 GetEnterpriseDeviceManagementInstance()213ArkWebRefPtr<ArkEnterpriseDeviceManagementAdapter> ArkOhosAdapterHelperImpl::GetEnterpriseDeviceManagementInstance() 214 { 215 static NWeb::EnterpriseDeviceManagementAdapter& instance = real_.GetEnterpriseDeviceManagementInstance(); 216 static ArkWebRefPtr<ArkEnterpriseDeviceManagementAdapter> impl = 217 new ArkEnterpriseDeviceManagementAdapterImpl(instance); 218 return impl; 219 } 220 GetDatashareInstance()221ArkWebRefPtr<ArkDatashareAdapter> ArkOhosAdapterHelperImpl::GetDatashareInstance() 222 { 223 static NWeb::DatashareAdapter& instance = real_.GetDatashareInstance(); 224 static ArkWebRefPtr<ArkDatashareAdapter> impl = new ArkDatashareAdapterImpl(instance); 225 return impl; 226 } 227 CreateIMFAdapter()228ArkWebRefPtr<ArkIMFAdapter> ArkOhosAdapterHelperImpl::CreateIMFAdapter() 229 { 230 std::unique_ptr<NWeb::IMFAdapter> adapter = real_.CreateIMFAdapter(); 231 std::shared_ptr<NWeb::IMFAdapter> shared = std::move(adapter); 232 return new ArkIMFAdapterImpl(shared); 233 } 234 GetRootCertDataAdapter()235ArkWebRefPtr<ArkCertManagerAdapter> ArkOhosAdapterHelperImpl::GetRootCertDataAdapter() 236 { 237 std::unique_ptr<NWeb::CertManagerAdapter> adapter = real_.GetRootCertDataAdapter(); 238 std::shared_ptr<NWeb::CertManagerAdapter> shared = std::move(adapter); 239 return new ArkCertManagerAdapterImpl(shared); 240 } 241 GetAccessTokenAdapterInstance()242ArkWebRefPtr<ArkAccessTokenAdapter> ArkOhosAdapterHelperImpl::GetAccessTokenAdapterInstance() 243 { 244 static NWeb::AccessTokenAdapter& instance = real_.GetAccessTokenAdapterInstance(); 245 static ArkWebRefPtr<ArkAccessTokenAdapter> impl = new ArkAccessTokenAdapterImpl(instance); 246 return impl; 247 } 248 GetEventHandlerAdapter()249ArkWebRefPtr<ArkEventHandlerAdapter> ArkOhosAdapterHelperImpl::GetEventHandlerAdapter() 250 { 251 std::unique_ptr<NWeb::EventHandlerAdapter> adapter = real_.GetEventHandlerAdapter(); 252 std::shared_ptr<NWeb::EventHandlerAdapter> shared = std::move(adapter); 253 return new ArkEventHandlerAdapterImpl(shared); 254 } 255 GetPrintManagerInstance()256ArkWebRefPtr<ArkPrintManagerAdapter> ArkOhosAdapterHelperImpl::GetPrintManagerInstance() 257 { 258 static NWeb::PrintManagerAdapter& instance = real_.GetPrintManagerInstance(); 259 static ArkWebRefPtr<ArkPrintManagerAdapter> impl = new ArkPrintManagerAdapterImpl(instance); 260 return impl; 261 } 262 CreateConsumerSurfaceAdapter()263ArkWebRefPtr<ArkIConsumerSurfaceAdapter> ArkOhosAdapterHelperImpl::CreateConsumerSurfaceAdapter() 264 { 265 std::unique_ptr<NWeb::IConsumerSurfaceAdapter> adapter = real_.CreateConsumerSurfaceAdapter(); 266 std::shared_ptr<NWeb::IConsumerSurfaceAdapter> shared = std::move(adapter); 267 return new ArkIConsumerSurfaceAdapterImpl(shared); 268 } 269 CreatePlayerAdapter()270ArkWebRefPtr<ArkPlayerAdapter> ArkOhosAdapterHelperImpl::CreatePlayerAdapter() 271 { 272 std::unique_ptr<NWeb::PlayerAdapter> adapter = real_.CreatePlayerAdapter(); 273 std::shared_ptr<NWeb::PlayerAdapter> shared = std::move(adapter); 274 return new ArkPlayerAdapterImpl(shared); 275 } 276 GetWindowAdapterInstance()277ArkWebRefPtr<ArkWindowAdapter> ArkOhosAdapterHelperImpl::GetWindowAdapterInstance() 278 { 279 static NWeb::WindowAdapter& instance = real_.GetWindowAdapterInstance(); 280 static ArkWebRefPtr<ArkWindowAdapter> impl = new ArkWindowAdapterImpl(instance); 281 return impl; 282 } 283 GetHiSysEventAdapterInstance()284ArkWebRefPtr<ArkHiSysEventAdapter> ArkOhosAdapterHelperImpl::GetHiSysEventAdapterInstance() 285 { 286 static NWeb::HiSysEventAdapter& instance = real_.GetHiSysEventAdapterInstance(); 287 static ArkWebRefPtr<ArkHiSysEventAdapter> impl = new ArkHiSysEventAdapterImpl(instance); 288 return impl; 289 } 290 GetHiTraceAdapterInstance()291ArkWebRefPtr<ArkHiTraceAdapter> ArkOhosAdapterHelperImpl::GetHiTraceAdapterInstance() 292 { 293 static NWeb::HiTraceAdapter& instance = real_.GetHiTraceAdapterInstance(); 294 static ArkWebRefPtr<ArkHiTraceAdapter> impl = new ArkHiTraceAdapterImpl(instance); 295 return impl; 296 } 297 GetNetProxyInstance()298ArkWebRefPtr<ArkNetProxyAdapter> ArkOhosAdapterHelperImpl::GetNetProxyInstance() 299 { 300 static NWeb::NetProxyAdapter& instance = real_.GetNetProxyInstance(); 301 static ArkWebRefPtr<ArkNetProxyAdapter> impl = new ArkNetProxyAdapterImpl(instance); 302 return impl; 303 } 304 GetCameraManagerAdapter()305ArkWebRefPtr<ArkCameraManagerAdapter> ArkOhosAdapterHelperImpl::GetCameraManagerAdapter() 306 { 307 static NWeb::CameraManagerAdapter& instance = real_.GetCameraManagerAdapter(); 308 static ArkWebRefPtr<ArkCameraManagerAdapter> impl = new ArkCameraManagerAdapterImpl(instance); 309 return impl; 310 } 311 CreateScreenCaptureAdapter()312ArkWebRefPtr<ArkScreenCaptureAdapter> ArkOhosAdapterHelperImpl::CreateScreenCaptureAdapter() 313 { 314 std::unique_ptr<NWeb::ScreenCaptureAdapter> adapter = real_.CreateScreenCaptureAdapter(); 315 std::shared_ptr<NWeb::ScreenCaptureAdapter> shared = std::move(adapter); 316 return new ArkScreenCaptureAdapterImpl(shared); 317 } 318 CreateDateTimeFormatAdapter()319ArkWebRefPtr<ArkDateTimeFormatAdapter> ArkOhosAdapterHelperImpl::CreateDateTimeFormatAdapter() 320 { 321 std::unique_ptr<NWeb::DateTimeFormatAdapter> adapter = real_.CreateDateTimeFormatAdapter(); 322 std::shared_ptr<NWeb::DateTimeFormatAdapter> shared = std::move(adapter); 323 return new ArkDateTimeFormatAdapterImpl(shared); 324 } 325 CreateMediaCodecDecoderAdapter()326ArkWebRefPtr<ArkMediaCodecDecoderAdapter> ArkOhosAdapterHelperImpl::CreateMediaCodecDecoderAdapter() 327 { 328 std::unique_ptr<NWeb::MediaCodecDecoderAdapter> adapter = real_.CreateMediaCodecDecoderAdapter(); 329 std::shared_ptr<NWeb::MediaCodecDecoderAdapter> shared = std::move(adapter); 330 return new ArkMediaCodecDecoderAdapterImpl(shared); 331 } 332 CreateNativeImageAdapter()333ArkWebRefPtr<ArkNativeImageAdapter> ArkOhosAdapterHelperImpl::CreateNativeImageAdapter() 334 { 335 std::unique_ptr<NWeb::NativeImageAdapter> adapter = real_.CreateNativeImageAdapter(); 336 std::shared_ptr<NWeb::NativeImageAdapter> shared = std::move(adapter); 337 return new ArkNativeImageAdapterImpl(shared); 338 } 339 GetMediaCodecListAdapter()340ArkWebRefPtr<ArkMediaCodecListAdapter> ArkOhosAdapterHelperImpl::GetMediaCodecListAdapter() 341 { 342 static NWeb::MediaCodecListAdapter& instance = real_.GetMediaCodecListAdapter(); 343 static ArkWebRefPtr<ArkMediaCodecListAdapter> impl = new ArkMediaCodecListAdapterImpl(instance); 344 return impl; 345 } 346 CreateMediaCodecEncoderAdapter()347ArkWebRefPtr<ArkMediaCodecAdapter> ArkOhosAdapterHelperImpl::CreateMediaCodecEncoderAdapter() 348 { 349 std::unique_ptr<NWeb::MediaCodecAdapter> adapter = real_.CreateMediaCodecEncoderAdapter(); 350 std::shared_ptr<NWeb::MediaCodecAdapter> shared = std::move(adapter); 351 return new ArkMediaCodecEncoderAdapterImpl(shared); 352 } 353 CreateFlowbufferAdapter()354ArkWebRefPtr<ArkFlowbufferAdapter> ArkOhosAdapterHelperImpl::CreateFlowbufferAdapter() 355 { 356 std::unique_ptr<NWeb::FlowbufferAdapter> adapter = real_.CreateFlowbufferAdapter(); 357 std::shared_ptr<NWeb::FlowbufferAdapter> shared = std::move(adapter); 358 return new ArkFlowbufferAdapterImpl(shared); 359 } 360 CreateMediaAVSessionAdapter()361ArkWebRefPtr<ArkMediaAVSessionAdapter> ArkOhosAdapterHelperImpl::CreateMediaAVSessionAdapter() 362 { 363 std::unique_ptr<NWeb::MediaAVSessionAdapter> adapter = real_.CreateMediaAVSessionAdapter(); 364 std::shared_ptr<NWeb::MediaAVSessionAdapter> shared = std::move(adapter); 365 return new ArkMediaAVSessionAdapterImpl(shared); 366 } 367 CreateOhosImageDecoderAdapter()368ArkWebRefPtr<ArkOhosImageDecoderAdapter> ArkOhosAdapterHelperImpl::CreateOhosImageDecoderAdapter() 369 { 370 std::unique_ptr<NWeb::OhosImageDecoderAdapter> adapter = real_.CreateOhosImageDecoderAdapter(); 371 std::shared_ptr<NWeb::OhosImageDecoderAdapter> shared = std::move(adapter); 372 return new ArkOhosImageDecoderAdapterImpl(shared); 373 } 374 CreateSensorAdapter()375ArkWebRefPtr<ArkSensorAdapter> ArkOhosAdapterHelperImpl::CreateSensorAdapter() 376 { 377 std::unique_ptr<NWeb::SensorAdapter> adapter = real_.CreateSensorAdapter(); 378 std::shared_ptr<NWeb::SensorAdapter> shared = std::move(adapter); 379 return new ArkSensorAdapterImpl(shared); 380 } 381 SetArkWebCoreHapPathOverride(const ArkWebString & hapPath)382void ArkOhosAdapterHelperImpl::SetArkWebCoreHapPathOverride(const ArkWebString& hapPath) 383 { 384 real_.SetArkWebCoreHapPathOverride(ArkWebStringStructToClass(hapPath)); 385 } 386 GetOhosNativeBufferAdapter()387ArkWebRefPtr<ArkOhosNativeBufferAdapter> ArkOhosAdapterHelperImpl::GetOhosNativeBufferAdapter() 388 { 389 static NWeb::OhosNativeBufferAdapter& instance = real_.GetOhosNativeBufferAdapter(); 390 static ArkWebRefPtr<ArkOhosNativeBufferAdapter> impl = new ArkOhosNativeBufferAdapterImpl(instance); 391 return impl; 392 } 393 394 } // namespace OHOS::ArkWeb 395