#include <package-manager.h>
#include <pkgmgr_installer.h>
+#include <pkgmgr_installer_error.h>
#include <pkgmgr-info.h>
#include <tzplatform_config.h>
return PACKAGE_MANAGER_ERROR_NONE;
}
+static package_manager_error_e __convert_to_error(const char *val)
+{
+ int errcode = atoi(val);
+
+ switch (errcode) {
+ case PKGMGR_INSTALLER_ERRCODE_UNDEFINED_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_GLOBALSYMLINK_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_GRANT_PERMISSION_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_IMAGE_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_PARSE_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_RECOVERY_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_DELTA_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_APP_DIR_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_CONFIG_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_ICON_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_MANIFEST_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_OUT_OF_SPACE:
+ case PKGMGR_INSTALLER_ERRCODE_ERROR:
+ return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR;
+ case PKGMGR_INSTALLER_ERRCODE_UNZIP_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_SECURITY_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_REGISTER_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_PRIVILEGE_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_SIGNATURE_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_SIGNATURE_INVALID:
+ case PKGMGR_INSTALLER_ERRCODE_CERT_ERROR:
+ case PKGMGR_INSTALLER_ERRCODE_AUTHOR_CERT_NOT_MATCH:
+ case PKGMGR_INSTALLER_ERRCODE_AUTHOR_CERT_NOT_FOUND:
+ case PKGMGR_INSTALLER_ERRCODE_ICON_NOT_FOUND:
+ case PKGMGR_INSTALLER_ERRCODE_MANIFEST_NOT_FOUND:
+ return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ case PKGMGR_INSTALLER_ERRCODE_PACKAGE_NOT_FOUND:
+ return PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE;
+ case PKGMGR_INSTALLER_ERRCODE_OPERATION_NOT_ALLOWED:
+ return PACKAGE_MANAGER_ERROR_PERMISSION_DENIED;
+ case PKGMGR_INSTALLER_ERRCODE_INVALID_VALUE:
+ return PACKAGE_MANAGER_ERROR_INVALID_PARAMETER;
+ case PKGMGR_INSTALLER_ERRCODE_OK:
+ return PACKAGE_MANAGER_ERROR_NONE;
+ default:
+ return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR;
+ }
+}
+
static int __add_event_info(request_event_info **head, int req_id,
package_manager_event_type_e event_type,
package_manager_event_state_e event_state)
pkg_name, event_type,
PACKAGE_MANAGER_EVENT_STATE_FAILED,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ __convert_to_error(val),
request->user_data);
} else if (strcasecmp(key, "end") == 0) {
pkg_name, event_type,
PACKAGE_MANAGER_EVENT_STATE_FAILED,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ PACKAGE_MANAGER_ERROR_SYSTEM_ERROR,
request->user_data);
}
}
pkg_name, event_type,
PACKAGE_MANAGER_EVENT_STATE_FAILED,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ __convert_to_error(val),
user_data);
}
} else if (strcasecmp(key, "end") == 0) {
pkg_name, event_type,
PACKAGE_MANAGER_EVENT_STATE_FAILED,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ PACKAGE_MANAGER_ERROR_SYSTEM_ERROR,
user_data);
}
}
info->event_type,
info->event_state,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ __convert_to_error(val),
manager->user_data);
} else if (strcasecmp(key, "end") == 0) {
if (info->event_state != PACKAGE_MANAGER_EVENT_STATE_FAILED) {
info->event_type,
PACKAGE_MANAGER_EVENT_STATE_FAILED,
0,
- PACKAGE_MANAGER_ERROR_NONE,
+ PACKAGE_MANAGER_ERROR_SYSTEM_ERROR,
manager->user_data);
}
}