1  /*
2   * Copyright (c) 2021-2024 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 FOUNDATION_APPEXECFWK_SERVICES_BUNDLEMGR_INCLUDE_COMMON_PROFILE_H
17  #define FOUNDATION_APPEXECFWK_SERVICES_BUNDLEMGR_INCLUDE_COMMON_PROFILE_H
18  
19  #include <string>
20  
21  #include "nlohmann/json_fwd.hpp"
22  
23  namespace OHOS {
24  namespace AppExecFwk {
25  namespace ProfileReader {
26  // common tag
27  constexpr const char* PROFILE_KEY_NAME = "name";
28  constexpr const char* PROFILE_KEY_ORIGINAL_NAME = "originalName";
29  constexpr const char* PROFILE_KEY_LABEL = "label";
30  constexpr const char* PROFILE_KEY_ICON_ID = "iconId";
31  constexpr const char* PROFILE_KEY_LABEL_ID = "labelId";
32  constexpr const char* PROFILE_KEY_DESCRIPTION = "description";
33  constexpr const char* PROFILE_KEY_DESCRIPTION_ID = "descriptionId";
34  constexpr const char* PROFILE_KEY_TYPE = "type";
35  constexpr const char* PROFILE_KEY_SRCPATH = "srcPath";
36  constexpr const char* PROFILE_KEY_SRCLANGUAGE = "srcLanguage";
37  constexpr const char* PRIORITY = "priority";
38  
39  // bundle profile tag
40  constexpr const char* BUNDLE_PROFILE_KEY_APP = "app";
41  constexpr const char* BUNDLE_PROFILE_KEY_DEVICE_CONFIG = "deviceConfig";
42  constexpr const char* BUNDLE_PROFILE_KEY_MODULE = "module";
43  // sub  BUNDLE_PROFILE_KEY_APP
44  constexpr const char* BUNDLE_APP_PROFILE_KEY_BUNDLE_NAME = "bundleName";
45  constexpr const char* BUNDLE_APP_PROFILE_KEY_VENDOR = "vendor";
46  constexpr const char* BUNDLE_APP_PROFILE_KEY_VERSION = "version";
47  constexpr const char* BUNDLE_APP_PROFILE_KEY_API_VERSION = "apiVersion";
48  constexpr const char* BUNDLE_APP_PROFILE_KEY_SINGLETON = "singleton";
49  constexpr const char* BUNDLE_APP_PROFILE_KEY_REMOVABLE = "removable";
50  constexpr const char* BUNDLE_APP_PROFILE_KEY_USER_DATA_CLEARABLE = "userDataClearable";
51  constexpr const char* BUNDLE_APP_PROFILE_KEY_TARGETET_BUNDLE_LIST = "targetBundleList";
52  constexpr const char* BUNDLE_APP_PROFILE_KEY_ASAN_ENABLED = "asanEnabled";
53  constexpr const char* BUNDLE_APP_PROFILE_KEY_GWP_ASAN_ENABLED = "GWPAsanEnabled";
54  constexpr const char* BUNDLE_APP_PROFILE_KEY_TSAN_ENABLED = "tsanEnabled";
55  constexpr const char* BUNDLE_APP_PROFILE_KEY_HWASAN_ENABLED = "hwasanEnabled";
56  
57  // sub BUNDLE_APP_PROFILE_KEY_VERSION
58  constexpr const char* BUNDLE_APP_PROFILE_KEY_CODE = "code";
59  constexpr const char* BUNDLE_APP_PROFILE_KEY_MIN_COMPATIBLE_VERSION_CODE = "minCompatibleVersionCode";
60  // sub BUNDLE_APP_PROFILE_KEY_API_VERSION
61  constexpr const char* BUNDLE_APP_PROFILE_KEY_COMPATIBLE = "compatible";
62  constexpr const char* BUNDLE_APP_PROFILE_KEY_TARGET = "target";
63  constexpr const char* BUNDLE_APP_PROFILE_KEY_RELEASE_TYPE = "releaseType";
64  constexpr const char* APP_RELEASE_TYPE_VALUE_RELEASE = "Release";
65  constexpr const char* BUNDLE_APP_PROFILE_KEY_COMPILE_SDK_VERSION = "compileSdkVersion";
66  constexpr const char* BUNDLE_APP_PROFILE_KEY_COMPILE_SDK_TYPE = "compileSdkType";
67  // sub  BUNDLE_PROFILE_KEY_DEVICE_CONFIG
68  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DEFAULT = "default";
69  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_PHONE = "phone";
70  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TABLET = "tablet";
71  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TV = "tv";
72  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_CAR = "car";
73  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_WEARABLE = "wearable";
74  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_LITE_WEARABLE = "liteWearable";
75  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SMART_VISION = "smartVision";
76  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TWO_IN_ONE = "2in1";
77  // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DEFAULT
78  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_JOINT_USER_ID = "jointUserId";
79  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_PROCESS = "process";
80  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_KEEP_ALIVE = "keepAlive";
81  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_ARK = "ark";
82  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DIRECT_LAUNCH = "directLaunch";
83  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SUPPORT_BACKUP = "supportBackup";
84  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DEBUG = "debug";
85  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_COMPRESS_NATIVE_LIBS = "compressNativeLibs";
86  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_NETWORK = "network";
87  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_REQ_VERSION = "reqVersion";
88  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_FLAG = "flag";
89  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_COMPATIBLE = "compatible";
90  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TARGET = "target";
91  // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_NETWORK
92  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_USES_CLEAR_TEXT = "usesCleartext";
93  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SECURITY_CONFIG = "securityConfig";
94  // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SECURITY_CONFIG
95  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAIN_SETTINGS = "domainSettings";
96  // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAIN_SETTINGS
97  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_CLEAR_TEXT_PERMITTED = "cleartextPermitted";
98  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAINS = "domains";
99  // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAINS
100  constexpr const char* BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SUB_DOMAINS = "subDomains";
101  // sub BUNDLE_PROFILE_KEY_MODULE
102  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PACKAGE = "package";
103  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SUPPORTED_MODES = "supportedModes";
104  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_CAPABILITIES = "reqCapabilities";
105  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SUPPORTED_REQ_CAPABILITIES = "reqCapabilities";
106  constexpr const char* BUNDLE_MODULE_DEPENDENCIES = "dependencies";
107  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_IS_LIB_ISOLATED = "libIsolation";
108  constexpr const char* MODULE_SUPPORTED_MODES_VALUE_DRIVE = "drive";
109  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DEVICE_TYPE = "deviceType";
110  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_COLOR_MODE = "colorMode";
111  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DISTRO = "distro";
112  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_META_DATA = "metaData";
113  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ABILITIES = "abilities";
114  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_JS = "js";
115  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_COMMON_EVENTS = "commonEvents";
116  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SHORTCUTS = "shortcuts";
117  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DEFINE_PERMISSIONS = "definePermissions";
118  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS = "reqPermissions";
119  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQUEST_PERMISSIONS = "requestPermissions";
120  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_NAME = "name";
121  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_REASON = "reason";
122  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_USEDSCENE = "usedScene";
123  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_ABILITY = "ability";
124  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN = "when";
125  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN_INUSE = "inuse";
126  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN_ALWAYS = "always";
127  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_CUSTOMIZE_DATA = "customizeData";
128  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MAIN_ABILITY = "mainAbility";
129  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SRC_PATH = "srcPath";
130  constexpr const char* BUNDLE_MODULE_PROFILE_BUILD_HASH = "buildHash";
131  // sub BUNDLE_MODULE_PROFILE_KEY_DISTRO
132  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DELIVERY_WITH_INSTALL = "deliveryWithInstall";
133  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MODULE_NAME = "moduleName";
134  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MODULE_TYPE = "moduleType";
135  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MODULE_INSTALLATION_FREE = "installationFree";
136  // sub BUNDLE_MODULE_PROFILE_KEY_SKILLS
137  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ACTIONS = "actions";
138  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ENTITIES = "entities";
139  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_URIS = "uris";
140  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DOMAIN_VERIFY = "domainVerify";
141  // sub BUNDLE_MODULE_PROFILE_KEY_URIS
142  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SCHEME = "scheme";
143  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_HOST = "host";
144  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PORT = "port";
145  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PATH = "path";
146  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PATHSTARTWITH = "pathStartWith";
147  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PATHREGX = "pathRegx";
148  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PATHREGEX = "pathRegex";
149  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_TYPE = "type";
150  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_UTD = "utd";
151  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MAX_FILE_SUPPORTED = "maxFileSupported";
152  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_LINK_FEATURE = "linkFeature";
153  // sub BUNDLE_MODULE_PROFILE_KEY_META_DATA
154  constexpr const char* BUNDLE_MODULE_META_KEY_CUSTOMIZE_DATA = "customizeData";
155  constexpr const char* BUNDLE_MODULE_META_KEY_NAME = "name";
156  constexpr const char* BUNDLE_MODULE_META_KEY_VALUE = "value";
157  constexpr const char* BUNDLE_MODULE_META_KEY_EXTRA = "extra";
158  // sub BUNDLE_MODULE_PROFILE_KEY_DISTRO_TYPE
159  constexpr const char* MODULE_DISTRO_MODULE_TYPE_VALUE_ENTRY = "entry";
160  constexpr const char* MODULE_DISTRO_MODULE_TYPE_VALUE_FEATURE = "feature";
161  // sub BUNDLE_MODULE_PROFILE_KEY_ABILITIES
162  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ICON = "icon";
163  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ICON_ID = "iconId";
164  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_URI = "uri";
165  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_LAUNCH_TYPE = "launchType";
166  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_LAUNCH_THEME = "theme";
167  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_VISIBLE = "visible";
168  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_CONTINUABLE = "continuable";
169  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PERMISSIONS = "permissions";
170  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SKILLS = "skills";
171  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PROCESS = "process";
172  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DEVICE_CAP_ABILITY = "deviceCapability";
173  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_FORM_ENABLED = "formEnabled";
174  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_FORM = "form";
175  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_ORIENTATION = "orientation";
176  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_BACKGROUND_MODES = "backgroundModes";
177  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_GRANT_PERMISSION = "grantPermission";
178  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_URI_PERMISSION = "uriPermission";
179  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_READ_PERMISSION = "readPermission";
180  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_WRITE_PERMISSION = "writePermission";
181  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DIRECT_LAUNCH = "directLaunch";
182  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_CONFIG_CHANGES = "configChanges";
183  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MISSION = "mission";
184  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_TARGET_ABILITY = "targetAbility";
185  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MULTIUSER_SHARED = "multiUserShared";
186  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SUPPORT_PIP_MODE = "supportPipMode";
187  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_FORMS_ENABLED = "formsEnabled";
188  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_FORMS = "forms";
189  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_START_WINDOW_ICON = "startWindowIcon";
190  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_START_WINDOW_ICON_ID = "startWindowIconId";
191  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_START_WINDOW_BACKGROUND = "startWindowBackground";
192  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_START_WINDOW_BACKGROUND_ID = "startWindowBackgroundId";
193  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_REMOVE_MISSION_AFTER_TERMINATE = "removeMissionAfterTerminate";
194  // sub BUNDLE_MODULE_PROFILE_KEY_FORM
195  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_MODE = "mode";
196  // sub BUNDLE_MODULE_PROFILE_KEY_FORM
197  constexpr const char* BUNDLE_MODULE_PROFILE_FORM_ENTITY = "formEntity";
198  constexpr const char* BUNDLE_MODULE_PROFILE_FORM_MIN_HEIGHT = "minHeight";
199  constexpr const char* BUNDLE_MODULE_PROFILE_FORM_DEFAULT_HEIGHT = "defaultHeight";
200  constexpr const char* BUNDLE_MODULE_PROFILE_FORM_MIN_WIDTH = "minWidth";
201  constexpr const char* BUNDLE_MODULE_PROFILE_FORM_DEFAULT_WIDTH = "defaultWidth";
202  // sub BUNDLE_MODULE_PROFILE_KEY_FORMS
203  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_IS_DEFAULT = "isDefault";
204  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_COLOR_MODE = "colorMode";
205  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_SUPPORT_DIMENSIONS = "supportDimensions";
206  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_DEFAULT_DIMENSION = "defaultDimension";
207  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_LANDSCAPE_LAYOUTS = "landscapeLayouts";
208  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_PORTRAIT_LAYOUTS = "portraitLayouts";
209  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_UPDATEENABLED = "updateEnabled";
210  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_SCHEDULED_UPDATE_TIME = "scheduledUpdateTime";
211  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_UPDATE_DURATION = "updateDuration";
212  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_DEEP_LINK = "deepLink";
213  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_JS_COMPONENT_NAME = "jsComponentName";
214  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_VALUE = "value";
215  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_FORM_CONFIG_ABILITY = "formConfigAbility";
216  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_FORM_VISIBLE_NOTIFY = "formVisibleNotify";
217  constexpr const char* BUNDLE_MODULE_PROFILE_FORMS_SRC = "src";
218  // sub BUNDLE_MODULE_PROFILE_KEY_JS
219  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PAGES = "pages";
220  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_WINDOW = "window";
221  // sub BUNDLE_MODULE_PROFILE_KEY_COMMON_EVENTS
222  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_PERMISSION = "permission";
223  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DATA = "data";
224  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_EVENTS = "events";
225  constexpr const char* MODULE_ABILITY_JS_TYPE_VALUE_NORMAL = "normal";
226  constexpr const char* MODULE_ABILITY_JS_TYPE_VALUE_FORM = "form";
227  // sub BUNDLE_MODULE_PROFILE_KEY_WINDOW
228  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_DESIGN_WIDTH = "designWidth";
229  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_AUTO_DESIGN_WIDTH = "autoDesignWidth";
230  // sub BUNDLE_MODULE_PROFILE_KEY_SHORTCUTS
231  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_ID = "shortcutId";
232  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_WANTS = "intents";
233  // sub BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_WANTS
234  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_TARGET_CLASS = "targetClass";
235  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_TARGET_BUNDLE = "targetBundle";
236  // sub BUNDLE_INSTALL_MARK
237  constexpr const char* BUNDLE_INSTALL_MARK_BUNDLE = "installMarkBundle";
238  constexpr const char* BUNDLE_INSTALL_MARK_PACKAGE = "installMarkPackage";
239  constexpr const char* BUNDLE_INSTALL_MARK_STATUS = "installMarkStatus";
240  // sub BUNDLE_SANDBOX_PERSISTENT_INFO
241  constexpr const char* BUNDLE_SANDBOX_PERSISTENT_ACCESS_TOKEN_ID = "accessTokenId";
242  constexpr const char* BUNDLE_SANDBOX_PERSISTENT_APP_INDEX = "appIndex";
243  constexpr const char* BUNDLE_SANDBOX_PERSISTENT_USER_ID = "userId";
244  // sub BUNDLE_MULTI_APP
245  
246  const uint32_t VALUE_HOME_SCREEN = 1 << 0;
247  // 000010 represents supporting search box
248  const uint32_t VALUE_SEARCHBOX = 1 << 1;
249  
250  constexpr const char* KEY_HOME_SCREEN = "homeScreen";
251  constexpr const char* KEY_SEARCHBOX = "searchbox";
252  
253  constexpr const char* BUNDLE_MODULE_PROFILE_KEY_JS_TYPE_ETS = "ets";
254  
255  // background modes
256  // different bits in the binary represent different services
257  // 0000001 represents data transmission services
258  constexpr uint32_t VALUE_DATA_TRANSFER = 1 << 0;
259  
260  // 0000 0010 represents audio output service
261  constexpr uint32_t VALUE_AUDIO_PLAYBACK = 1 << 1;
262  
263  // 0000 0100 represents audio input service
264  constexpr uint32_t VALUE_AUDIO_RECORDING = 1 << 2;
265  
266  // 0000 1000 represents positioning navigation service
267  constexpr uint32_t VALUE_LOCATION = 1 << 3;
268  
269  // 0001 0000 represents bluetooth scanning, connection, transmission service (wearing)
270  constexpr uint32_t VALUE_BLUETOOTH_INTERACTION = 1 << 4;
271  
272  // 0010 0000 represents multi device connection services
273  constexpr uint32_t VALUE_MULTI_DEVICE_CONNECTION = 1 << 5;
274  
275  // 0100 0000 represents WiFi scanning, connection, transmission services (multi-screen)
276  constexpr uint32_t VALUE_WIFI_INTERACTION = 1 << 6;
277  
278  // 1000 0000 represents audio call,VOIP service
279  constexpr uint32_t VALUE_VOIP = 1 << 7;
280  
281  // 1 0000 0000 represents task Keeping service
282  constexpr uint32_t VALUE_TASK_KEEPING = 1 << 8;
283  
284  // 10 0000 0000 represents picture in picture service
285  constexpr uint32_t VALUE_PICTURE_IN_PICTURE = 1 << 9;
286  
287  // 100 0000 0000 represents screen fetch service
288  constexpr uint32_t VALUE_SCREEN_FETCH = 1 << 10;
289  
290  constexpr const char* KEY_DATA_TRANSFER = "dataTransfer";
291  constexpr const char* KEY_AUDIO_PLAYBACK = "audioPlayback";
292  constexpr const char* KEY_AUDIO_RECORDING = "audioRecording";
293  constexpr const char* KEY_LOCATION = "location";
294  constexpr const char* KEY_BLUETOOTH_INTERACTION = "bluetoothInteraction";
295  constexpr const char* KEY_MULTI_DEVICE_CONNECTION = "multiDeviceConnection";
296  constexpr const char* KEY_WIFI_INTERACTION = "wifiInteraction";
297  constexpr const char* KEY_VOIP = "voip";
298  constexpr const char* KEY_TASK_KEEPING = "taskKeeping";
299  constexpr const char* KEY_PICTURE_IN_PICTURE = "pictureInPicture";
300  constexpr const char* KEY_SCREEN_FETCH = "screenFetch";
301  }  // namespace ProfileReader
302  
303  namespace Profile {
304  // common
305  constexpr const char* ICON = "icon";
306  constexpr const char* ICON_ID = "iconId";
307  constexpr const char* LABEL = "label";
308  constexpr const char* LABEL_ID = "labelId";
309  constexpr const char* DESCRIPTION = "description";
310  constexpr const char* DESCRIPTION_ID = "descriptionId";
311  constexpr const char* META_DATA = "metadata";
312  constexpr const char* SKILLS = "skills";
313  constexpr const char* SRC_ENTRANCE = "srcEntrance";
314  constexpr const char* SRC_ENTRY = "srcEntry";
315  constexpr const char* PERMISSIONS = "permissions";
316  constexpr const char* VISIBLE = "visible";
317  constexpr const char* EXPORTED = "exported";
318  constexpr const char* SRC_LANGUAGE = "srcLanguage";
319  constexpr const char* PRIORITY = "priority";
320  constexpr const char* ATOMIC_SERVICE = "atomicService";
321  // module.json
322  constexpr const char* APP = "app";
323  constexpr const char* MODULE = "module";
324  // app
325  constexpr const char* APP_BUNDLE_NAME = "bundleName";
326  constexpr const char* APP_DEBUG = "debug";
327  constexpr const char* APP_VENDOR = "vendor";
328  constexpr const char* APP_VERSION_CODE = "versionCode";
329  constexpr const char* APP_VERSION_NAME = "versionName";
330  constexpr const char* APP_MIN_COMPATIBLE_VERSION_CODE = "minCompatibleVersionCode";
331  constexpr const char* APP_MIN_API_VERSION = "minAPIVersion";
332  constexpr const char* APP_TARGET_API_VERSION = "targetAPIVersion";
333  constexpr const char* APP_API_RELEASETYPE = "apiReleaseType";
334  constexpr const char* APP_API_RELEASETYPE_DEFAULT_VALUE = "Release";
335  constexpr const char* APP_ENTITY_TYPE_DEFAULT_VALUE = "unspecified";
336  constexpr const char* APP_KEEP_ALIVE = "keepAlive";
337  constexpr const char* APP_REMOVABLE = "removable";
338  constexpr const char* APP_SINGLETON = "singleton";
339  constexpr const char* APP_USER_DATA_CLEARABLE = "userDataClearable";
340  constexpr const char* APP_PHONE = "phone";
341  constexpr const char* APP_TABLET = "tablet";
342  constexpr const char* APP_TV = "tv";
343  constexpr const char* APP_WEARABLE = "wearable";
344  constexpr const char* APP_LITE_WEARABLE = "liteWearable";
345  constexpr const char* APP_CAR = "car";
346  constexpr const char* APP_SMART_VISION = "smartVision";
347  constexpr const char* APP_ROUTER = "router";
348  constexpr const char* APP_TWO_IN_ONE = "2in1";
349  constexpr const char* APP_ACCESSIBLE = "accessible";
350  constexpr const char* APP_TARGETBUNDLELIST = "targetBundleList";
351  constexpr const char* APP_MULTI_PROJECTS = "multiProjects";
352  constexpr const char* APP_ASAN_ENABLED = "asanEnabled";
353  constexpr const char* APP_ATOMIC_SERVICE = "atomicService";
354  constexpr const char* BUNDLE_TYPE = "bundleType";
355  constexpr const char* APP_GWP_ASAN_ENABLED = "GWPAsanEnabled";
356  constexpr const char* APP_TSAN_ENABLED = "tsanEnabled";
357  // multiappmode
358  constexpr const char* APP_MULTI_APP_MODE = "multiAppMode";
359  constexpr const char* APP_HWASAN_ENABLED = "hwasanEnabled";
360  constexpr const char* APP_CONFIGURATION = "configuration";
361  constexpr const char* APP_CLOUD_FILE_SYNC_ENABLED = "cloudFileSyncEnabled";
362  constexpr const char* MULTI_APP_MODE_TYPE = "multiAppModeType";
363  constexpr const char* MULTI_APP_MODE_MAX_ADDITIONAL_NUMBER = "maxCount";
364  constexpr const char* APP_MAX_CHILD_PROCESS = "maxChildProcess";
365  constexpr const char* MAX_CHILD_PROCESS = "const.bms.maxChildProcess";
366  // module
367  constexpr const char* MODULE_NAME = "name";
368  constexpr const char* MODULE_TYPE = "type";
369  constexpr const char* MODULE_PROCESS = "process";
370  constexpr const char* MODULE_MAIN_ELEMENT = "mainElement";
371  constexpr const char* MODULE_DEVICE_TYPES = "deviceTypes";
372  constexpr const char* MODULE_HNP_PACKAGE = "hnpPackages";
373  constexpr const char* MODULE_DELIVERY_WITH_INSTALL = "deliveryWithInstall";
374  constexpr const char* MODULE_INSTALLATION_FREE = "installationFree";
375  constexpr const char* MODULE_VIRTUAL_MACHINE = "virtualMachine";
376  constexpr const char* MODULE_VIRTUAL_MACHINE_DEFAULT_VALUE = "default";
377  constexpr const char* MODULE_UI_SYNTAX = "uiSyntax";
378  constexpr const char* MODULE_UI_SYNTAX_DEFAULT_VALUE = "hml";
379  constexpr const char* MODULE_PAGES = "pages";
380  constexpr const char* MODULE_ABILITIES = "abilities";
381  constexpr const char* MODULE_EXTENSION_ABILITIES = "extensionAbilities";
382  constexpr const char* MODULE_REQUEST_PERMISSIONS = "requestPermissions";
383  constexpr const char* MODULE_DEFINE_PERMISSIONS = "definePermissions";
384  constexpr const char* MODULE_DEPENDENCIES = "dependencies";
385  constexpr const char* MODULE_COMPILE_MODE = "compileMode";
386  constexpr const char* MODULE_IS_LIB_ISOLATED = "libIsolation";
387  constexpr const char* MODULE_ATOMIC_SERVICE = "atomicService";
388  constexpr const char* MODULE_PROXY_DATAS = "proxyDatas";
389  constexpr const char* MODULE_PROXY_DATA = "proxyData";
390  constexpr const char* MODULE_BUILD_HASH = "buildHash";
391  constexpr const char* MODULE_ISOLATION_MODE = "isolationMode";
392  constexpr const char* MODULE_COMPRESS_NATIVE_LIBS = "compressNativeLibs";
393  constexpr const char* MODULE_QUERY_SCHEMES = "querySchemes";
394  constexpr const char* MODULE_APP_STARTUP = "appStartup";
395  // module type
396  constexpr const char* MODULE_TYPE_ENTRY = "entry";
397  constexpr const char* MODULE_TYPE_FEATURE = "feature";
398  constexpr const char* MODULE_TYPE_SHARED = "shared";
399  // deviceConfig
400  constexpr const char* MIN_API_VERSION = "minAPIVersion";
401  constexpr const char* DEVICE_CONFIG_KEEP_ALIVE = "keepAlive";
402  constexpr const char* DEVICE_CONFIG_REMOVABLE = "removable";
403  constexpr const char* DEVICE_CONFIG_SINGLETON = "singleton";
404  constexpr const char* DEVICE_CONFIG_USER_DATA_CLEARABLE = "userDataClearable";
405  constexpr const char* DEVICE_CONFIG_ACCESSIBLE = "accessible";
406  // metadata
407  constexpr const char* META_DATA_NAME = "name";
408  constexpr const char* META_DATA_VALUE = "value";
409  constexpr const char* META_DATA_RESOURCE = "resource";
410  // hnppackge
411  constexpr const char* HNP_PACKAGE = "package";
412  constexpr const char* HNP_TYPE = "type";
413  // metadata reserved
414  constexpr const char* META_DATA_FORM = "ohos.extension.form";
415  constexpr const char* META_DATA_SHORTCUTS = "ohos.ability.shortcuts";
416  constexpr const char* META_DATA_COMMON_EVENTS = "ohos.extension.staticSubscriber";
417  // ability
418  constexpr const char* ABILITY_NAME = "name";
419  constexpr const char* ABILITY_LAUNCH_TYPE = "launchType";
420  constexpr const char* ABILITY_LAUNCH_TYPE_DEFAULT_VALUE = "singleton";
421  constexpr const char* ABILITY_BACKGROUNDMODES = "backgroundModes";
422  constexpr const char* ABILITY_CONTINUABLE = "continuable";
423  constexpr const char* ABILITY_START_WINDOW_ICON = "startWindowIcon";
424  constexpr const char* ABILITY_START_WINDOW_ICON_ID = "startWindowIconId";
425  constexpr const char* ABILITY_START_WINDOW_BACKGROUND = "startWindowBackground";
426  constexpr const char* ABILITY_START_WINDOW_BACKGROUND_ID = "startWindowBackgroundId";
427  constexpr const char* ABILITY_REMOVE_MISSION_AFTER_TERMINATE = "removeMissionAfterTerminate";
428  constexpr const char* ABILITY_ORIENTATION = "orientation";
429  constexpr const char* ABILITY_SUPPORT_WINDOW_MODE = "supportWindowMode";
430  constexpr const char* ABILITY_MAX_WINDOW_RATIO = "maxWindowRatio";
431  constexpr const char* ABILITY_MIN_WINDOW_RATIO = "minWindowRatio";
432  constexpr const char* ABILITY_MAX_WINDOW_WIDTH = "maxWindowWidth";
433  constexpr const char* ABILITY_MIN_WINDOW_WIDTH = "minWindowWidth";
434  constexpr const char* ABILITY_MAX_WINDOW_HEIGHT = "maxWindowHeight";
435  constexpr const char* ABILITY_MIN_WINDOW_HEIGHT = "minWindowHeight";
436  constexpr const char* ABILITY_EXCLUDE_FROM_MISSIONS = "excludeFromMissions";
437  constexpr const char* ABILITY_UNCLEARABLE_MISSION = "unclearableMission";
438  constexpr const char* ABILITY_EXCLUDEFROMDOCK_MISSION = "excludeFromDock";
439  constexpr const char* ABILITY_PREFER_MULTI_WINDOW_ORIENTATION_MISSION = "preferMultiWindowOrientation";
440  constexpr const char* ABILITY_RECOVERABLE = "recoverable";
441  constexpr const char* ABILITY_ISOLATION_PROCESS = "isolationProcess";
442  constexpr const char* ABILITY_CONTINUE_TYPE = "continueType";
443  constexpr const char* ABILITY_ORIENTATION_ID = "orientationId";
444  constexpr const char* ABILITY_CONTINUE_BUNDLE_NAME = "continueBundleName";
445  // extension ability
446  constexpr const char* EXTENSION_ABILITY_NAME = "name";
447  constexpr const char* EXTENSION_ABILITY_TYPE = "type";
448  constexpr const char* EXTENSION_URI = "uri";
449  constexpr const char* EXTENSION_ABILITY_READ_PERMISSION = "readPermission";
450  constexpr const char* EXTENSION_ABILITY_WRITE_PERMISSION = "writePermission";
451  constexpr const char* EXTENSION_PROCESS_MODE = "extensionProcessMode";
452  constexpr const char* DATA_GROUP_IDS = "dataGroupIds";
453  // requestPermission
454  constexpr const char* REQUESTPERMISSION_NAME = "name";
455  constexpr const char* REQUESTPERMISSION_REASON = "reason";
456  constexpr const char* REQUESTPERMISSION_REASON_ID = "reasonId";
457  constexpr const char* REQUESTPERMISSION_USEDSCENE = "usedScene";
458  constexpr const char* REQUESTPERMISSION_ABILITIES = "abilities";
459  constexpr const char* REQUESTPERMISSION_WHEN = "when";
460  // definePermission
461  constexpr const char* DEFINEPERMISSION_NAME = "name";
462  constexpr const char* DEFINEPERMISSION_GRANT_MODE = "grantMode";
463  constexpr const char* DEFINEPERMISSION_AVAILABLE_LEVEL = "availableLevel";
464  constexpr const char* DEFINEPERMISSION_PROVISION_ENABLE = "provisionEnable";
465  constexpr const char* DEFINEPERMISSION_DISTRIBUTED_SCENE_ENABLE = "distributedSceneEnable";
466  constexpr const char* DEFINEPERMISSION_GRANT_MODE_SYSTEM_GRANT = "system_grant";
467  constexpr const char* DEFINEPERMISSION_AVAILABLE_LEVEL_DEFAULT_VALUE = "normal";
468  constexpr const char* DEFINEPERMISSION_AVAILABLE_TYPE = "availableType";
469  constexpr const char* DEFINEPERMISSION_AVAILABLE_TYPE_DEFAULT_VALUE = "normal";
470  constexpr const char* DEFINEPERMISSION_AVAILABLE_TYPE_MDM = "MDM";
471  // apl
472  constexpr const char* AVAILABLELEVEL_NORMAL = "normal";
473  constexpr const char* AVAILABLELEVEL_SYSTEM_BASIC = "system_basic";
474  constexpr const char* AVAILABLELEVEL_SYSTEM_CORE = "system_core";
475  // compile mode
476  constexpr const char* COMPILE_MODE_JS_BUNDLE = "jsbundle";
477  constexpr const char* COMPILE_MODE_ES_MODULE = "esmodule";
478  // dependencies
479  constexpr const char* DEPENDENCIES_MODULE_NAME = "moduleName";
480  constexpr const char* DEPENDENCIES_BUNDLE_NAME = "bundleName";
481  
482  // app detail ability library path
483  constexpr const char* APP_DETAIL_ABILITY_LIBRARY_PATH = "/system/lib/appdetailability";
484  constexpr const char* APP_DETAIL_ABILITY_LIBRARY_PATH_64 = "/system/lib64/appdetailability";
485  
486  // overlay installation
487  constexpr const char* APP_TARGET_BUNDLE_NAME = "targetBundleName";
488  constexpr const char* APP_TARGET_PRIORITY = "targetPriority";
489  
490  constexpr const char* MODULE_TARGET_MODULE_NAME = "targetModuleName";
491  constexpr const char* MODULE_TARGET_PRIORITY = "targetPriority";
492  
493  constexpr const char* SYSTEM_RESOURCES_APP = "ohos.global.systemres";
494  
495  // app atomicService
496  constexpr const char* APP_ATOMIC_SERVICE_SPLIT = "split";
497  constexpr const char* APP_ATOMIC_SERVICE_MAIN = "main";
498  // module atomicService
499  constexpr const char* MODULE_ATOMIC_SERVICE_PRELOADS = "preloads";
500  // module atomicService preloads
501  constexpr const char* PRELOADS_MODULE_NAME = "moduleName";
502  
503  // bundleType
504  constexpr const char* BUNDLE_TYPE_APP = "app";
505  constexpr const char* BUNDLE_TYPE_ATOMIC_SERVICE = "atomicService";
506  constexpr const char* BUNDLE_TYPE_SHARED = "shared";
507  constexpr const char* BUNDLE_TYPE_APP_SERVICE_FWK = "appService";
508  
509  // compileSdkType
510  constexpr const char* COMPILE_SDK_VERSION = "compileSdkVersion";
511  constexpr const char* COMPILE_SDK_TYPE = "compileSdkType";
512  constexpr const char* COMPILE_SDK_TYPE_OPEN_HARMONY = "OpenHarmony";
513  
514  // moduleMenu
515  constexpr const char* MODULE_FILE_CONTEXT_MENU = "fileContextMenu";
516  
517  // module router
518  constexpr const char* MODULE_ROUTER_MAP = "routerMap";
519  
520  //module appEnvironment
521  constexpr const char* MODULE_APP_ENVIRONMENTS = "appEnvironments";
522  //module packageName
523  constexpr const char* MODULE_PACKAGE_NAME = "packageName";
524  }  // namespace Profile
525  }  // namespace AppExecFwk
526  }  // namespace OHOS
527  #endif  // FOUNDATION_APPEXECFWK_SERVICES_BUNDLEMGR_INCLUDE_COMMON_PROFILE_H
528