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/log/log.h>
26 namespace InstallerCallbacksTranslate {
28 // callback for finished install
29 void installFinishedCallback(void *userParam,
31 Jobs::Exceptions::Type status)
33 Assert(userParam != NULL);
35 StatusCallbackStruct *apiStr =
36 static_cast<StatusCallbackStruct*>(userParam);
38 if (apiStr->status_callback) {
40 WrtErrStatus errorStatus;
43 case Jobs::Exceptions::Success:
44 errorStatus = WRT_SUCCESS;
47 case Jobs::Exceptions::ErrorPackageNotFound:
48 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_NOT_FOUND;
51 case Jobs::Exceptions::ErrorPackageInvalid:
52 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_INVALID;
55 case Jobs::Exceptions::ErrorPackageLowerVersion:
56 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_LOWER_VERSION;
59 case Jobs::Exceptions::ErrorPackageExecutableNotFound:
60 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_EXCUTABLE_NOT_FOUND;
63 case Jobs::Exceptions::ErrorManifestNotFound:
64 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_NOT_FOUND;
67 case Jobs::Exceptions::ErrorManifestInvalid:
68 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_INVALID;
71 case Jobs::Exceptions::ErrorConfigNotFound:
72 errorStatus = WRT_INSTALLER_CONFIG_NOT_FOUND;
75 case Jobs::Exceptions::ErrorConfigInvalid:
76 errorStatus = WRT_INSTALLER_ERROR_CONFIG_INVALID;
79 case Jobs::Exceptions::ErrorSignatureNotFound:
80 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
83 case Jobs::Exceptions::ErrorSignatureInvalid:
84 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_INVALID;
87 case Jobs::Exceptions::ErrorSignatureVerificationFailed:
88 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_VERIFICATION_FAILED;
91 case Jobs::Exceptions::ErrorRootCertificateNotFound:
92 errorStatus = WRT_INSTALLER_ERROR_ROOT_CERTIFICATE_NOT_FOUND;
95 case Jobs::Exceptions::ErrorCertificationInvaid:
96 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATION_INVAID;
100 Jobs::Exceptions::ErrorCertificateChainVerificationFailed:
102 WRT_INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED;
105 case Jobs::Exceptions::ErrorCertificateExpired:
106 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATE_EXPIRED;
109 case Jobs::Exceptions::ErrorInvalidPrivilege:
110 errorStatus = WRT_INSTALLER_ERROR_INVALID_PRIVILEGE;
113 case Jobs::Exceptions::ErrorPrivilegeLevelViolation:
114 errorStatus = WRT_INSTALLER_ERROR_PRIVILEGE_LEVEL_VIOLATION;
117 case Jobs::Exceptions::ErrorMenuIconNotFound:
118 errorStatus = WRT_INSTALLER_ERROR_MENU_ICON_NOT_FOUND;
121 case Jobs::Exceptions::ErrorFatalError:
122 errorStatus = WRT_INSTALLER_ERROR_FATAL_ERROR;
125 case Jobs::Exceptions::ErrorOutOfStorage:
126 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_STORAGE;
129 case Jobs::Exceptions::ErrorOutOfMemory:
130 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_MEMORY;
133 case Jobs::Exceptions::ErrorArgumentInvalid:
134 errorStatus = WRT_INSTALLER_ERROR_ARGUMENT_INVALID;
137 case Jobs::Exceptions::ErrorPackageAlreadyInstalled:
138 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_ALREADY_INSTALLED;
141 case Jobs::Exceptions::ErrorAceCheckFailed:
142 errorStatus = WRT_INSTALLER_ERROR_ACE_CHECK_FAILED;
145 case Jobs::Exceptions::ErrorManifestCreateFailed:
146 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_CREATE_FAILED;
149 case Jobs::Exceptions::ErrorEncryptionFailed:
150 errorStatus = WRT_INSTALLER_ERROR_ENCRYPTION_FAILED;
153 case Jobs::Exceptions::ErrorInstallOspServcie:
154 errorStatus = WRT_INSTALLER_ERROR_INSTALL_OSP_SERVCIE;
158 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
163 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
165 LogInfo("installFinishedCallback: No callback");
169 // callback for finished install
170 void uninstallFinishedCallback(void *userParam,
172 Jobs::Exceptions::Type status)
174 Assert(userParam != NULL);
176 StatusCallbackStruct *apiStr =
177 static_cast<StatusCallbackStruct*>(userParam);
179 if (apiStr->status_callback) {
181 WrtErrStatus errorStatus;
184 case Jobs::Exceptions::Success:
185 errorStatus = WRT_SUCCESS;
188 case Jobs::Exceptions::ErrorWidgetUninstallationFailed:
189 errorStatus = WRT_INSTALLER_ERROR_UNINSTALLATION_FAILED;
192 case Jobs::Exceptions::ErrorUnknown:
193 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
197 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
202 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
204 LogInfo("uninstallFinishedCallback: No callback");
208 void pluginInstallFinishedCallback(void *userParam,
209 Jobs::Exceptions::Type status)
213 PluginStatusCallbackStruct *apiStr =
214 static_cast<PluginStatusCallbackStruct*>(userParam);
216 if (apiStr->statusCallback) {
218 WrtErrStatus errorStatus;
221 case Jobs::Exceptions::Success:
222 errorStatus = WRT_SUCCESS;
224 case Jobs::Exceptions::ErrorPluginInstallationFailed:
225 errorStatus = WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED;
228 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
232 apiStr->statusCallback(errorStatus, apiStr->userdata);
234 LogInfo("PluginInstallFinishedCallback: No callback");
240 // callback for progress of install OR uninstall
241 void installProgressCallback(void *userParam,
242 ProgressPercent percent,
243 const ProgressDescription &description)
245 Assert(userParam != NULL);
247 StatusCallbackStruct *apiStr =
248 static_cast<StatusCallbackStruct*>(userParam);
250 if (apiStr->progress_callback) {
252 LogInfo("Entered " << percent << "% " << description);
253 apiStr->progress_callback(static_cast<float>(percent),
257 LogInfo("installProgressCallback: ignoring NULL callback pointer");