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 #ifndef ARK_SYSTEM_PROPERTIES_ADAPTER_H 17 #define ARK_SYSTEM_PROPERTIES_ADAPTER_H 18 #pragma once 19 20 #include "ohos_adapter/include/ark_frame_rate_setting_adapter_vector.h" 21 22 #include "base/include/ark_web_base_ref_counted.h" 23 #include "base/include/ark_web_types.h" 24 25 namespace OHOS::ArkWeb { 26 27 /*--ark web(source=webview)--*/ 28 class ArkSystemPropertiesAdapter : public virtual ArkWebBaseRefCounted { 29 public: 30 /*--ark web()--*/ 31 virtual bool GetResourceUseHapPathEnable() = 0; 32 33 /*--ark web()--*/ 34 virtual ArkWebString GetDeviceInfoProductModel() = 0; 35 36 /*--ark web()--*/ 37 virtual ArkWebString GetDeviceInfoBrand() = 0; 38 39 /*--ark web()--*/ 40 virtual int32_t GetDeviceInfoMajorVersion() = 0; 41 42 /*--ark web()--*/ 43 virtual int32_t GetProductDeviceType() = 0; 44 45 /*--ark web()--*/ 46 virtual bool GetWebOptimizationValue() = 0; 47 48 /*--ark web()--*/ 49 virtual bool IsAdvancedSecurityMode() = 0; 50 51 /*--ark web()--*/ 52 virtual ArkWebString GetUserAgentOSName() = 0; 53 54 /*--ark web()--*/ 55 virtual int32_t GetSoftwareMajorVersion() = 0; 56 57 /*--ark web()--*/ 58 virtual int32_t GetSoftwareSeniorVersion() = 0; 59 60 /*--ark web()--*/ 61 virtual ArkWebString GetNetlogMode() = 0; 62 63 /*--ark web()--*/ 64 virtual bool GetTraceDebugEnable() = 0; 65 66 /*--ark web()--*/ 67 virtual ArkWebString GetSiteIsolationMode() = 0; 68 69 /*--ark web()--*/ 70 virtual int32_t GetFlowBufMaxFd() = 0; 71 72 /*--ark web()--*/ 73 virtual bool GetOOPGPUEnable() = 0; 74 75 /*--ark web()--*/ 76 virtual void SetOOPGPUDisable() = 0; 77 78 /*--ark web()--*/ 79 virtual void AttachSysPropObserver(int32_t key, void* observer) = 0; 80 81 /*--ark web()--*/ 82 virtual void DetachSysPropObserver(int32_t key, void* observer) = 0; 83 84 /*--ark web()--*/ 85 virtual bool GetBoolParameter(ArkWebString key, bool defaultValue) = 0; 86 87 /*--ark web()--*/ 88 virtual ArkFrameRateSettingAdapterVector GetLTPOConfig(const ArkWebString& settingName) = 0; 89 90 /*--ark web()--*/ 91 virtual ArkWebString GetOOPGPUStatus() = 0; 92 93 /*--ark web()--*/ 94 virtual bool IsLTPODynamicApp(ArkWebString bundleName) = 0; 95 96 /*--ark web()--*/ 97 virtual int32_t GetLTPOStrategy() = 0; 98 99 /*--ark web()--*/ 100 virtual ArkWebString GetUserAgentOSVersion() = 0; 101 102 /*--ark web()--*/ 103 virtual ArkWebString GetUserAgentBaseOSName() = 0; 104 105 /** 106 * @Description: return VulkanStatus. 107 * @Return:return ArkWebString to describe VulkanStatus. 108 * @Since 14001 109 */ 110 /*--ark web()--*/ 111 virtual ArkWebString GetVulkanStatus() = 0; 112 113 /** 114 * @Description: return GetCompatibleDeviceType. 115 * @Return:return ArkWebString to describe GetCompatibleDeviceType. 116 */ 117 /*--ark web()--*/ 118 virtual ArkWebString GetCompatibleDeviceType() = 0; 119 120 /*--ark web()--*/ 121 virtual ArkWebString GetDeviceInfoApiVersion() = 0; 122 123 /*--ark web()--*/ 124 virtual ArkWebString GetPRPPreloadMode() = 0; 125 126 /*--ark web()--*/ 127 virtual ArkWebString GetScrollVelocityScale() = 0; 128 129 /*--ark web()--*/ 130 virtual ArkWebString GetScrollFriction() = 0; 131 132 /*--ark web()--*/ 133 virtual ArkWebString GetBundleName() = 0; 134 135 /*--ark web()--*/ 136 virtual ArkWebString GetStringParameter(const ArkWebString& key, const ArkWebString& defaultValue) = 0; 137 138 /*--ark web()--*/ 139 virtual int32_t GetInitialCongestionWindowSize() = 0; 140 141 /*--ark web()--*/ 142 virtual int32_t GetIntParameter(const ArkWebString& key, int32_t defaultValue) = 0; 143 }; 144 145 } // namespace OHOS::ArkWeb 146 147 #endif // ARK_SYSTEM_PROPERTIES_ADAPTER_H 148