1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License") = 0; 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 #ifndef OHOS_ADAPTER_HELPER_H 17 #define OHOS_ADAPTER_HELPER_H 18 19 #include <memory> 20 21 #include "aafwk_app_mgr_client_adapter.h" 22 #include "access_token_adapter.h" 23 #include "audio_capturer_adapter.h" 24 #include "audio_renderer_adapter.h" 25 #include "audio_system_manager_adapter.h" 26 #include "battery_mgr_client_adapter.h" 27 #include "camera_manager_adapter.h" 28 #include "cert_mgr_adapter.h" 29 #include "datashare_adapter.h" 30 #include "date_time_format_adapter.h" 31 #include "display_manager_adapter.h" 32 #include "drm_adapter.h" 33 #include "enterprise_device_management_adapter.h" 34 #include "event_handler_adapter.h" 35 #include "flowbuffer_adapter.h" 36 #include "graphic_adapter.h" 37 #include "hisysevent_adapter.h" 38 #include "hitrace_adapter.h" 39 #include "imf_adapter.h" 40 #include "keystore_adapter.h" 41 #include "media_adapter.h" 42 #include "media_avsession_adapter.h" 43 #include "media_codec_adapter.h" 44 #include "media_codec_decoder_adapter.h" 45 #include "migration_manager_adapter.h" 46 #include "audio_codec_decoder_adapter.h" 47 #include "mmi_adapter.h" 48 #include "net_connect_adapter.h" 49 #include "net_proxy_adapter.h" 50 #include "ohos_drawing_text_adapter.h" 51 #include "ohos_image_decoder_adapter.h" 52 #include "ohos_init_web_adapter.h" 53 #include "ohos_native_buffer_adapter.h" 54 #include "ohos_resource_adapter.h" 55 #include "ohos_web_data_base_adapter.h" 56 #include "pasteboard_client_adapter.h" 57 #include "power_mgr_client_adapter.h" 58 #include "print_manager_adapter.h" 59 #include "screen_capture_adapter.h" 60 #include "screenlock_manager_adapter.h" 61 #include "soc_perf_client_adapter.h" 62 #include "system_properties_adapter.h" 63 #include "sensor_adapter.h" 64 65 namespace OHOS::NWeb { 66 67 class OhosAdapterHelper { 68 public: 69 static OhosAdapterHelper& GetInstance(); 70 71 virtual ~OhosAdapterHelper() = default; 72 73 virtual std::unique_ptr<AafwkAppMgrClientAdapter> CreateAafwkAdapter() = 0; 74 75 virtual std::unique_ptr<PowerMgrClientAdapter> CreatePowerMgrClientAdapter() = 0; 76 77 virtual std::unique_ptr<DisplayManagerAdapter> CreateDisplayMgrAdapter() = 0; 78 79 virtual std::unique_ptr<BatteryMgrClientAdapter> CreateBatteryClientAdapter() = 0; 80 81 virtual std::unique_ptr<NetConnectAdapter> CreateNetConnectAdapter() = 0; 82 83 virtual OhosWebDataBaseAdapter& GetOhosWebDataBaseAdapterInstance() = 0; 84 85 virtual PasteBoardClientAdapter& GetPasteBoard() = 0; 86 87 virtual std::unique_ptr<AudioRendererAdapter> CreateAudioRendererAdapter() = 0; 88 89 virtual std::unique_ptr<AudioCapturerAdapter> CreateAudioCapturerAdapter() = 0; 90 91 virtual AudioSystemManagerAdapter& GetAudioSystemManager() = 0; 92 93 virtual OhosWebPermissionDataBaseAdapter& GetWebPermissionDataBaseInstance() = 0; 94 95 virtual std::unique_ptr<MMIAdapter> CreateMMIAdapter() = 0; 96 97 virtual std::unique_ptr<SocPerfClientAdapter> CreateSocPerfClientAdapter() = 0; 98 99 virtual std::unique_ptr<OhosResourceAdapter> GetResourceAdapter(const std::string& hapPath = "") = 0; 100 101 virtual SystemPropertiesAdapter& GetSystemPropertiesInstance() = 0; 102 103 virtual VSyncAdapter& GetVSyncAdapter() = 0; 104 105 virtual std::unique_ptr<OhosInitWebAdapter> GetInitWebAdapter() = 0; 106 107 virtual KeystoreAdapter& GetKeystoreAdapterInstance() = 0; 108 109 virtual EnterpriseDeviceManagementAdapter& GetEnterpriseDeviceManagementInstance() = 0; 110 111 virtual DatashareAdapter& GetDatashareInstance() = 0; 112 113 virtual std::unique_ptr<IMFAdapter> CreateIMFAdapter() = 0; 114 115 virtual std::unique_ptr<CertManagerAdapter> GetRootCertDataAdapter() = 0; 116 117 virtual AccessTokenAdapter& GetAccessTokenAdapterInstance() = 0; 118 119 virtual std::unique_ptr<EventHandlerAdapter> GetEventHandlerAdapter() = 0; 120 121 virtual PrintManagerAdapter& GetPrintManagerInstance() = 0; 122 123 virtual std::unique_ptr<IConsumerSurfaceAdapter> CreateConsumerSurfaceAdapter() = 0; 124 125 virtual std::unique_ptr<PlayerAdapter> CreatePlayerAdapter() = 0; 126 127 virtual WindowAdapter& GetWindowAdapterInstance() = 0; 128 129 virtual HiSysEventAdapter& GetHiSysEventAdapterInstance() = 0; 130 131 virtual HiTraceAdapter& GetHiTraceAdapterInstance() = 0; 132 133 virtual NetProxyAdapter& GetNetProxyInstance() = 0; 134 135 virtual CameraManagerAdapter& GetCameraManagerAdapter() = 0; 136 137 virtual std::unique_ptr<ScreenCaptureAdapter> CreateScreenCaptureAdapter() = 0; 138 139 virtual std::unique_ptr<DateTimeFormatAdapter> CreateDateTimeFormatAdapter() = 0; 140 141 virtual std::unique_ptr<MediaCodecDecoderAdapter> CreateMediaCodecDecoderAdapter() = 0; 142 143 virtual std::unique_ptr<NativeImageAdapter> CreateNativeImageAdapter() = 0; 144 145 virtual std::unique_ptr<MediaCodecAdapter> CreateMediaCodecEncoderAdapter() = 0; 146 147 virtual MediaCodecListAdapter& GetMediaCodecListAdapter() = 0; 148 149 virtual std::unique_ptr<FlowbufferAdapter> CreateFlowbufferAdapter() = 0; 150 151 virtual std::unique_ptr<MediaAVSessionAdapter> CreateMediaAVSessionAdapter() = 0; 152 153 virtual std::unique_ptr<OhosImageDecoderAdapter> CreateOhosImageDecoderAdapter() = 0; 154 155 virtual std::unique_ptr<SensorAdapter> CreateSensorAdapter() = 0; 156 157 virtual void SetArkWebCoreHapPathOverride(const std::string& hapPath) = 0; 158 159 virtual OhosNativeBufferAdapter& GetOhosNativeBufferAdapter() = 0; 160 161 virtual std::unique_ptr<AudioCodecDecoderAdapter> CreateAudioCodecDecoderAdapter() = 0; 162 163 virtual std::unique_ptr<DrmAdapter> CreateDrmAdapter() = 0; 164 165 virtual OhosDrawingTextFontAdapter& GetOhosDrawingTextFontAdapter() = 0; 166 167 virtual OhosDrawingTextTypographyAdapter& GetOhosDrawingTextTypographyAdapter() = 0; 168 virtual std::unique_ptr<MigrationManagerAdapter> CreateMigrationMgrAdapter() = 0; 169 170 virtual std::unique_ptr<ScreenlockManagerAdapter> CreateScreenlockManagerAdapter() = 0; 171 GetCertManagerAdapter()172 virtual std::unique_ptr<CertManagerAdapter> GetCertManagerAdapter() {return nullptr;}; 173 }; 174 175 } // namespace OHOS::NWeb 176 177 #endif // OHOS_ADAPTER_HELPER_H 178