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