1 /*
2  * Copyright (c) 2020 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 #include "bundle_callback_utils.h"
17 
18 namespace OHOS {
ObtainErrorMessage(uint8_t errorCode)19 std::string ObtainErrorMessage(uint8_t errorCode)
20 {
21     switch (errorCode) {
22         case ERR_APPEXECFWK_OBJECT_NULL:
23             return "ERR_APPEXECFWK_OBJECT_NULL";
24         // install errcode
25         case ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_ERROR:
26             return "ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_ERROR";
27         case ERR_APPEXECFWK_INSTALL_FAILED_PARAM_ERROR:
28             return "ERR_APPEXECFWK_INSTALL_FAILED_PARAM_ERROR";
29         case ERR_APPEXECFWK_INSTALL_FAILED_FILE_PATH_INVALID:
30             return "ERR_APPEXECFWK_INSTALL_FAILED_FILE_PATH_INVALID";
31         case ERR_APPEXECFWK_INSTALL_FAILED_FILE_NOT_EXISTS:
32             return "ERR_APPEXECFWK_INSTALL_FAILED_FILE_NOT_EXISTS";
33         case ERR_APPEXECFWK_INSTALL_FAILED_INVALID_FILE_NAME:
34             return "ERR_APPEXECFWK_INSTALL_FAILED_INVALID_FILE_NAME";
35         case ERR_APPEXECFWK_INSTALL_FAILED_BAD_FILE:
36             return "ERR_APPEXECFWK_INSTALL_FAILED_BAD_FILE";
37         case ERR_APPEXECFWK_INSTALL_FAILED_CREATE_FILE_ERROR:
38             return "ERR_APPEXECFWK_INSTALL_FAILED_CREATE_FILE_ERROR";
39         case ERR_APPEXECFWK_INSTALL_FAILED_CREATE_PERMISSIONS_DIR_ERROR:
40             return "ERR_APPEXECFWK_INSTALL_FAILED_CREATE_PERMISSIONS_DIR_ERROR";
41         case ERR_APPEXECFWK_INSTALL_FAILED_RENAME_DIR_ERROR:
42             return "ERR_APPEXECFWK_INSTALL_FAILED_RENAME_DIR_ERROR";
43         case ERR_APPEXECFWK_INSTALL_FAILED_RENAME_FILE_ERROR:
44             return "ERR_APPEXECFWK_INSTALL_FAILED_RENAME_FILE_ERROR";
45         case ERR_APPEXECFWK_INSTALL_FAILED_CREATE_DATA_DIR_ERROR:
46             return "ERR_APPEXECFWK_INSTALL_FAILED_CREATE_DATA_DIR_ERROR";
47         case ERR_APPEXECFWK_INSTALL_FAILED_RECORD_INFO_ERROR:
48             return "ERR_APPEXECFWK_INSTALL_FAILED_RECORD_INFO_ERROR";
49         case ERR_APPEXECFWK_INSTALL_FAILED_UID_AND_GID_BACKUP_ERROR:
50             return "ERR_APPEXECFWK_INSTALL_FAILED_UID_AND_GID_BACKUP_ERROR";
51         case ERR_APPEXECFWK_INSTALL_FAILED_VERSION_DOWNGRADE:
52             return "ERR_APPEXECFWK_INSTALL_FAILED_VERSION_DOWNGRADE";
53         case ERR_APPEXECFWK_INSTALL_FAILED_STORE_PERMISSIONS_ERROR:
54             return "ERR_APPEXECFWK_INSTALL_FAILED_STORE_PERMISSIONS_ERROR";
55         case ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE:
56             return "ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE";
57         case ERR_APPEXECFWK_INSTALL_FAILED_INVALID_PROVISIONINFO:
58             return "ERR_APPEXECFWK_INSTALL_FAILED_INVALID_PROVISIONINFO";
59         case ERR_APPEXECFWK_INSTALL_FAILED_OPERATE_SIGNED_FILE_ERROR:
60             return "ERR_APPEXECFWK_INSTALL_FAILED_OPERATE_SIGNED_FILE_ERROR";
61         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_APP_SIGNATURE_ERROR:
62             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_APP_SIGNATURE_ERROR";
63         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_SIGNATURE_ERROR:
64             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_SIGNATURE_ERROR";
65         case ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_SIGNATURE_ERROR:
66             return "ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_SIGNATURE_ERROR";
67         // parse profile
68         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_ERROR:
69             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_ERROR";
70         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_BUNDLENAME_ERROR:
71             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_BUNDLENAME_ERROR";
72         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME:
73             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME";
74         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VENDOR_ERROR:
75             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VENDOR_ERROR";
76         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONCODE_ERROR:
77             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONCODE_ERROR";
78         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONNAME_ERROR:
79             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONNAME_ERROR";
80         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PERMISSIONS_ERROR:
81             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PERMISSIONS_ERROR";
82         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICE_CONFIG_ERROR:
83             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICE_CONFIG_ERROR";
84         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_KEEPALIVE_ERROR:
85             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_KEEPALIVE_ERROR";
86         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULENAME_ERROR:
87             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULENAME_ERROR";
88         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_MODULENAME:
89             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_MODULENAME";
90         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR:
91             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR";
92         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICETYPE_ERROR:
93             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICETYPE_ERROR";
94         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_ERROR:
95             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_ERROR";
96         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULENAME_ERROR:
97             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULENAME_ERROR";
98         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULETYPE_ERROR:
99             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULETYPE_ERROR";
100         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_DELIVERY_ERROR:
101             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_DELIVERY_ERROR";
102         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_METADATA_ERROR:
103             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_METADATA_ERROR";
104         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITIES_ERROR:
105             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITIES_ERROR";
106         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_NAME_ERROR:
107             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_NAME_ERROR";
108         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_TYPE_ERROR:
109             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_TYPE_ERROR";
110         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_ICONPATH_ERROR:
111             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_ICONPATH_ERROR";
112         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LABEL_ERROR:
113             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LABEL_ERROR";
114         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_DESCRIPTION_ERROR:
115             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_DESCRIPTION_ERROR";
116         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LAUNCHTYPE_ERROR:
117             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LAUNCHTYPE_ERROR";
118         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_VISIBLE_ERROR:
119             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_VISIBLE_ERROR";
120         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME_LENGTH:
121             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME_LENGTH";
122         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_LABEL_LENGTH_ERROR:
123             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_LABEL_LENGTH_ERROR";
124         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VERSIONNAME_LENGTH_ERROR:
125             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VERSIONNAME_LENGTH_ERROR";
126         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_NAME_LENGTH_ERROR:
127             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_NAME_LENGTH_ERROR";
128         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_VALUE_LENGTH_ERROR:
129             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_VALUE_LENGTH_ERROR";
130         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VENDOR_LENGTH_ERROR:
131             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VENDOR_LENGTH_ERROR";
132         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_MODULENAME_LENGTH_ERROR:
133             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_MODULENAME_LENGTH_ERROR";
134         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITYNAME_LENGTH_ERROR:
135             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITYNAME_LENGTH_ERROR";
136         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_DESCRIPTION_LENGTH_ERROR:
137             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_DESCRIPTION_LENGTH_ERROR";
138         case ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_LABEL_LENGTH_ERROR:
139             return "ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_LABEL_LENGTH_ERROR";
140         case ERR_APPEXECFWK_INSTALL_FAILED_EXTRACTOR_NOT_INIT:
141             return "ERR_APPEXECFWK_INSTALL_FAILED_EXTRACTOR_NOT_INIT";
142         case ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR:
143             return "ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR";
144         case ERR_APPEXECFWK_INSTALL_FAILED_RESOURCE_INDEX_NOT_EXISTS:
145             return "ERR_APPEXECFWK_INSTALL_FAILED_RESOURCE_INDEX_NOT_EXISTS";
146         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_LABEL_RES_ERROR:
147             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_LABEL_RES_ERROR";
148         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ICON_RES_ERROR:
149             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ICON_RES_ERROR";
150         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DESCRIPTION_RES_ERROR:
151             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DESCRIPTION_RES_ERROR";
152         case ERR_APPEXECFWK_INSTALL_FAILED_PARSE_API_VERSION_ERROR:
153             return "ERR_APPEXECFWK_INSTALL_FAILED_PARSE_API_VERSION_ERROR";
154         // unistall result data
155         case ERR_APPEXECFWK_UNINSTALL_FAILED_INTERNAL_ERROR:
156             return "ERR_APPEXECFWK_UNINSTALL_FAILED_INTERNAL_ERROR";
157         case ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_EXISTS:
158             return "ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_EXISTS";
159         case ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_DIRS_ERROR:
160             return "ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_DIRS_ERROR";
161         case ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_RECORD_INFO_ERROR:
162             return "ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_RECORD_INFO_ERROR";
163         case ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_PERMISSIONS_ERROR:
164             return "ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_PERMISSIONS_ERROR";
165         case ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_UNINSTALLABLE:
166             return "ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_UNINSTALLABLE";
167         case ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_UID_INFO_ERROR:
168             return "ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_UID_INFO_ERROR";
169         case ERR_APPEXECFWK_UNINSTALL_FAILED_SEND_REQUEST_ERROR:
170             return "ERR_APPEXECFWK_UNINSTALL_FAILED_SEND_REQUEST_ERROR";
171         // register and serialization errorcode
172         case ERR_APPEXECFWK_CALLBACK_REGISTER_FAILED:
173             return "ERR_APPEXECFWK_CALLBACK_REGISTER_FAILED";
174         case ERR_APPEXECFWK_CALLBACK_UNREGISTER_FAILED:
175             return "ERR_APPEXECFWK_CALLBACK_UNREGISTER_FAILED";
176         case ERR_APPEXECFWK_CALLBACK_GENERATE_LOCAL_SERVICEID_FAILED:
177             return "ERR_APPEXECFWK_CALLBACK_GENERATE_LOCAL_SERVICEID_FAILED";
178         case ERR_APPEXECFWK_CALLBACK_SERVICEID_TRANSMITTED_FAILED:
179             return "ERR_APPEXECFWK_CALLBACK_SERVICEID_TRANSMITTED_FAILED";
180         case ERR_APPEXECFWK_CALLBACK_NEVER_REGISTERED:
181             return "ERR_APPEXECFWK_CALLBACK_NEVER_REGISTERED";
182         case ERR_APPEXECFWK_CALLBACK_OBTAIN_ALL_BUNDLE_FAILED:
183             return "ERR_APPEXECFWK_CALLBACK_OBTAIN_ALL_BUNDLE_FAILED";
184         case ERR_APPEXECFWK_CALLBACK_NULL_CORRESPONDING_CALLBACK:
185             return "ERR_APPEXECFWK_CALLBACK_NULL_CORRESPONDING_CALLBACK";
186         case ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED:
187             return "ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED";
188         case ERR_APPEXECFWK_CALLBACK_GET_ERROR_INSTALLTYPE:
189             return "ERR_APPEXECFWK_CALLBACK_GET_ERROR_INSTALLTYPE";
190         case ERR_APPEXECFWK_SERIALIZATION_FAILED:
191             return "ERR_APPEXECFWK_SERIALIZATION_FAILED";
192         case ERR_APPEXECFWK_DESERIALIZATION_FAILED:
193             return "ERR_APPEXECFWK_DESERIALIZATION_FAILED";
194         case ERR_APPEXECFWK_SYSTEM_INTERNAL_ERROR:
195             return "ERR_APPEXECFWK_SYSTEM_INTERNAL_ERROR";
196         default: {
197             return "";
198         }
199     }
200 }
201 } // namespace