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.h" 17 18 #include "aafwk_app_mgr_client_adapter_impl.h" 19 #include "access_token_adapter_impl.h" 20 #include "audio_renderer_adapter_impl.h" 21 #include "audio_capturer_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 "hisysevent_adapter_impl.h" 34 #include "hitrace_adapter_impl.h" 35 #include "imf_adapter_impl.h" 36 #include "keystore_adapter_impl.h" 37 #if defined(NWEB_MEDIA_AVCODEC_ENABLE) 38 #include "media_codec_decoder_adapter_impl.h" 39 #endif 40 #include "mmi_adapter_impl.h" 41 #include "native_image_adapter_impl.h" 42 #if defined(NWEB_TEL_ENABLE) 43 #include "net_connect_adapter_impl.h" 44 #endif 45 #include "net_proxy_adapter_impl.h" 46 #include "ohos_init_web_adapter_impl.h" 47 #include "ohos_resource_adapter_impl.h" 48 #include "ohos_web_data_base_adapter_impl.h" 49 #include "ohos_web_permission_data_base_adapter_impl.h" 50 #include "pasteboard_client_adapter_impl.h" 51 #if defined(NWEB_MEDIA_PLAYER_ENABLE) 52 #include "player_framework_adapter_impl.h" 53 #endif 54 #if defined(NWEB_POWER_MANAGER_ENABLE) 55 #include "power_mgr_client_adapter_impl.h" 56 #endif 57 #include "print_manager_adapter_impl.h" 58 #if defined(NWEB_CAMERA_ENABLE) 59 #include "screen_capture_adapter_impl.h" 60 #endif 61 #include "soc_perf_client_adapter_impl.h" 62 #include "surface_adapter_impl.h" 63 #include "system_properties_adapter_impl.h" 64 #include "vsync_adapter_impl.h" 65 #include "window_adapter_impl.h" 66 67 namespace OHOS::NWeb { 68 // static GetInstance()69OhosAdapterHelper& OhosAdapterHelper::GetInstance() 70 { 71 static OhosAdapterHelper ohosAdapter; 72 return ohosAdapter; 73 } 74 CreateAafwkAdapter()75std::unique_ptr<AafwkAppMgrClientAdapter> OhosAdapterHelper::CreateAafwkAdapter() 76 { 77 return std::make_unique<AafwkAppMgrClientAdapterImpl>(); 78 } 79 CreatePowerMgrClientAdapter()80std::unique_ptr<PowerMgrClientAdapter> OhosAdapterHelper::CreatePowerMgrClientAdapter() 81 { 82 #if defined(NWEB_POWER_MANAGER_ENABLE) 83 return std::make_unique<PowerMgrClientAdapterImpl>(); 84 #else 85 return nullptr; 86 #endif 87 } 88 CreateDisplayMgrAdapter()89std::unique_ptr<DisplayManagerAdapter> OhosAdapterHelper::CreateDisplayMgrAdapter() 90 { 91 return std::make_unique<DisplayManagerAdapterImpl>(); 92 } 93 CreateBatteryClientAdapter()94std::unique_ptr<BatteryMgrClientAdapter> OhosAdapterHelper::CreateBatteryClientAdapter() 95 { 96 #if defined(NWEB_BATTERY_MANAGER_ENABLE) 97 return std::make_unique<BatteryMgrClientAdapterImpl>(); 98 #else 99 return nullptr; 100 #endif 101 } 102 GetOhosWebDataBaseAdapterInstance()103OhosWebDataBaseAdapter& OhosAdapterHelper::GetOhosWebDataBaseAdapterInstance() 104 { 105 return OhosWebDataBaseAdapterImpl::GetInstance(); 106 } 107 CreateNetConnectAdapter()108std::unique_ptr<NetConnectAdapter> OhosAdapterHelper::CreateNetConnectAdapter() 109 { 110 #if defined(NWEB_TEL_ENABLE) 111 return std::make_unique<NetConnectAdapterImpl>(); 112 #else 113 return nullptr; 114 #endif 115 } 116 GetPasteBoard() const117PasteBoardClientAdapter& OhosAdapterHelper::GetPasteBoard() const 118 { 119 return PasteBoardClientAdapterImpl::GetInstance(); 120 } 121 CreateAudioRendererAdapter()122std::unique_ptr<AudioRendererAdapter> OhosAdapterHelper::CreateAudioRendererAdapter() 123 { 124 #if defined(NWEB_AUDIO_ENABLE) 125 return std::make_unique<AudioRendererAdapterImpl>(); 126 #else 127 return nullptr; 128 #endif 129 } 130 CreateAudioCapturerAdapter()131std::unique_ptr<AudioCapturerAdapter> OhosAdapterHelper::CreateAudioCapturerAdapter() 132 { 133 #if defined(NWEB_AUDIO_ENABLE) 134 return std::make_unique<AudioCapturerAdapterImpl>(); 135 #else 136 return nullptr; 137 #endif 138 } 139 GetAudioSystemManager() const140AudioSystemManagerAdapter& OhosAdapterHelper::GetAudioSystemManager() const 141 { 142 return AudioSystemManagerAdapterImpl::GetInstance(); 143 } 144 GetWebPermissionDataBaseInstance()145OhosWebPermissionDataBaseAdapter& OhosAdapterHelper::GetWebPermissionDataBaseInstance() 146 { 147 return OhosWebPermissionDataBaseAdapterImpl::GetInstance(); 148 } 149 CreateMMIAdapter()150std::unique_ptr<MMIAdapter> OhosAdapterHelper::CreateMMIAdapter() 151 { 152 return std::make_unique<MMIAdapterImpl>(); 153 } 154 CreateSocPerfClientAdapter()155std::unique_ptr<SocPerfClientAdapter> OhosAdapterHelper::CreateSocPerfClientAdapter() 156 { 157 return std::make_unique<SocPerfClientAdapterImpl>(); 158 } 159 GetResourceAdapter(const std::string & hapPath) const160std::unique_ptr<OhosResourceAdapter> OhosAdapterHelper::GetResourceAdapter(const std::string& hapPath) const 161 { 162 return std::make_unique<OhosResourceAdapterImpl>(hapPath); 163 } 164 GetSystemPropertiesInstance() const165SystemPropertiesAdapter& OhosAdapterHelper::GetSystemPropertiesInstance() const 166 { 167 return SystemPropertiesAdapterImpl::GetInstance(); 168 } 169 GetVSyncAdapter() const170VSyncAdapter& OhosAdapterHelper::GetVSyncAdapter() const 171 { 172 return VSyncAdapterImpl::GetInstance(); 173 } 174 GetInitWebAdapter() const175std::unique_ptr<OhosInitWebAdapter> OhosAdapterHelper::GetInitWebAdapter() const 176 { 177 return std::make_unique<OhosInitWebAdapterImpl>(); 178 } 179 GetKeystoreAdapterInstance() const180KeystoreAdapter& OhosAdapterHelper::GetKeystoreAdapterInstance() const 181 { 182 return KeystoreAdapterImpl::GetInstance(); 183 } 184 GetEnterpriseDeviceManagementInstance() const185EnterpriseDeviceManagementAdapter& OhosAdapterHelper::GetEnterpriseDeviceManagementInstance() const 186 { 187 return EnterpriseDeviceManagementAdapterImpl::GetInstance(); 188 } 189 GetDatashareInstance() const190DatashareAdapter& OhosAdapterHelper::GetDatashareInstance() const 191 { 192 return DatashareAdapterImpl::GetInstance(); 193 } 194 CreateIMFAdapter() const195std::unique_ptr<IMFAdapter> OhosAdapterHelper::CreateIMFAdapter() const 196 { 197 return std::make_unique<IMFAdapterImpl>(); 198 } 199 GetRootCertDataAdapter() const200std::unique_ptr<CertManagerAdapter> OhosAdapterHelper::GetRootCertDataAdapter() const 201 { 202 return std::make_unique<CertManagerAdapterImpl>(); 203 } 204 GetAccessTokenAdapterInstance() const205AccessTokenAdapter& OhosAdapterHelper::GetAccessTokenAdapterInstance() const 206 { 207 return AccessTokenAdapterImpl::GetInstance(); 208 } 209 GetEventHandlerAdapter() const210std::unique_ptr<EventHandlerAdapter> OhosAdapterHelper::GetEventHandlerAdapter() const 211 { 212 return std::make_unique<EventHandlerAdapterImpl>(); 213 } 214 GetPrintManagerInstance() const215PrintManagerAdapter& OhosAdapterHelper::GetPrintManagerInstance() const 216 { 217 return PrintManagerAdapterImpl::GetInstance(); 218 } 219 CreateConsumerSurfaceAdapter() const220std::unique_ptr<IConsumerSurfaceAdapter> OhosAdapterHelper::CreateConsumerSurfaceAdapter() const 221 { 222 return std::make_unique<ConsumerSurfaceAdapterImpl>(); 223 } 224 CreatePlayerAdapter() const225std::unique_ptr<PlayerAdapter> OhosAdapterHelper::CreatePlayerAdapter() const 226 { 227 #if defined(NWEB_MEDIA_PLAYER_ENABLE) 228 return std::make_unique<PlayerAdapterImpl>(); 229 #else 230 return nullptr; 231 #endif 232 } 233 GetWindowAdapterInstance() const234WindowAdapter& OhosAdapterHelper::GetWindowAdapterInstance() const 235 { 236 return WindowAdapterImpl::GetInstance(); 237 } 238 GetHiSysEventAdapterInstance() const239HiSysEventAdapter& OhosAdapterHelper::GetHiSysEventAdapterInstance() const 240 { 241 return HiSysEventAdapterImpl::GetInstance(); 242 } 243 GetHiTraceAdapterInstance() const244HiTraceAdapter& OhosAdapterHelper::GetHiTraceAdapterInstance() const 245 { 246 return HiTraceAdapterImpl::GetInstance(); 247 } 248 GetNetProxyInstance() const249NetProxyAdapter& OhosAdapterHelper::GetNetProxyInstance() const 250 { 251 return NetProxyAdapterImpl::GetInstance(); 252 } 253 GetCameraManagerAdapter() const254CameraManagerAdapter& OhosAdapterHelper::GetCameraManagerAdapter() const 255 { 256 return CameraManagerAdapterImpl::GetInstance(); 257 } 258 CreateScreenCaptureAdapter() const259std::unique_ptr<ScreenCaptureAdapter> OhosAdapterHelper::CreateScreenCaptureAdapter() const 260 { 261 #if defined(NWEB_CAMERA_ENABLE) 262 return std::make_unique<ScreenCaptureAdapterImpl>(); 263 #else 264 return nullptr; 265 #endif 266 } 267 CreateDateTimeFormatAdapter() const268std::unique_ptr<DateTimeFormatAdapter> OhosAdapterHelper::CreateDateTimeFormatAdapter() const 269 { 270 return std::make_unique<DateTimeFormatAdapterImpl>(); 271 } 272 CreateMediaCodecDecoderAdapter() const273std::unique_ptr<MediaCodecDecoderAdapter> OhosAdapterHelper::CreateMediaCodecDecoderAdapter() const 274 { 275 #if defined(NWEB_MEDIA_AVCODEC_ENABLE) 276 return std::make_unique<MediaCodecDecoderAdapterImpl>(); 277 #else 278 return nullptr; 279 #endif 280 } 281 CreateNativeImageAdapter() const282std::unique_ptr<NativeImageAdapter> OhosAdapterHelper::CreateNativeImageAdapter() const 283 { 284 return std::make_unique<NativeImageAdapterImpl>(); 285 } 286 } // namespace OHOS::NWeb 287