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