From: Sangyoon Jang Date: Mon, 8 Oct 2018 06:43:05 +0000 (+0900) Subject: Add helper API converts error code to string X-Git-Tag: accepted/tizen/5.0/unified/20190419.092316~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2d1dd4c083296d111e93cbe92f82713f3d7afd2a;p=platform%2Fcore%2Fappfw%2Fslp-pkgmgr.git Add helper API converts error code to string Change-Id: I1c106f777666e860051c0eda21a5af7c64f672b0 Signed-off-by: Sangyoon Jang --- diff --git a/installer/pkgmgr_installer.c b/installer/pkgmgr_installer.c index 91e28bd..a15485f 100644 --- a/installer/pkgmgr_installer.c +++ b/installer/pkgmgr_installer.c @@ -38,6 +38,7 @@ #include "pkgmgr_installer_config.h" #include "pkgmgr_installer_debug.h" #include "pkgmgr_installer_info.h" +#include "pkgmgr_installer_error.h" #include @@ -926,3 +927,40 @@ API int pkgmgr_installer_info_get_debug_mode(int *debug_mode) *debug_mode = g_debug_mode; return 0; } + +#define CASE_TO_STR(ERRCODE) case ERRCODE: return ERRCODE##_STR +API const char *pkgmgr_installer_error_to_string(int error_code) +{ + switch (error_code) { + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_UNDEFINED_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_GLOBALSYMLINK_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_GRANT_PERMISSION_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_IMAGE_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_UNZIP_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_SECURITY_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_REGISTER_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_PRIVILEGE_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_PARSE_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_RECOVERY_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_DELTA_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_APP_DIR_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_CONFIG_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_SIGNATURE_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_SIGNATURE_INVALID); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_CERT_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_AUTHOR_CERT_NOT_MATCH); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_AUTHOR_CERT_NOT_FOUND); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_ICON_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_ICON_NOT_FOUND); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_MANIFEST_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_MANIFEST_NOT_FOUND); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_PACKAGE_NOT_FOUND); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_OPERATION_NOT_ALLOWED); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_OUT_OF_SPACE); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_INVALID_VALUE); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_ERROR); + CASE_TO_STR(PKGMGR_INSTALLER_ERRCODE_OK); + default: + return PKGMGR_INSTALLER_ERRCODE_UNDEFINED_ERROR_STR; + } +} diff --git a/installer/pkgmgr_installer.h b/installer/pkgmgr_installer.h index c0ca9a2..930bdcc 100644 --- a/installer/pkgmgr_installer.h +++ b/installer/pkgmgr_installer.h @@ -1021,6 +1021,16 @@ int pkgmgr_installer_delete_certinfo(const char *pkgid); */ int pkgmgr_installer_set_privilege_level(pkgmgr_privilege_level level); +/** + * @brief This API converts error code to string + * + * This API is for installer backend.\n + * + * @param[in] error_code pkgmgr installer error code + * @return error string\n +*/ +const char *pkgmgr_installer_error_to_string(int error_code); + #ifdef __cplusplus } #endif diff --git a/installer/pkgmgr_installer_error.h b/installer/pkgmgr_installer_error.h index 6ae0f52..7f60c03 100644 --- a/installer/pkgmgr_installer_error.h +++ b/installer/pkgmgr_installer_error.h @@ -50,6 +50,7 @@ #define PKGMGR_INSTALLER_ERRCODE_ERROR (-1) /* General error */ #define PKGMGR_INSTALLER_ERRCODE_OK (0) /* Success */ +#define PKGMGR_INSTALLER_ERRCODE_UNDEFINED_ERROR_STR "Undefined error" #define PKGMGR_INSTALLER_ERRCODE_GLOBALSYMLINK_ERROR_STR "Global symlink error" #define PKGMGR_INSTALLER_ERRCODE_GRANT_PERMISSION_ERROR_STR "Grant permission error" #define PKGMGR_INSTALLER_ERRCODE_IMAGE_ERROR_STR "Image error"