• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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.hpp"
22 
23 namespace OHOS {
24 namespace AppExecFwk {
25 namespace ProfileReader {
26 
27 // common tag
28 const std::string PROFILE_KEY_NAME = "name";
29 const std::string PROFILE_KEY_ORIGINAL_NAME = "originalName";
30 const std::string PROFILE_KEY_LABEL = "label";
31 const std::string PROFILE_KEY_LABEL_ID = "labelId";
32 const std::string PROFILE_KEY_DESCRIPTION = "description";
33 const std::string PROFILE_KEY_DESCRIPTION_ID = "descriptionId";
34 const std::string PROFILE_KEY_TYPE = "type";
35 const std::string PROFILE_KEY_SRCPATH = "srcPath";
36 const std::string PROFILE_KEY_SRCLANGUAGE = "srcLanguage";
37 
38 // bundle profile tag
39 const std::string BUNDLE_PROFILE_KEY_APP = "app";
40 const std::string BUNDLE_PROFILE_KEY_DEVICE_CONFIG = "deviceConfig";
41 const std::string BUNDLE_PROFILE_KEY_MODULE = "module";
42 // sub  BUNDLE_PROFILE_KEY_APP
43 const std::string BUNDLE_APP_PROFILE_KEY_BUNDLE_NAME = "bundleName";
44 const std::string BUNDLE_APP_PROFILE_KEY_VENDOR = "vendor";
45 const std::string BUNDLE_APP_PROFILE_KEY_VERSION = "version";
46 const std::string BUNDLE_APP_PROFILE_KEY_API_VERSION = "apiVersion";
47 // sub BUNDLE_APP_PROFILE_KEY_VERSION
48 const std::string BUNDLE_APP_PROFILE_KEY_CODE = "code";
49 // sub BUNDLE_APP_PROFILE_KEY_API_VERSION
50 const std::string BUNDLE_APP_PROFILE_KEY_COMPATIBLE = "compatible";
51 const std::string BUNDLE_APP_PROFILE_KEY_TARGET = "target";
52 const std::string BUNDLE_APP_PROFILE_KEY_RELEASE_TYPE = "releaseType";
53 const std::string APP_RELEASE_TYPE_VALUE_RELEASE = "Release";
54 // sub  BUNDLE_PROFILE_KEY_DEVICE_CONFIG
55 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DEFAULT = "default";
56 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_PHONE = "phone";
57 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TABLET = "tablet";
58 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TV = "tv";
59 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_CAR = "car";
60 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_WEARABLE = "wearable";
61 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_LITE_WEARABLE = "liteWearable";
62 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SMART_VISION = "smartVision";
63 // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DEFAULT
64 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_JOINT_USER_ID = "jointUserId";
65 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_PROCESS = "process";
66 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_KEEP_ALIVE = "keepAlive";
67 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_ARK = "ark";
68 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DIRECT_LAUNCH = "directLaunch";
69 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SUPPORT_BACKUP = "supportBackup";
70 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_COMPRESS_NATIVE_LIBS = "compressNativeLibs";
71 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_NETWORK = "network";
72 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_REQ_VERSION = "reqVersion";
73 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_FLAG = "flag";
74 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_COMPATIBLE = "compatible";
75 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_TARGET = "target";
76 // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_NETWORK
77 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_USES_CLEAR_TEXT = "usesCleartext";
78 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SECURITY_CONFIG = "securityConfig";
79 // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SECURITY_CONFIG
80 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAIN_SETTINGS = "domainSettings";
81 // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAIN_SETTINGS
82 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_CLEAR_TEXT_PERMITTED = "cleartextPermitted";
83 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAINS = "domains";
84 // sub BUNDLE_DEVICE_CONFIG_PROFILE_KEY_DOMAINS
85 const std::string BUNDLE_DEVICE_CONFIG_PROFILE_KEY_SUB_DOMAINS = "subDomains";
86 // sub BUNDLE_PROFILE_KEY_MODULE
87 const std::string BUNDLE_MODULE_PROFILE_KEY_PACKAGE = "package";
88 const std::string BUNDLE_MODULE_PROFILE_KEY_SUPPORTED_MODES = "supportedModes";
89 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_CAPABILITIES = "reqCapabilities";
90 const std::string BUNDLE_MODULE_PROFILE_KEY_SUPPORTED_REQ_CAPABILITIES = "reqCapabilities";
91 const std::string MODULE_SUPPORTED_MODES_VALUE_DRIVE = "drive";
92 const std::string BUNDLE_MODULE_PROFILE_KEY_DEVICE_TYPE = "deviceType";
93 const std::string BUNDLE_MODULE_PROFILE_KEY_COLOR_MODE = "colorMode";
94 const std::string BUNDLE_MODULE_PROFILE_KEY_DISTRO = "distro";
95 const std::string BUNDLE_MODULE_PROFILE_KEY_META_DATA = "metaData";
96 const std::string BUNDLE_MODULE_PROFILE_KEY_ABILITIES = "abilities";
97 const std::string BUNDLE_MODULE_PROFILE_KEY_JS = "js";
98 const std::string BUNDLE_MODULE_PROFILE_KEY_COMMON_EVENTS = "commonEvents";
99 const std::string BUNDLE_MODULE_PROFILE_KEY_SHORTCUTS = "shortcuts";
100 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS = "defPermissions";
101 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_NAME = "name";
102 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_GRANTMODE = "grantMode";
103 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_GRANTMODE_USER_GRANT = "user_grant";
104 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_GRANTMODE_SYSTEM_GRANT = "system_grant";
105 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_AVAILABLESCOPE = "availableScope";
106 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_AVAILABLESCOPE_SIGNATURE = "signature";
107 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_AVAILABLESCOPE_PRIVILEGED = "privileged";
108 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_AVAILABLESCOPE_RESTRICTED = "restricted";
109 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_LABEL = "label";
110 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_LABEL_ID = "labelId";
111 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_DESCRIPTION = "description";
112 const std::string BUNDLE_MODULE_PROFILE_KEY_DEF_PERMISSIONS_DESCRIPTION_ID = "descriptionId";
113 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS = "reqPermissions";
114 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_NAME = "name";
115 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_REASON = "reason";
116 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_USEDSCENE = "usedScene";
117 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_ABILITY = "ability";
118 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN = "when";
119 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN_INUSE = "inuse";
120 const std::string BUNDLE_MODULE_PROFILE_KEY_REQ_PERMISSIONS_WHEN_ALWAYS = "always";
121 const std::string BUNDLE_MODULE_PROFILE_KEY_CUSTOMIZE_DATA = "customizeData";
122 const std::string BUNDLE_MODULE_PROFILE_KEY_MAIN_ABILITY = "mainAbility";
123 // sub BUNDLE_MODULE_PROFILE_KEY_DISTRO
124 const std::string BUNDLE_MODULE_PROFILE_KEY_DELIVERY_WITH_INSTALL = "deliveryWithInstall";
125 const std::string BUNDLE_MODULE_PROFILE_KEY_MODULE_NAME = "moduleName";
126 const std::string BUNDLE_MODULE_PROFILE_KEY_MODULE_TYPE = "moduleType";
127 const std::string BUNDLE_MODULE_PROFILE_KEY_MODULE_INSTALLATION_FREE = "installationFree";
128 // sub BUNDLE_MODULE_PROFILE_KEY_SKILLS
129 const std::string BUNDLE_MODULE_PROFILE_KEY_ACTIONS = "actions";
130 const std::string BUNDLE_MODULE_PROFILE_KEY_ENTITIES = "entities";
131 const std::string BUNDLE_MODULE_PROFILE_KEY_URIS = "uris";
132 // sub BUNDLE_MODULE_PROFILE_KEY_URIS
133 const std::string BUNDLE_MODULE_PROFILE_KEY_SCHEME = "scheme";
134 const std::string BUNDLE_MODULE_PROFILE_KEY_HOST = "host";
135 const std::string BUNDLE_MODULE_PROFILE_KEY_PORT = "port";
136 const std::string BUNDLE_MODULE_PROFILE_KEY_PATH = "path";
137 const std::string BUNDLE_MODULE_PROFILE_KEY_TYPE = "type";
138 // sub BUNDLE_MODULE_PROFILE_KEY_META_DATA
139 const std::string BUNDLE_MODULE_META_KEY_NAME = "name";
140 const std::string BUNDLE_MODULE_META_KEY_DESCRIPTION = "description";
141 const std::string BUNDLE_MODULE_META_KEY_PARAMETERS = "parameters";
142 const std::string BUNDLE_MODULE_META_KEY_RESULTS = "results";
143 const std::string BUNDLE_MODULE_META_KEY_CUSTOMIZE_DATA = "customizeData";
144 const std::string BUNDLE_MODULE_META_KEY_VALUE = "value";
145 const std::string BUNDLE_MODULE_META_KEY_EXTRA = "extra";
146 // sub BUNDLE_MODULE_PROFILE_KEY_DISTRO_TYPE
147 const std::string MODULE_DISTRO_MODULE_TYPE_VALUE_ENTRY = "entry";
148 const std::string MODULE_DISTRO_MODULE_TYPE_VALUE_FEATURE = "feature";
149 // sub BUNDLE_MODULE_PROFILE_KEY_ABILITIES
150 const std::string BUNDLE_MODULE_PROFILE_KEY_ICON = "icon";
151 const std::string BUNDLE_MODULE_PROFILE_KEY_ICON_ID = "iconId";
152 const std::string BUNDLE_MODULE_PROFILE_KEY_URI = "uri";
153 const std::string BUNDLE_MODULE_PROFILE_KEY_LAUNCH_TYPE = "launchType";
154 const std::string BUNDLE_MODULE_PROFILE_KEY_LAUNCH_THEME = "theme";
155 const std::string BUNDLE_MODULE_PROFILE_KEY_VISIBLE = "visible";
156 const std::string BUNDLE_MODULE_PROFILE_KEY_PERMISSIONS = "permissions";
157 const std::string BUNDLE_MODULE_PROFILE_KEY_SKILLS = "skills";
158 const std::string BUNDLE_MODULE_PROFILE_KEY_PROCESS = "process";
159 const std::string BUNDLE_MODULE_PROFILE_KEY_DEVICE_CAP_ABILITY = "deviceCapability";
160 const std::string BUNDLE_MODULE_PROFILE_KEY_FORM_ENABLED = "formEnabled";
161 const std::string BUNDLE_MODULE_PROFILE_KEY_FORM = "form";
162 const std::string BUNDLE_MODULE_PROFILE_KEY_ORIENTATION = "orientation";
163 const std::string BUNDLE_MODULE_PROFILE_KEY_BACKGROUND_MODES = "backgroundModes";
164 const std::string BUNDLE_MODULE_PROFILE_KEY_GRANT_PERMISSION = "grantPermission";
165 const std::string BUNDLE_MODULE_PROFILE_KEY_URI_PERMISSION = "uriPermission";
166 const std::string BUNDLE_MODULE_PROFILE_KEY_READ_PERMISSION = "readPermission";
167 const std::string BUNDLE_MODULE_PROFILE_KEY_WRITE_PERMISSION = "writePermission";
168 const std::string BUNDLE_MODULE_PROFILE_KEY_DIRECT_LAUNCH = "directLaunch";
169 const std::string BUNDLE_MODULE_PROFILE_KEY_CONFIG_CHANGES = "configChanges";
170 const std::string BUNDLE_MODULE_PROFILE_KEY_MISSION = "mission";
171 const std::string BUNDLE_MODULE_PROFILE_KEY_TARGET_ABILITY = "targetAbility";
172 const std::string BUNDLE_MODULE_PROFILE_KEY_MULTIUSER_SHARED = "multiUserShared";
173 const std::string BUNDLE_MODULE_PROFILE_KEY_SUPPORT_PIP_MODE = "supportPipMode";
174 const std::string BUNDLE_MODULE_PROFILE_KEY_FORMS_ENABLED = "formsEnabled";
175 const std::string BUNDLE_MODULE_PROFILE_KEY_FORMS = "forms";
176 // sub BUNDLE_MODULE_PROFILE_KEY_FORM
177 const std::string BUNDLE_MODULE_PROFILE_KEY_MODE = "mode";
178 // sub BUNDLE_MODULE_PROFILE_KEY_FORM
179 const std::string BUNDLE_MODULE_PROFILE_FORM_ENTITY = "formEntity";
180 const std::string BUNDLE_MODULE_PROFILE_FORM_MIN_HEIGHT = "minHeight";
181 const std::string BUNDLE_MODULE_PROFILE_FORM_DEFAULT_HEIGHT = "defaultHeight";
182 const std::string BUNDLE_MODULE_PROFILE_FORM_MIN_WIDTH = "minWidth";
183 const std::string BUNDLE_MODULE_PROFILE_FORM_DEFAULT_WIDTH = "defaultWidth";
184 // sub BUNDLE_MODULE_PROFILE_KEY_FORMS
185 const std::string BUNDLE_MODULE_PROFILE_FORMS_IS_DEFAULT = "isDefault";
186 const std::string BUNDLE_MODULE_PROFILE_FORMS_COLOR_MODE = "colorMode";
187 const std::string BUNDLE_MODULE_PROFILE_FORMS_SUPPORT_DIMENSIONS = "supportDimensions";
188 const std::string BUNDLE_MODULE_PROFILE_FORMS_DEFAULT_DIMENSION = "defaultDimension";
189 const std::string BUNDLE_MODULE_PROFILE_FORMS_LANDSCAPE_LAYOUTS = "landscapeLayouts";
190 const std::string BUNDLE_MODULE_PROFILE_FORMS_PORTRAIT_LAYOUTS = "portraitLayouts";
191 const std::string BUNDLE_MODULE_PROFILE_FORMS_UPDATEENABLED = "updateEnabled";
192 const std::string BUNDLE_MODULE_PROFILE_FORMS_SCHEDULED_UPDATE_TIME = "scheduledUpateTime";
193 const std::string BUNDLE_MODULE_PROFILE_FORMS_UPDATE_DURATION = "updateDuration";
194 const std::string BUNDLE_MODULE_PROFILE_FORMS_DEEP_LINK = "deepLink";
195 const std::string BUNDLE_MODULE_PROFILE_FORMS_JS_COMPONENT_NAME = "jsComponentName";
196 const std::string BUNDLE_MODULE_PROFILE_FORMS_VALUE = "value";
197 const std::string BUNDLE_MODULE_PROFILE_FORMS_FORM_CONFIG_ABILITY = "formConfigAbility";
198 const std::string BUNDLE_MODULE_PROFILE_FORMS_FORM_VISIBLE_NOTIFY = "formEnabled";
199 // sub BUNDLE_MODULE_PROFILE_KEY_JS
200 const std::string BUNDLE_MODULE_PROFILE_KEY_PAGES = "pages";
201 const std::string BUNDLE_MODULE_PROFILE_KEY_WINDOW = "window";
202 // sub BUNDLE_MODULE_PROFILE_KEY_COMMON_EVENTS
203 const std::string BUNDLE_MODULE_PROFILE_KEY_PERMISSION = "permission";
204 const std::string BUNDLE_MODULE_PROFILE_KEY_DATA = "data";
205 const std::string BUNDLE_MODULE_PROFILE_KEY_EVENTS = "events";
206 const std::string MODULE_ABILITY_JS_TYPE_VALUE_NORMAL = "normal";
207 const std::string MODULE_ABILITY_JS_TYPE_VALUE_FORM = "form";
208 // sub BUNDLE_MODULE_PROFILE_KEY_WINDOW
209 const std::string BUNDLE_MODULE_PROFILE_KEY_DESIGN_WIDTH = "designWidth";
210 const std::string BUNDLE_MODULE_PROFILE_KEY_AUTO_DESIGN_WIDTH = "autoDesignWidth";
211 // sub BUNDLE_MODULE_PROFILE_KEY_SHORTCUTS
212 const std::string BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_ID = "shortcutId";
213 const std::string BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_INTENTS = "intents";
214 // sub BUNDLE_MODULE_PROFILE_KEY_SHORTCUT_INTENTS
215 const std::string BUNDLE_MODULE_PROFILE_KEY_TARGET_CLASS = "targetClass";
216 const std::string BUNDLE_MODULE_PROFILE_KEY_TARGET_BUNDLE = "targetBundle";
217 
218 const uint32_t VALUE_HOME_SCREEN = 1 << 0;
219 // 000010 represents supporting search box
220 const uint32_t VALUE_SEARCHBOX = 1 << 1;
221 
222 const std::string KEY_HOME_SCREEN = "homeScreen";
223 const std::string KEY_SEARCHBOX = "searchbox";
224 
225 const std::string BUNDLE_MODULE_PROFILE_KEY_JS_TYPE_ETS = "ets";
226 
227 static std::map<std::string, uint32_t> formEntityMap;
228 
229 extern thread_local int32_t parseResult;
230 
231 }  // namespace ProfileReader
232 }  // namespace AppExecFwk
233 }  // namespace OHOS
234 #endif  // FOUNDATION_APPEXECFWK_SERVICES_BUNDLEMGR_INCLUDE_COMMON_PROFILE_H
235