• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()86 OhosAdapterHelper& OhosAdapterHelper::GetInstance()
87 {
88     static OhosAdapterHelperImpl ohosAdapter;
89     return ohosAdapter;
90 }
91 
CreateAafwkAdapter()92 std::unique_ptr<AafwkAppMgrClientAdapter> OhosAdapterHelperImpl::CreateAafwkAdapter()
93 {
94     return std::make_unique<AafwkAppMgrClientAdapterImpl>();
95 }
96 
CreatePowerMgrClientAdapter()97 std::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()106 std::unique_ptr<DisplayManagerAdapter> OhosAdapterHelperImpl::CreateDisplayMgrAdapter()
107 {
108     return std::make_unique<DisplayManagerAdapterImpl>();
109 }
110 
CreateBatteryClientAdapter()111 std::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()120 OhosWebDataBaseAdapter& OhosAdapterHelperImpl::GetOhosWebDataBaseAdapterInstance()
121 {
122     return OhosWebDataBaseAdapterImpl::GetInstance();
123 }
124 
CreateNetConnectAdapter()125 std::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()134 PasteBoardClientAdapter& OhosAdapterHelperImpl::GetPasteBoard()
135 {
136     return PasteBoardClientAdapterImpl::GetInstance();
137 }
138 
CreateAudioRendererAdapter()139 std::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()148 std::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()157 AudioSystemManagerAdapter& OhosAdapterHelperImpl::GetAudioSystemManager()
158 {
159     return AudioSystemManagerAdapterImpl::GetInstance();
160 }
161 
GetWebPermissionDataBaseInstance()162 OhosWebPermissionDataBaseAdapter& OhosAdapterHelperImpl::GetWebPermissionDataBaseInstance()
163 {
164     return OhosWebPermissionDataBaseAdapterImpl::GetInstance();
165 }
166 
CreateMMIAdapter()167 std::unique_ptr<MMIAdapter> OhosAdapterHelperImpl::CreateMMIAdapter()
168 {
169     return std::make_unique<MMIAdapterImpl>();
170 }
171 
CreateSocPerfClientAdapter()172 std::unique_ptr<SocPerfClientAdapter> OhosAdapterHelperImpl::CreateSocPerfClientAdapter()
173 {
174     return std::make_unique<SocPerfClientAdapterImpl>();
175 }
176 
GetResourceAdapter(const std::string & hapPath)177 std::unique_ptr<OhosResourceAdapter> OhosAdapterHelperImpl::GetResourceAdapter(const std::string& hapPath)
178 {
179     return std::make_unique<OhosResourceAdapterImpl>(hapPath);
180 }
181 
GetSystemPropertiesInstance()182 SystemPropertiesAdapter& OhosAdapterHelperImpl::GetSystemPropertiesInstance()
183 {
184     return SystemPropertiesAdapterImpl::GetInstance();
185 }
186 
GetVSyncAdapter()187 VSyncAdapter& OhosAdapterHelperImpl::GetVSyncAdapter()
188 {
189     return VSyncAdapterImpl::GetInstance();
190 }
191 
GetInitWebAdapter()192 std::unique_ptr<OhosInitWebAdapter> OhosAdapterHelperImpl::GetInitWebAdapter()
193 {
194     return std::make_unique<OhosInitWebAdapterImpl>();
195 }
196 
GetKeystoreAdapterInstance()197 KeystoreAdapter& OhosAdapterHelperImpl::GetKeystoreAdapterInstance()
198 {
199     return KeystoreAdapterImpl::GetInstance();
200 }
201 
GetEnterpriseDeviceManagementInstance()202 EnterpriseDeviceManagementAdapter& OhosAdapterHelperImpl::GetEnterpriseDeviceManagementInstance()
203 {
204     return EnterpriseDeviceManagementAdapterImpl::GetInstance();
205 }
206 
GetDatashareInstance()207 DatashareAdapter& OhosAdapterHelperImpl::GetDatashareInstance()
208 {
209     return DatashareAdapterImpl::GetInstance();
210 }
211 
CreateIMFAdapter()212 std::unique_ptr<IMFAdapter> OhosAdapterHelperImpl::CreateIMFAdapter()
213 {
214     return std::make_unique<IMFAdapterImpl>();
215 }
216 
GetRootCertDataAdapter()217 std::unique_ptr<CertManagerAdapter> OhosAdapterHelperImpl::GetRootCertDataAdapter()
218 {
219     return std::make_unique<CertManagerAdapterImpl>();
220 }
221 
GetAccessTokenAdapterInstance()222 AccessTokenAdapter& OhosAdapterHelperImpl::GetAccessTokenAdapterInstance()
223 {
224     return AccessTokenAdapterImpl::GetInstance();
225 }
226 
GetEventHandlerAdapter()227 std::unique_ptr<EventHandlerAdapter> OhosAdapterHelperImpl::GetEventHandlerAdapter()
228 {
229     return std::make_unique<EventHandlerAdapterImpl>();
230 }
231 
GetPrintManagerInstance()232 PrintManagerAdapter& OhosAdapterHelperImpl::GetPrintManagerInstance()
233 {
234     return PrintManagerAdapterImpl::GetInstance();
235 }
236 
CreateConsumerSurfaceAdapter()237 std::unique_ptr<IConsumerSurfaceAdapter> OhosAdapterHelperImpl::CreateConsumerSurfaceAdapter()
238 {
239     return std::make_unique<ConsumerSurfaceAdapterImpl>();
240 }
241 
CreatePlayerAdapter()242 std::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()251 WindowAdapter& OhosAdapterHelperImpl::GetWindowAdapterInstance()
252 {
253     return WindowAdapterImpl::GetInstance();
254 }
255 
GetHiSysEventAdapterInstance()256 HiSysEventAdapter& OhosAdapterHelperImpl::GetHiSysEventAdapterInstance()
257 {
258     return HiSysEventAdapterImpl::GetInstance();
259 }
260 
GetHiTraceAdapterInstance()261 HiTraceAdapter& OhosAdapterHelperImpl::GetHiTraceAdapterInstance()
262 {
263     return HiTraceAdapterImpl::GetInstance();
264 }
265 
GetNetProxyInstance()266 NetProxyAdapter& OhosAdapterHelperImpl::GetNetProxyInstance()
267 {
268     return NetProxyAdapterImpl::GetInstance();
269 }
270 
GetCameraManagerAdapter()271 CameraManagerAdapter& OhosAdapterHelperImpl::GetCameraManagerAdapter()
272 {
273     return CameraManagerAdapterImpl::GetInstance();
274 }
275 
CreateScreenCaptureAdapter()276 std::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()285 std::unique_ptr<DateTimeFormatAdapter> OhosAdapterHelperImpl::CreateDateTimeFormatAdapter()
286 {
287     return std::make_unique<DateTimeFormatAdapterImpl>();
288 }
289 
CreateMediaCodecDecoderAdapter()290 std::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()299 std::unique_ptr<NativeImageAdapter> OhosAdapterHelperImpl::CreateNativeImageAdapter()
300 {
301     return std::make_unique<NativeImageAdapterImpl>();
302 }
303 
CreateMediaCodecEncoderAdapter()304 std::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()313 MediaCodecListAdapter& OhosAdapterHelperImpl::GetMediaCodecListAdapter()
314 {
315     return MediaCodecListAdapterImpl::GetInstance();
316 }
317 
CreateFlowbufferAdapter()318 std::unique_ptr<FlowbufferAdapter> OhosAdapterHelperImpl::CreateFlowbufferAdapter()
319 {
320     return std::make_unique<FlowbufferAdapterImpl>();
321 }
322 
CreateMediaAVSessionAdapter()323 std::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()332 std::unique_ptr<OhosImageDecoderAdapter> OhosAdapterHelperImpl::CreateOhosImageDecoderAdapter()
333 {
334     return std::make_unique<OhosImageDecoderAdapterImpl>();
335 }
336 
CreateSensorAdapter()337 std::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)346 void OhosAdapterHelperImpl::SetArkWebCoreHapPathOverride(const std::string& hapPath)
347 {
348     OhosResourceAdapterImpl::SetArkWebCoreHapPathOverride(hapPath);
349 }
350 
GetOhosNativeBufferAdapter()351 OhosNativeBufferAdapter& OhosAdapterHelperImpl::GetOhosNativeBufferAdapter()
352 {
353     return OhosNativeBufferAdapterImpl::GetInstance();
354 }
355 
CreateMigrationMgrAdapter()356 std::unique_ptr<MigrationManagerAdapter> OhosAdapterHelperImpl::CreateMigrationMgrAdapter()
357 {
358     return std::make_unique<MigrationManagerAdapterImpl>();
359 }
360 
GetOhosDrawingTextFontAdapter()361 OhosDrawingTextFontAdapter& OhosAdapterHelperImpl::GetOhosDrawingTextFontAdapter()
362 {
363     return OhosDrawingTextFontAdapterImpl::GetInstance();
364 }
365 
GetOhosDrawingTextTypographyAdapter()366 OhosDrawingTextTypographyAdapter& OhosAdapterHelperImpl::GetOhosDrawingTextTypographyAdapter()
367 {
368     return OhosDrawingTextTypographyAdapterImpl::GetInstance();
369 }
370 
CreateAudioCodecDecoderAdapter()371 std::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()380 std::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