1 /*
2  * Copyright (c) 2020-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 OHOS_ACELITE_CONFIG_H
17 #define OHOS_ACELITE_CONFIG_H
18 
19 // some features depend on the low layer configuration
20 #include "graphic_config.h"
21 
22 #if (ENABLE_OHOS_ACELITE_PRODUCT_CONFIG == 1)
23 #include "product_acelite_config.h"
24 #endif
25 /**
26  * ================================================================================================
27  *                 config for wearable
28  * ================================================================================================
29  */
30 /**
31  * the flag indicating watch product
32  */
33 #ifndef OHOS_ACELITE_PRODUCT_WATCH
34 #define OHOS_ACELITE_PRODUCT_WATCH 1
35 #endif
36 
37 // delete this after jerry porting is ready
38 #ifndef JERRY_PORTING_DEPENDENCY
39 #define JERRY_PORTING_DEPENDENCY 1
40 #endif
41 
42 /**
43  * enable Canvas component Feature API on ipcamera real devices
44  */
45 #ifndef FEATURE_COMPONENT_CANVAS
46 #define FEATURE_COMPONENT_CANVAS 1
47 #endif
48 
49 /**
50  * enable edittext component Feature
51  */
52 #ifndef FEATURE_COMPONENT_EDITTEXT
53 #define FEATURE_COMPONENT_EDITTEXT 1
54 #endif
55 
56 /**
57  * enable QRcode component
58  */
59 #ifndef FEATURE_COMPONENT_QRCODE
60 #define FEATURE_COMPONENT_QRCODE 1
61 #endif
62 
63 /**
64  * support terminate() API from JS
65  */
66 #ifndef FEATURE_TERMINATE_ABILITY
67 #define FEATURE_TERMINATE_ABILITY 1
68 #endif
69 
70 /**
71  * support screenOnVisible() API from JS
72  */
73 #ifndef FEATURE_SCREEN_ON_VISIBLE
74 #define FEATURE_SCREEN_ON_VISIBLE 1
75 #endif
76 
77 /**
78  * enable FeatureAbility API
79  */
80 #ifndef FEATURE_FEATURE_ABILITY_MODULE
81 #define FEATURE_FEATURE_ABILITY_MODULE 1
82 #endif
83 
84 /**
85  * enable syscap JS API
86  */
87 #ifndef FEATURE_SYSCAP_MODULE
88 #define FEATURE_SYSCAP_MODULE 1
89 #endif
90 
91 /**
92  * enable timer JS API
93  */
94 #ifndef FEATURE_TIMER_MODULE
95 #define FEATURE_TIMER_MODULE 1
96 #endif
97 
98 /**
99  * enable localization feature
100  */
101 #ifndef FEATURE_LOCALIZATION_MODULE
102 #define FEATURE_LOCALIZATION_MODULE 1
103 #endif
104 
105 #ifndef FEATURE_ACELITE_HI_LOG_PRINTF
106 #define FEATURE_ACELITE_HI_LOG_PRINTF 1
107 #endif
108 
109 /**
110  * support mc ace log module trace
111  */
112 #ifndef FEATURE_ACELITE_MC_LOG_PRINTF
113 #define FEATURE_ACELITE_MC_LOG_PRINTF 0
114 #endif
115 
116 /**
117  * support mc ace event and error code print
118  */
119 #ifndef FEATURE_ACELITE_MC_EVENT_ERROR_CODE_PRINT
120 #define FEATURE_ACELITE_MC_EVENT_ERROR_CODE_PRINT 1
121 #endif
122 
123 /**
124  * support mc console log
125  */
126 #ifndef FEATURE_USER_MC_LOG_PRINTF
127 #define FEATURE_USER_MC_LOG_PRINTF 1
128 #endif
129 
130 /**
131  * support config for product JS modules
132  */
133 #ifndef FEATURE_PRODUCT_MODULE
134 #define FEATURE_PRODUCT_MODULE 1
135 #endif
136 
137 /**
138  * support config for private JS modules
139  */
140 #ifndef FEATURE_PRIVATE_MODULE
141 #define FEATURE_PRIVATE_MODULE 1
142 #endif
143 
144 /**
145  * support using memory pool from product side
146  */
147 #ifndef FEATURE_ACELITE_PRODUCT_MEMORY_POOL
148 #define FEATURE_ACELITE_PRODUCT_MEMORY_POOL 1
149 #endif
150 
151 /**
152  * define the max length of user's console log
153  */
154 #ifndef CONSOLE_LOG_LINE_MAX_LENGTH
155 #define CONSOLE_LOG_LINE_MAX_LENGTH (96)
156 #endif
157 
158 #ifndef ACELITE_DEPENDENCY_IS_READY
159 #define ACELITE_DEPENDENCY_IS_READY 1
160 #endif
161 /**
162  * support mc ace dfx module
163  */
164 #ifndef FEATURE_ACELITE_DFX_MODULE
165 #define FEATURE_ACELITE_DFX_MODULE 1
166 #endif
167 
168 #ifndef FEATURE_ACELITE_LITE_DFX_MODULE
169 #define FEATURE_ACELITE_LITE_DFX_MODULE 1
170 #endif
171 
172 /**
173  * support mc lazy loading
174  */
175 #ifndef FEATURE_LAZY_LOADING_MODULE
176 #define FEATURE_LAZY_LOADING_MODULE 1
177 #endif
178 
179 /**
180  * support fatal error handling on device which not support process
181  */
182 #ifndef FEATURE_FATAL_ERROR_HANDLING
183 #define FEATURE_FATAL_ERROR_HANDLING 1
184 #endif
185 
186 /**
187  * support intl module
188  */
189 #ifndef FEATURE_INTL_MODULE
190 #define FEATURE_INTL_MODULE 1
191 #endif
192 
193 /**
194  * supoort number format module
195  */
196 #ifndef FEATURE_NUMBER_FORMAT
197 #define FEATURE_NUMBER_FORMAT 1
198 #endif
199 
200 /**
201  * date time module
202  */
203 #ifndef FEATURE_DATE_FORMAT
204 #define FEATURE_DATE_FORMAT 1
205 #endif
206 
207 #ifndef FEATURE_API_VERSION
208 #define FEATURE_API_VERSION 1
209 #endif
210 
211 #ifndef JS_ENGINE_STATIC_MULTI_CONTEXTS_ENABLED
212 #define JS_ENGINE_STATIC_MULTI_CONTEXTS_ENABLED 1
213 #ifndef JERRY_FOR_IAR_CONFIG
214 #define JERRY_FOR_IAR_CONFIG
215 #endif
216 #endif
217 
218 #ifndef FEATURE_MODULE_STORAGE
219 #define FEATURE_MODULE_STORAGE 0
220 #endif
221 
222 #ifndef FEATURE_MODULE_AUDIO
223 #define FEATURE_MODULE_AUDIO 0
224 #endif
225 
226 #ifndef FEATURE_MODULE_DEVICE
227 #define FEATURE_MODULE_DEVICE 0
228 #endif
229 
230 #ifndef FEATURE_SUPPORT_HTTP
231 #define FEATURE_SUPPORT_HTTP 0
232 #endif
233 
234 #ifndef FEATURE_MODULE_GEO
235 #define FEATURE_MODULE_GEO 0
236 #endif
237 
238 #ifndef FEATURE_MODULE_SENSOR
239 #define FEATURE_MODULE_SENSOR 0
240 #endif
241 
242 #ifndef FEATURE_MODULE_BRIGHTNESS
243 #define FEATURE_MODULE_BRIGHTNESS 0
244 #endif
245 
246 #ifndef FEATURE_MODULE_BATTERY
247 #ifdef ACE_ENGINE_LITE_BATTERY_LITE_ENABLE
248 #define FEATURE_MODULE_BATTERY 0
249 #endif
250 #endif
251 
252 #ifndef FEATURE_MODULE_CONFIGURATION
253 #define FEATURE_MODULE_CONFIGURATION 0
254 #endif
255 
256 /**
257  * support key store module
258  */
259 #ifdef ENABLE_HUKS_ACE_LITE_FEATURE
260 #ifndef FEATURE_ACELITE_HUKS
261 #define FEATURE_ACELITE_HUKS 1
262 #endif
263 #endif
264 
265 /**
266  * support js profiler
267  */
268 #ifndef FEATURE_ACELITE_MC_JS_PROFILER
269 #define FEATURE_ACELITE_MC_JS_PROFILER 1
270 #endif
271 
272 #ifndef DEFAULT_PROFILER_MSG_PATH
273 #define DEFAULT_PROFILER_MSG_PATH "user/log/"
274 #endif
275 
276 #ifndef PROFILER_ENABLE_FLAG_FILE
277 #define PROFILER_ENABLE_FLAG_FILE "user/data/profiler_enable"
278 #endif
279 
280 #ifndef RUNTIME_MODE_FILE_PATH
281 #define RUNTIME_MODE_FILE_PATH "user/data/jsparser_enable"
282 #endif
283 
284 /**
285  * Rotation API feature
286  */
287 #if (ENABLE_ROTATE_INPUT == 1)
288 // low layer supports
289 #ifndef FEATURE_ROTATION_API
290 #define FEATURE_ROTATION_API 1
291 #endif
292 #endif // (ENABLE_ROTATE_INPUT == 1)
293 
294 #endif // OHOS_ACELITE_CONFIG_H
295