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::ErrorPackageLowerVersion:
52 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_LOWER_VERSION;
55 case Jobs::Exceptions::ErrorManifestNotFound:
56 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_NOT_FOUND;
59 case Jobs::Exceptions::ErrorManifestInvalid:
60 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_INVALID;
63 case Jobs::Exceptions::ErrorConfigNotFound:
64 errorStatus = WRT_INSTALLER_CONFIG_NOT_FOUND;
67 case Jobs::Exceptions::ErrorConfigInvalid:
68 errorStatus = WRT_INSTALLER_ERROR_CONFIG_INVALID;
71 case Jobs::Exceptions::ErrorSignatureNotFound:
72 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
75 case Jobs::Exceptions::ErrorSignatureInvalid:
76 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_INVALID;
79 case Jobs::Exceptions::ErrorSignatureVerificationFailed:
80 errorStatus = WRT_INSTALLER_ERROR_SIGNATURE_VERIFICATION_FAILED;
83 case Jobs::Exceptions::ErrorRootCertificateNotFound:
84 errorStatus = WRT_INSTALLER_ERROR_ROOT_CERTIFICATE_NOT_FOUND;
87 case Jobs::Exceptions::ErrorCertificationInvaid:
88 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATION_INVAID;
92 Jobs::Exceptions::ErrorCertificateChainVerificationFailed:
94 WRT_INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED;
97 case Jobs::Exceptions::ErrorCertificateExpired:
98 errorStatus = WRT_INSTALLER_ERROR_CERTIFICATE_EXPIRED;
101 case Jobs::Exceptions::ErrorInvalidPrivilege:
102 errorStatus = WRT_INSTALLER_ERROR_INVALID_PRIVILEGE;
105 case Jobs::Exceptions::ErrorMenuIconNotFound:
106 errorStatus = WRT_INSTALLER_ERROR_MENU_ICON_NOT_FOUND;
109 case Jobs::Exceptions::ErrorFatalError:
110 errorStatus = WRT_INSTALLER_ERROR_FATAL_ERROR;
113 case Jobs::Exceptions::ErrorOutOfStorage:
114 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_STORAGE;
117 case Jobs::Exceptions::ErrorOutOfMemory:
118 errorStatus = WRT_INSTALLER_ERROR_OUT_OF_MEMORY;
121 case Jobs::Exceptions::ErrorPackageAlreadyInstalled:
122 errorStatus = WRT_INSTALLER_ERROR_PACKAGE_ALREADY_INSTALLED;
125 case Jobs::Exceptions::ErrorAceCheckFailed:
126 errorStatus = WRT_INSTALLER_ERROR_ACE_CHECK_FAILED;
129 case Jobs::Exceptions::ErrorManifestCreateFailed:
130 errorStatus = WRT_INSTALLER_ERROR_MANIFEST_CREATE_FAILED;
133 case Jobs::Exceptions::ErrorEncryptionFailed:
134 errorStatus = WRT_INSTALLER_ERROR_ENCRYPTION_FAILED;
137 case Jobs::Exceptions::ErrorInstallOspServcie:
138 errorStatus = WRT_INSTALLER_ERROR_INSTALL_OSP_SERVCIE;
142 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
147 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
149 LogInfo("installFinishedCallback: No callback");
153 // callback for finished install
154 void uninstallFinishedCallback(void *userParam,
156 Jobs::Exceptions::Type status)
158 Assert(userParam != NULL);
160 StatusCallbackStruct *apiStr =
161 static_cast<StatusCallbackStruct*>(userParam);
163 if (apiStr->status_callback) {
165 WrtErrStatus errorStatus;
168 case Jobs::Exceptions::Success:
169 errorStatus = WRT_SUCCESS;
172 case Jobs::Exceptions::ErrorWidgetUninstallationFailed:
173 errorStatus = WRT_INSTALLER_ERROR_UNINSTALLATION_FAILED;
176 case Jobs::Exceptions::ErrorUnknown:
177 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
181 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
186 apiStr->status_callback(tizenId, errorStatus, apiStr->userdata);
188 LogInfo("uninstallFinishedCallback: No callback");
192 void pluginInstallFinishedCallback(void *userParam,
193 Jobs::Exceptions::Type status)
197 PluginStatusCallbackStruct *apiStr =
198 static_cast<PluginStatusCallbackStruct*>(userParam);
200 if (apiStr->statusCallback) {
202 WrtErrStatus errorStatus;
205 case Jobs::Exceptions::Success:
206 errorStatus = WRT_SUCCESS;
208 case Jobs::Exceptions::ErrorPluginInstallationFailed:
209 errorStatus = WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED;
212 errorStatus = WRT_INSTALLER_ERROR_UNKNOWN;
216 apiStr->statusCallback(errorStatus, apiStr->userdata);
218 LogInfo("PluginInstallFinishedCallback: No callback");
224 // callback for progress of install OR uninstall
225 void installProgressCallback(void *userParam,
226 ProgressPercent percent,
227 const ProgressDescription &description)
229 Assert(userParam != NULL);
231 StatusCallbackStruct *apiStr =
232 static_cast<StatusCallbackStruct*>(userParam);
234 if (apiStr->progress_callback) {
236 LogInfo("Entered " << percent << "% " << description);
237 apiStr->progress_callback(static_cast<float>(percent),
241 LogInfo("installProgressCallback: ignoring NULL callback pointer");