2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file api_callbacks_translate.h
18 * @author Pawel Sikorski (p.sikorski@samsung.com)
20 * @brief Source file for api callbacks translate functions
23 #include <dpl/assert.h>
24 #include <dpl/platform.h>
25 #include <dpl/log/secure_log.h>
27 #include <installer_callbacks_translate.h>
29 namespace InstallerCallbacksTranslate {
31 // callback for finished install
32 void installFinishedCallback(void *userParam,
34 Jobs::Exceptions::Type status)
36 Assert(userParam != NULL);
38 StatusCallbackStruct *apiStr =
39 static_cast<StatusCallbackStruct*>(userParam);
41 if (apiStr->status_callback) {
43 WrtErrStatus errorStatus;
46 case Jobs::Exceptions::Success:
47 errorStatus = WRT_SUCCESS;
50 case Jobs::Exceptions::ErrorPackageNotFound:
51 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_NOT_FOUND;
54 case Jobs::Exceptions::ErrorPackageInvalid:
55 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_INVALID;
58 case Jobs::Exceptions::ErrorPackageLowerVersion:
59 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_LOWER_VERSION;
62 case Jobs::Exceptions::ErrorPackageExecutableNotFound:
63 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_EXCUTABLE_NOT_FOUND;
66 case Jobs::Exceptions::ErrorManifestNotFound:
67 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_NOT_FOUND;
70 case Jobs::Exceptions::ErrorManifestInvalid:
71 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_INVALID;
74 case Jobs::Exceptions::ErrorConfigNotFound:
75 errorStatus = WRT_INSTALLER_CONFIG_NOT_FOUND;
78 case Jobs::Exceptions::ErrorConfigInvalid:
79 errorStatus = WRT_INSTALLER_ERROR_CONFIG_INVALID;
82 case Jobs::Exceptions::ErrorSignatureNotFound:
83 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
86 case Jobs::Exceptions::ErrorSignatureInvalid:
87 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_INVALID;
90 case Jobs::Exceptions::ErrorSignatureVerificationFailed:
91 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_VERIFICATION_FAILED;
94 case Jobs::Exceptions::ErrorRootCertificateNotFound:
95 errorStatus = WRT_INSTALLER_ERROR_ROOT_CERTIFICATE_NOT_FOUND;
98 case Jobs::Exceptions::ErrorCertificationInvaid:
99 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATION_INVAID;
103 Jobs::Exceptions::ErrorCertificateChainVerificationFailed:
105 WRT_INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED;
108 case Jobs::Exceptions::ErrorCertificateExpired:
109 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATE_EXPIRED;
112 case Jobs::Exceptions::ErrorInvalidPrivilege:
113 errorStatus = WRT_INSTALLER_ERROR_INVALID_PRIVILEGE;
116 case Jobs::Exceptions::ErrorPrivilegeLevelViolation:
117 errorStatus = WRT_INSTALLER_ERROR_PRIVILEGE_LEVEL_VIOLATION;
120 case Jobs::Exceptions::ErrorMenuIconNotFound:
121 errorStatus = WRT_INSTALLER_ERROR_MENU_ICON_NOT_FOUND;
124 case Jobs::Exceptions::ErrorFatalError:
125 errorStatus = WRT_INSTALLER_ERROR_FATAL_ERROR;
128 case Jobs::Exceptions::ErrorOutOfStorage:
129 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_STORAGE;
132 case Jobs::Exceptions::ErrorOutOfMemory:
133 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_MEMORY;
136 case Jobs::Exceptions::ErrorArgumentInvalid:
137 errorStatus = WRT_INSTALLER_ERROR_ARGUMENT_INVALID;
140 case Jobs::Exceptions::ErrorPackageAlreadyInstalled:
141 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_ALREADY_INSTALLED;
144 case Jobs::Exceptions::ErrorAceCheckFailed:
145 errorStatus = WRT_INSTALLER_ERROR_ACE_CHECK_FAILED;
148 case Jobs::Exceptions::ErrorManifestCreateFailed:
149 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_CREATE_FAILED;
152 case Jobs::Exceptions::ErrorEncryptionFailed:
153 errorStatus = WRT_INSTALLER_ERROR_ENCRYPTION_FAILED;
156 case Jobs::Exceptions::ErrorInstallOspServcie:
157 errorStatus = WRT_INSTALLER_ERROR_INSTALL_OSP_SERVCIE;
160 #if ENABLE(PRE_LAUNCH)
161 case Jobs::Exceptions::ErrorPreLaunchingRegistrationFailed:
162 errorStatus = WRT_INSTALLER_ERROR_PRE_LAUNCHING_REGISTRATION_FAILED;
166 case Jobs::Exceptions::ErrorInstallPrivilegeUsingLegacyFailed:
167 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_USING_LEGACY_FAILED;
170 case Jobs::Exceptions::ErrorInstallPrivilegeUnknownFailed:
171 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_UNKNOWN_FAILED;
174 case Jobs::Exceptions::ErrorInstallPrivilegeUnauthorizedFailed:
175 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_UNAUTHORIZED_FAILED;
179 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
184 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
186 _D("installFinishedCallback: No callback");
190 // callback for finished install
191 void uninstallFinishedCallback(void *userParam,
193 Jobs::Exceptions::Type status)
195 Assert(userParam != NULL);
197 StatusCallbackStruct *apiStr =
198 static_cast<StatusCallbackStruct*>(userParam);
200 if (apiStr->status_callback) {
202 WrtErrStatus errorStatus;
205 case Jobs::Exceptions::Success:
206 errorStatus = WRT_SUCCESS;
209 case Jobs::Exceptions::ErrorWidgetUninstallationFailed:
210 errorStatus = WRT_INSTALLER_ERROR_UNINSTALLATION_FAILED;
213 case Jobs::Exceptions::ErrorUnknown:
214 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
218 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
223 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
225 _D("uninstallFinishedCallback: No callback");
229 void pluginInstallFinishedCallback(void *userParam,
230 Jobs::Exceptions::Type status)
234 PluginStatusCallbackStruct *apiStr =
235 static_cast<PluginStatusCallbackStruct*>(userParam);
237 if (apiStr->statusCallback) {
239 WrtErrStatus errorStatus;
242 case Jobs::Exceptions::Success:
243 errorStatus = WRT_SUCCESS;
245 case Jobs::Exceptions::ErrorPluginInstallationFailed:
246 errorStatus = WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED;
249 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
253 apiStr->statusCallback(errorStatus, apiStr->userdata);
255 _D("PluginInstallFinishedCallback: No callback");
261 // callback for progress of install OR uninstall
262 void installProgressCallback(void *userParam,
263 ProgressPercent percent,
264 const ProgressDescription &description)
266 Assert(userParam != NULL);
268 StatusCallbackStruct *apiStr =
269 static_cast<StatusCallbackStruct*>(userParam);
271 if (apiStr->progress_callback) {
273 _D("Entered %2.0f%% %s", percent, description.c_str());
274 apiStr->progress_callback(static_cast<float>(percent),
278 _D("installProgressCallback: ignoring NULL callback pointer");