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 <installer_callbacks_translate.h>
24 #include <dpl/assert.h>
25 #include <installer_log.h>
27 namespace InstallerCallbacksTranslate {
29 // callback for finished install
30 void installFinishedCallback(void *userParam,
32 Jobs::Exceptions::Type status)
34 Assert(userParam != NULL);
36 StatusCallbackStruct *apiStr =
37 static_cast<StatusCallbackStruct*>(userParam);
39 if (apiStr->status_callback) {
41 WrtErrStatus errorStatus;
44 case Jobs::Exceptions::Success:
45 errorStatus = WRT_SUCCESS;
48 case Jobs::Exceptions::ErrorPackageNotFound:
49 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_NOT_FOUND;
52 case Jobs::Exceptions::ErrorPackageInvalid:
53 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_INVALID;
56 case Jobs::Exceptions::ErrorPackageLowerVersion:
57 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_LOWER_VERSION;
60 case Jobs::Exceptions::ErrorPackageExecutableNotFound:
61 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_EXCUTABLE_NOT_FOUND;
64 case Jobs::Exceptions::ErrorManifestNotFound:
65 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_NOT_FOUND;
68 case Jobs::Exceptions::ErrorManifestInvalid:
69 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_INVALID;
72 case Jobs::Exceptions::ErrorConfigNotFound:
73 errorStatus = WRT_INSTALLER_CONFIG_NOT_FOUND;
76 case Jobs::Exceptions::ErrorConfigInvalid:
77 errorStatus = WRT_INSTALLER_ERROR_CONFIG_INVALID;
80 case Jobs::Exceptions::ErrorSignatureNotFound:
81 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
84 case Jobs::Exceptions::ErrorSignatureInvalid:
85 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_INVALID;
88 case Jobs::Exceptions::ErrorSignatureVerificationFailed:
89 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_VERIFICATION_FAILED;
92 case Jobs::Exceptions::ErrorRootCertificateNotFound:
93 errorStatus = WRT_INSTALLER_ERROR_ROOT_CERTIFICATE_NOT_FOUND;
96 case Jobs::Exceptions::ErrorCertificationInvaid:
97 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATION_INVAID;
101 Jobs::Exceptions::ErrorCertificateChainVerificationFailed:
103 WRT_INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED;
106 case Jobs::Exceptions::ErrorCertificateExpired:
107 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATE_EXPIRED;
110 case Jobs::Exceptions::ErrorInvalidPrivilege:
111 errorStatus = WRT_INSTALLER_ERROR_INVALID_PRIVILEGE;
114 case Jobs::Exceptions::ErrorPrivilegeLevelViolation:
115 errorStatus = WRT_INSTALLER_ERROR_PRIVILEGE_LEVEL_VIOLATION;
118 case Jobs::Exceptions::ErrorMenuIconNotFound:
119 errorStatus = WRT_INSTALLER_ERROR_MENU_ICON_NOT_FOUND;
122 case Jobs::Exceptions::ErrorFatalError:
123 errorStatus = WRT_INSTALLER_ERROR_FATAL_ERROR;
126 case Jobs::Exceptions::ErrorOutOfStorage:
127 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_STORAGE;
130 case Jobs::Exceptions::ErrorOutOfMemory:
131 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_MEMORY;
134 case Jobs::Exceptions::ErrorArgumentInvalid:
135 errorStatus = WRT_INSTALLER_ERROR_ARGUMENT_INVALID;
138 case Jobs::Exceptions::ErrorPackageAlreadyInstalled:
139 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_ALREADY_INSTALLED;
142 case Jobs::Exceptions::ErrorAceCheckFailed:
143 errorStatus = WRT_INSTALLER_ERROR_ACE_CHECK_FAILED;
146 case Jobs::Exceptions::ErrorManifestCreateFailed:
147 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_CREATE_FAILED;
150 case Jobs::Exceptions::ErrorEncryptionFailed:
151 errorStatus = WRT_INSTALLER_ERROR_ENCRYPTION_FAILED;
154 case Jobs::Exceptions::ErrorInstallOspServcie:
155 errorStatus = WRT_INSTALLER_ERROR_INSTALL_OSP_SERVCIE;
159 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
164 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
166 _D("installFinishedCallback: No callback");
170 // callback for finished install
171 void uninstallFinishedCallback(void *userParam,
173 Jobs::Exceptions::Type status)
175 Assert(userParam != NULL);
177 StatusCallbackStruct *apiStr =
178 static_cast<StatusCallbackStruct*>(userParam);
180 if (apiStr->status_callback) {
182 WrtErrStatus errorStatus;
185 case Jobs::Exceptions::Success:
186 errorStatus = WRT_SUCCESS;
189 case Jobs::Exceptions::ErrorWidgetUninstallationFailed:
190 errorStatus = WRT_INSTALLER_ERROR_UNINSTALLATION_FAILED;
193 case Jobs::Exceptions::ErrorUnknown:
194 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
198 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
203 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
205 _D("uninstallFinishedCallback: No callback");
209 void pluginInstallFinishedCallback(void *userParam,
210 Jobs::Exceptions::Type status)
214 PluginStatusCallbackStruct *apiStr =
215 static_cast<PluginStatusCallbackStruct*>(userParam);
217 if (apiStr->statusCallback) {
219 WrtErrStatus errorStatus;
222 case Jobs::Exceptions::Success:
223 errorStatus = WRT_SUCCESS;
225 case Jobs::Exceptions::ErrorPluginInstallationFailed:
226 errorStatus = WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED;
229 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
233 apiStr->statusCallback(errorStatus, apiStr->userdata);
235 _D("PluginInstallFinishedCallback: No callback");
241 // callback for progress of install OR uninstall
242 void installProgressCallback(void *userParam,
243 ProgressPercent percent,
244 const ProgressDescription &description)
246 Assert(userParam != NULL);
248 StatusCallbackStruct *apiStr =
249 static_cast<StatusCallbackStruct*>(userParam);
251 if (apiStr->progress_callback) {
253 _D("Entered %2.0f%% %s", percent, description.c_str());
254 apiStr->progress_callback(static_cast<float>(percent),
258 _D("installProgressCallback: ignoring NULL callback pointer");