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_helper_impl.h" 17 18 #include "aafwk_app_mgr_client_adapter_impl.h" 19 #include "access_token_adapter_impl.h" 20 #include "audio_capturer_adapter_impl.h" 21 #include "audio_renderer_adapter_impl.h" 22 #include "audio_system_manager_adapter_impl.h" 23 #if defined(NWEB_BATTERY_MANAGER_ENABLE) 24 #include "battery_mgr_client_adapter_impl.h" 25 #endif 26 #include "camera_manager_adapter_impl.h" 27 #include "cert_mgr_adapter_impl.h" 28 #include "datashare_adapter_impl.h" 29 #include "date_time_format_adapter_impl.h" 30 #include "display_manager_adapter_impl.h" 31 #include "enterprise_device_management_adapter_impl.h" 32 #include "event_handler_adapter_impl.h" 33 #include "flowbuffer_adapter_impl.h" 34 #include "hisysevent_adapter_impl.h" 35 #include "hitrace_adapter_impl.h" 36 #include "imf_adapter_impl.h" 37 #include "keystore_adapter_impl.h" 38 #if defined(NWEB_MEDIA_AVSESSION_ENABLE) 39 #include "media_avsession_adapter_impl.h" 40 #endif 41 #if defined(NWEB_MEDIA_AVCODEC_ENABLE) 42 #include "media_codec_decoder_adapter_impl.h" 43 #include "media_codec_encoder_adapter_impl.h" 44 #include "media_codec_list_adapter_impl.h" 45 #endif 46 #include "migration_manager_adapter_impl.h" 47 #include "mmi_adapter_impl.h" 48 #include "native_image_adapter_impl.h" 49 #if defined(NWEB_TEL_ENABLE) 50 #include "net_connect_adapter_impl.h" 51 #endif 52 #include "net_proxy_adapter_impl.h" 53 #include "ohos_drawing_text_adapter_impl.h" 54 #include "ohos_image_decoder_adapter_impl.h" 55 #include "ohos_init_web_adapter_impl.h" 56 #include "ohos_native_buffer_adapter_impl.h" 57 #include "ohos_resource_adapter_impl.h" 58 #include "ohos_web_data_base_adapter_impl.h" 59 #include "ohos_web_permission_data_base_adapter_impl.h" 60 #include "pasteboard_client_adapter_impl.h" 61 #if defined(NWEB_MEDIA_PLAYER_ENABLE) 62 #include "player_framework_adapter_impl.h" 63 #endif 64 #if defined(NWEB_POWER_MANAGER_ENABLE) 65 #include "power_mgr_client_adapter_impl.h" 66 #endif 67 #include "print_manager_adapter_impl.h" 68 #if defined(NWEB_CAMERA_ENABLE) 69 #include "screen_capture_adapter_impl.h" 70 #endif 71 #include "soc_perf_client_adapter_impl.h" 72 #include "screenlock_manager_adapter_impl.h" 73 #include "surface_adapter_impl.h" 74 #include "system_properties_adapter_impl.h" 75 #include "vsync_adapter_impl.h" 76 #include "window_adapter_impl.h" 77 #if defined(NWEB_SENSORS_SENSOR_ENABLE) 78 #include "sensor_adapter_impl.h" 79 #endif 80 #if defined(NWEB_AUDIO_DRM_ENABLE) 81 #include "audio_codec_decoder_adapter_impl.h" 82 #include "drm_adapter_impl.h" 83 #endif 84 85 namespace OHOS::NWeb { 86 // static GetInstance()87OhosAdapterHelper& OhosAdapterHelper::GetInstance() 88 { 89 static OhosAdapterHelperImpl ohosAdapter; 90 return ohosAdapter; 91 } 92 CreateAafwkAdapter()93std::unique_ptr<AafwkAppMgrClientAdapter> OhosAdapterHelperImpl::CreateAafwkAdapter() 94 { 95 return std::make_unique<AafwkAppMgrClientAdapterImpl>(); 96 } 97 CreatePowerMgrClientAdapter()98std::unique_ptr<PowerMgrClientAdapter> OhosAdapterHelperImpl::CreatePowerMgrClientAdapter() 99 { 100 #if defined(NWEB_POWER_MANAGER_ENABLE) 101 return std::make_unique<PowerMgrClientAdapterImpl>(); 102 #else 103 return nullptr; 104 #endif 105 } 106 CreateDisplayMgrAdapter()107std::unique_ptr<DisplayManagerAdapter> OhosAdapterHelperImpl::CreateDisplayMgrAdapter() 108 { 109 return std::make_unique<DisplayManagerAdapterImpl>(); 110 } 111 CreateBatteryClientAdapter()112std::unique_ptr<BatteryMgrClientAdapter> OhosAdapterHelperImpl::CreateBatteryClientAdapter() 113 { 114 #if defined(NWEB_BATTERY_MANAGER_ENABLE) 115 return std::make_unique<BatteryMgrClientAdapterImpl>(); 116 #else 117 return nullptr; 118 #endif 119 } 120 GetOhosWebDataBaseAdapterInstance()121OhosWebDataBaseAdapter& OhosAdapterHelperImpl::GetOhosWebDataBaseAdapterInstance() 122 { 123 return OhosWebDataBaseAdapterImpl::GetInstance(); 124 } 125 CreateNetConnectAdapter()126std::unique_ptr<NetConnectAdapter> OhosAdapterHelperImpl::CreateNetConnectAdapter() 127 { 128 #if defined(NWEB_TEL_ENABLE) 129 return std::make_unique<NetConnectAdapterImpl>(); 130 #else 131 return nullptr; 132 #endif 133 } 134 GetPasteBoard()135PasteBoardClientAdapter& OhosAdapterHelperImpl::GetPasteBoard() 136 { 137 return PasteBoardClientAdapterImpl::GetInstance(); 138 } 139 CreateAudioRendererAdapter()140std::unique_ptr<AudioRendererAdapter> OhosAdapterHelperImpl::CreateAudioRendererAdapter() 141 { 142 #if defined(NWEB_AUDIO_ENABLE) 143 return std::make_unique<AudioRendererAdapterImpl>(); 144 #else 145 return nullptr; 146 #endif 147 } 148 CreateAudioCapturerAdapter()149std::unique_ptr<AudioCapturerAdapter> OhosAdapterHelperImpl::CreateAudioCapturerAdapter() 150 { 151 #if defined(NWEB_AUDIO_ENABLE) 152 return std::make_unique<AudioCapturerAdapterImpl>(); 153 #else 154 return nullptr; 155 #endif 156 } 157 GetAudioSystemManager()158AudioSystemManagerAdapter& OhosAdapterHelperImpl::GetAudioSystemManager() 159 { 160 return AudioSystemManagerAdapterImpl::GetInstance(); 161 } 162 GetWebPermissionDataBaseInstance()163OhosWebPermissionDataBaseAdapter& OhosAdapterHelperImpl::GetWebPermissionDataBaseInstance() 164 { 165 return OhosWebPermissionDataBaseAdapterImpl::GetInstance(); 166 } 167 CreateMMIAdapter()168std::unique_ptr<MMIAdapter> OhosAdapterHelperImpl::CreateMMIAdapter() 169 { 170 return std::make_unique<MMIAdapterImpl>(); 171 } 172 CreateSocPerfClientAdapter()173std::unique_ptr<SocPerfClientAdapter> OhosAdapterHelperImpl::CreateSocPerfClientAdapter() 174 { 175 return std::make_unique<SocPerfClientAdapterImpl>(); 176 } 177 GetResourceAdapter(const std::string & hapPath)178std::unique_ptr<OhosResourceAdapter> OhosAdapterHelperImpl::GetResourceAdapter(const std::string& hapPath) 179 { 180 return std::make_unique<OhosResourceAdapterImpl>(hapPath); 181 } 182 GetSystemPropertiesInstance()183SystemPropertiesAdapter& OhosAdapterHelperImpl::GetSystemPropertiesInstance() 184 { 185 return SystemPropertiesAdapterImpl::GetInstance(); 186 } 187 GetVSyncAdapter()188VSyncAdapter& OhosAdapterHelperImpl::GetVSyncAdapter() 189 { 190 return VSyncAdapterImpl::GetInstance(); 191 } 192 GetInitWebAdapter()193std::unique_ptr<OhosInitWebAdapter> OhosAdapterHelperImpl::GetInitWebAdapter() 194 { 195 return std::make_unique<OhosInitWebAdapterImpl>(); 196 } 197 GetKeystoreAdapterInstance()198KeystoreAdapter& OhosAdapterHelperImpl::GetKeystoreAdapterInstance() 199 { 200 return KeystoreAdapterImpl::GetInstance(); 201 } 202 GetEnterpriseDeviceManagementInstance()203EnterpriseDeviceManagementAdapter& OhosAdapterHelperImpl::GetEnterpriseDeviceManagementInstance() 204 { 205 return EnterpriseDeviceManagementAdapterImpl::GetInstance(); 206 } 207 GetDatashareInstance()208DatashareAdapter& OhosAdapterHelperImpl::GetDatashareInstance() 209 { 210 return DatashareAdapterImpl::GetInstance(); 211 } 212 CreateIMFAdapter()213std::unique_ptr<IMFAdapter> OhosAdapterHelperImpl::CreateIMFAdapter() 214 { 215 return std::make_unique<IMFAdapterImpl>(); 216 } 217 GetRootCertDataAdapter()218std::unique_ptr<CertManagerAdapter> OhosAdapterHelperImpl::GetRootCertDataAdapter() 219 { 220 return std::make_unique<CertManagerAdapterImpl>(); 221 } 222 GetCertManagerAdapter()223std::unique_ptr<CertManagerAdapter> OhosAdapterHelperImpl::GetCertManagerAdapter() 224 { 225 return std::make_unique<CertManagerAdapterImpl>(); 226 } 227 GetAccessTokenAdapterInstance()228AccessTokenAdapter& OhosAdapterHelperImpl::GetAccessTokenAdapterInstance() 229 { 230 return AccessTokenAdapterImpl::GetInstance(); 231 } 232 GetEventHandlerAdapter()233std::unique_ptr<EventHandlerAdapter> OhosAdapterHelperImpl::GetEventHandlerAdapter() 234 { 235 return std::make_unique<EventHandlerAdapterImpl>(); 236 } 237 GetPrintManagerInstance()238PrintManagerAdapter& OhosAdapterHelperImpl::GetPrintManagerInstance() 239 { 240 return PrintManagerAdapterImpl::GetInstance(); 241 } 242 CreateConsumerSurfaceAdapter()243std::unique_ptr<IConsumerSurfaceAdapter> OhosAdapterHelperImpl::CreateConsumerSurfaceAdapter() 244 { 245 return std::make_unique<ConsumerSurfaceAdapterImpl>(); 246 } 247 CreatePlayerAdapter()248std::unique_ptr<PlayerAdapter> OhosAdapterHelperImpl::CreatePlayerAdapter() 249 { 250 #if defined(NWEB_MEDIA_PLAYER_ENABLE) 251 return std::make_unique<PlayerAdapterImpl>(); 252 #else 253 return nullptr; 254 #endif 255 } 256 GetWindowAdapterInstance()257WindowAdapter& OhosAdapterHelperImpl::GetWindowAdapterInstance() 258 { 259 return WindowAdapterImpl::GetInstance(); 260 } 261 GetHiSysEventAdapterInstance()262HiSysEventAdapter& OhosAdapterHelperImpl::GetHiSysEventAdapterInstance() 263 { 264 return HiSysEventAdapterImpl::GetInstance(); 265 } 266 GetHiTraceAdapterInstance()267HiTraceAdapter& OhosAdapterHelperImpl::GetHiTraceAdapterInstance() 268 { 269 return HiTraceAdapterImpl::GetInstance(); 270 } 271 GetNetProxyInstance()272NetProxyAdapter& OhosAdapterHelperImpl::GetNetProxyInstance() 273 { 274 return NetProxyAdapterImpl::GetInstance(); 275 } 276 GetCameraManagerAdapter()277CameraManagerAdapter& OhosAdapterHelperImpl::GetCameraManagerAdapter() 278 { 279 return CameraManagerAdapterImpl::GetInstance(); 280 } 281 CreateScreenCaptureAdapter()282std::unique_ptr<ScreenCaptureAdapter> OhosAdapterHelperImpl::CreateScreenCaptureAdapter() 283 { 284 #if defined(NWEB_CAMERA_ENABLE) 285 return std::make_unique<ScreenCaptureAdapterImpl>(); 286 #else 287 return nullptr; 288 #endif 289 } 290 CreateDateTimeFormatAdapter()291std::unique_ptr<DateTimeFormatAdapter> OhosAdapterHelperImpl::CreateDateTimeFormatAdapter() 292 { 293 return std::make_unique<DateTimeFormatAdapterImpl>(); 294 } 295 CreateMediaCodecDecoderAdapter()296std::unique_ptr<MediaCodecDecoderAdapter> OhosAdapterHelperImpl::CreateMediaCodecDecoderAdapter() 297 { 298 #if defined(NWEB_MEDIA_AVCODEC_ENABLE) 299 return std::make_unique<MediaCodecDecoderAdapterImpl>(); 300 #else 301 return nullptr; 302 #endif 303 } 304 CreateNativeImageAdapter()305std::unique_ptr<NativeImageAdapter> OhosAdapterHelperImpl::CreateNativeImageAdapter() 306 { 307 return std::make_unique<NativeImageAdapterImpl>(); 308 } 309 CreateMediaCodecEncoderAdapter()310std::unique_ptr<MediaCodecAdapter> OhosAdapterHelperImpl::CreateMediaCodecEncoderAdapter() 311 { 312 #if defined(NWEB_MEDIA_AVCODEC_ENABLE) 313 return std::make_unique<MediaCodecEncoderAdapterImpl>(); 314 #else 315 return nullptr; 316 #endif 317 } 318 GetMediaCodecListAdapter()319MediaCodecListAdapter& OhosAdapterHelperImpl::GetMediaCodecListAdapter() 320 { 321 return MediaCodecListAdapterImpl::GetInstance(); 322 } 323 CreateFlowbufferAdapter()324std::unique_ptr<FlowbufferAdapter> OhosAdapterHelperImpl::CreateFlowbufferAdapter() 325 { 326 return std::make_unique<FlowbufferAdapterImpl>(); 327 } 328 CreateMediaAVSessionAdapter()329std::unique_ptr<MediaAVSessionAdapter> OhosAdapterHelperImpl::CreateMediaAVSessionAdapter() 330 { 331 #if defined(NWEB_MEDIA_AVSESSION_ENABLE) 332 return std::make_unique<MediaAVSessionAdapterImpl>(); 333 #else 334 return nullptr; 335 #endif 336 } 337 CreateOhosImageDecoderAdapter()338std::unique_ptr<OhosImageDecoderAdapter> OhosAdapterHelperImpl::CreateOhosImageDecoderAdapter() 339 { 340 return std::make_unique<OhosImageDecoderAdapterImpl>(); 341 } 342 CreateSensorAdapter()343std::unique_ptr<SensorAdapter> OhosAdapterHelperImpl::CreateSensorAdapter() 344 { 345 #if defined(NWEB_SENSORS_SENSOR_ENABLE) 346 return std::make_unique<SensorAdapterImpl>(); 347 #else 348 return nullptr; 349 #endif 350 } 351 SetArkWebCoreHapPathOverride(const std::string & hapPath)352void OhosAdapterHelperImpl::SetArkWebCoreHapPathOverride(const std::string& hapPath) 353 { 354 OhosResourceAdapterImpl::SetArkWebCoreHapPathOverride(hapPath); 355 } 356 GetOhosNativeBufferAdapter()357OhosNativeBufferAdapter& OhosAdapterHelperImpl::GetOhosNativeBufferAdapter() 358 { 359 return OhosNativeBufferAdapterImpl::GetInstance(); 360 } 361 CreateAudioCodecDecoderAdapter()362std::unique_ptr<AudioCodecDecoderAdapter> OhosAdapterHelperImpl::CreateAudioCodecDecoderAdapter() 363 { 364 #if defined(NWEB_AUDIO_DRM_ENABLE) 365 return std::make_unique<AudioCodecDecoderAdapterImpl>(); 366 #else 367 return nullptr; 368 #endif 369 } 370 CreateDrmAdapter()371std::unique_ptr<DrmAdapter> OhosAdapterHelperImpl::CreateDrmAdapter() 372 { 373 #if defined(NWEB_AUDIO_DRM_ENABLE) 374 return std::make_unique<DrmAdapterImpl>(); 375 #else 376 return nullptr; 377 #endif 378 } 379 GetOhosDrawingTextFontAdapter()380OhosDrawingTextFontAdapter& OhosAdapterHelperImpl::GetOhosDrawingTextFontAdapter() 381 { 382 return OhosDrawingTextFontAdapterImpl::GetInstance(); 383 } 384 GetOhosDrawingTextTypographyAdapter()385OhosDrawingTextTypographyAdapter& OhosAdapterHelperImpl::GetOhosDrawingTextTypographyAdapter() 386 { 387 return OhosDrawingTextTypographyAdapterImpl::GetInstance(); 388 } 389 CreateMigrationMgrAdapter()390std::unique_ptr<MigrationManagerAdapter> OhosAdapterHelperImpl::CreateMigrationMgrAdapter() 391 { 392 return std::make_unique<MigrationManagerAdapterImpl>(); 393 } 394 CreateScreenlockManagerAdapter()395std::unique_ptr<ScreenlockManagerAdapter> OhosAdapterHelperImpl::CreateScreenlockManagerAdapter() 396 { 397 return std::make_unique<ScreenlockManagerAdapterImpl>(); 398 } 399 } // namespace OHOS::NWeb 400