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;
158 case Jobs::Exceptions::ErrorInstallPrivilegeUsingLegacyFailed:
159 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_USING_LEGACY_FAILED;
162 case Jobs::Exceptions::ErrorInstallPrivilegeUnknownFailed:
163 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_UNKNOWN_FAILED;
166 case Jobs::Exceptions::ErrorInstallPrivilegeUnauthorizedFailed:
167 errorStatus = WGT_INSTALLER_ERR_PRIVILEGE_UNAUTHORIZED_FAILED;
171 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
176 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
178 _D("installFinishedCallback: No callback");
182 // callback for finished install
183 void uninstallFinishedCallback(void *userParam,
185 Jobs::Exceptions::Type status)
187 Assert(userParam != NULL);
189 StatusCallbackStruct *apiStr =
190 static_cast<StatusCallbackStruct*>(userParam);
192 if (apiStr->status_callback) {
194 WrtErrStatus errorStatus;
197 case Jobs::Exceptions::Success:
198 errorStatus = WRT_SUCCESS;
201 case Jobs::Exceptions::ErrorWidgetUninstallationFailed:
202 errorStatus = WRT_INSTALLER_ERROR_UNINSTALLATION_FAILED;
205 case Jobs::Exceptions::ErrorUnknown:
206 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
210 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
215 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
217 _D("uninstallFinishedCallback: No callback");
221 void pluginInstallFinishedCallback(void *userParam,
222 Jobs::Exceptions::Type status)
226 PluginStatusCallbackStruct *apiStr =
227 static_cast<PluginStatusCallbackStruct*>(userParam);
229 if (apiStr->statusCallback) {
231 WrtErrStatus errorStatus;
234 case Jobs::Exceptions::Success:
235 errorStatus = WRT_SUCCESS;
237 case Jobs::Exceptions::ErrorPluginInstallationFailed:
238 errorStatus = WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED;
241 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
245 apiStr->statusCallback(errorStatus, apiStr->userdata);
247 _D("PluginInstallFinishedCallback: No callback");
253 // callback for progress of install OR uninstall
254 void installProgressCallback(void *userParam,
255 ProgressPercent percent,
256 const ProgressDescription &description)
258 Assert(userParam != NULL);
260 StatusCallbackStruct *apiStr =
261 static_cast<StatusCallbackStruct*>(userParam);
263 if (apiStr->progress_callback) {
265 _D("Entered %2.0f%% %s", percent, description.c_str());
266 apiStr->progress_callback(static_cast<float>(percent),
270 _D("installProgressCallback: ignoring NULL callback pointer");