Add helper API converts error code to string 65/190865/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Mon, 8 Oct 2018 06:43:05 +0000 (15:43 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 8 Oct 2018 06:43:05 +0000 (15:43 +0900)
Change-Id: I1c106f777666e860051c0eda21a5af7c64f672b0
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
installer/pkgmgr_installer.c
installer/pkgmgr_installer.h
installer/pkgmgr_installer_error.h

index 91e28bd..a15485f 100644 (file)
@@ -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 <pkgmgr-info.h>
 
@@ -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;
+       }
+}
index c0ca9a2..930bdcc 100644 (file)
@@ -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
index 6ae0f52..7f60c03 100644 (file)
@@ -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"