/* * libharu supplementary functions (error strings) * * Copyright 2013 Viktor Szakats (vszakats.net/harbour) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file LICENSE.txt. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). * * As a special exception, the Harbour Project gives permission for * additional uses of the text contained in its release of Harbour. * * The exception is that, if you link the Harbour libraries with other * files to produce an executable, this does not by itself cause the * resulting executable to be covered by the GNU General Public License. * Your use of that executable is in no way restricted on account of * linking the Harbour library code into it. * * This exception does not however invalidate any other reasons why * the executable file might be covered by the GNU General Public License. * * This exception applies only to the code released by the Harbour * Project under the name Harbour. If you copy code from other * Harbour Project or Free Software Foundation releases into a copy of * Harbour, as the General Public License permits, the exception does * not apply to the code that you add in this way. To avoid misleading * anyone as to the status of such modified files, you must delete * this exception notice from them. * * If you write modifications of your own for Harbour, it is your choice * whether to permit this exception to apply to your modifications. * If you do not wish that, delete this exception notice. * */ #include "harupdf.ch" /* NOTE: Error descriptions here: https://github.com/libharu/libharu/wiki/Error-handling */ FUNCTION hb_HPDF_GetErrorString( nStatus ) IF ! HB_ISNUMERIC( nStatus ) RETURN "HB_HPDF_INVALID" ENDIF SWITCH nStatus CASE HB_HPDF_BADPARAM ; RETURN "HB_HPDF_BADPARAM" CASE HPDF_OK ; RETURN "HPDF_OK" CASE HPDF_ARRAY_COUNT_ERR ; RETURN "HPDF_ARRAY_COUNT_ERR" CASE HPDF_ARRAY_ITEM_NOT_FOUND ; RETURN "HPDF_ARRAY_ITEM_NOT_FOUND" CASE HPDF_ARRAY_ITEM_UNEXPECTED_TYPE ; RETURN "HPDF_ARRAY_ITEM_UNEXPECTED_TYPE" CASE HPDF_BINARY_LENGTH_ERR ; RETURN "HPDF_BINARY_LENGTH_ERR" CASE HPDF_CANNOT_GET_PALLET ; RETURN "HPDF_CANNOT_GET_PALLET" CASE HPDF_DICT_COUNT_ERR ; RETURN "HPDF_DICT_COUNT_ERR" CASE HPDF_DICT_ITEM_NOT_FOUND ; RETURN "HPDF_DICT_ITEM_NOT_FOUND" CASE HPDF_DICT_ITEM_UNEXPECTED_TYPE ; RETURN "HPDF_DICT_ITEM_UNEXPECTED_TYPE" CASE HPDF_DICT_STREAM_LENGTH_NOT_FOUND ; RETURN "HPDF_DICT_STREAM_LENGTH_NOT_FOUND" CASE HPDF_DOC_ENCRYPTDICT_NOT_FOUND ; RETURN "HPDF_DOC_ENCRYPTDICT_NOT_FOUND" CASE HPDF_DOC_INVALID_OBJECT ; RETURN "HPDF_DOC_INVALID_OBJECT" CASE HPDF_DUPLICATE_REGISTRATION ; RETURN "HPDF_DUPLICATE_REGISTRATION" CASE HPDF_EXCEED_JWW_CODE_NUM_LIMIT ; RETURN "HPDF_EXCEED_JWW_CODE_NUM_LIMIT" CASE HPDF_ENCRYPT_INVALID_PASSWORD ; RETURN "HPDF_ENCRYPT_INVALID_PASSWORD" CASE HPDF_ERR_UNKNOWN_CLASS ; RETURN "HPDF_ERR_UNKNOWN_CLASS" CASE HPDF_EXCEED_GSTATE_LIMIT ; RETURN "HPDF_EXCEED_GSTATE_LIMIT" CASE HPDF_FAILD_TO_ALLOC_MEM ; RETURN "HPDF_FAILD_TO_ALLOC_MEM" CASE HPDF_FILE_IO_ERROR ; RETURN "HPDF_FILE_IO_ERROR" CASE HPDF_FILE_OPEN_ERROR ; RETURN "HPDF_FILE_OPEN_ERROR" CASE HPDF_FONT_EXISTS ; RETURN "HPDF_FONT_EXISTS" CASE HPDF_FONT_INVALID_WIDTHS_TABLE ; RETURN "HPDF_FONT_INVALID_WIDTHS_TABLE" CASE HPDF_INVALID_AFM_HEADER ; RETURN "HPDF_INVALID_AFM_HEADER" CASE HPDF_INVALID_ANNOTATION ; RETURN "HPDF_INVALID_ANNOTATION" CASE HPDF_INVALID_BIT_PER_COMPONENT ; RETURN "HPDF_INVALID_BIT_PER_COMPONENT" CASE HPDF_INVALID_CHAR_MATRICS_DATA ; RETURN "HPDF_INVALID_CHAR_MATRICS_DATA" CASE HPDF_INVALID_COLOR_SPACE ; RETURN "HPDF_INVALID_COLOR_SPACE" CASE HPDF_INVALID_COMPRESSION_MODE ; RETURN "HPDF_INVALID_COMPRESSION_MODE" CASE HPDF_INVALID_DATE_TIME ; RETURN "HPDF_INVALID_DATE_TIME" CASE HPDF_INVALID_DESTINATION ; RETURN "HPDF_INVALID_DESTINATION" CASE HPDF_INVALID_DOCUMENT ; RETURN "HPDF_INVALID_DOCUMENT" CASE HPDF_INVALID_DOCUMENT_STATE ; RETURN "HPDF_INVALID_DOCUMENT_STATE" CASE HPDF_INVALID_ENCODER ; RETURN "HPDF_INVALID_ENCODER" CASE HPDF_INVALID_ENCODER_TYPE ; RETURN "HPDF_INVALID_ENCODER_TYPE" CASE HPDF_INVALID_ENCODING_NAME ; RETURN "HPDF_INVALID_ENCODING_NAME" CASE HPDF_INVALID_ENCRYPT_KEY_LEN ; RETURN "HPDF_INVALID_ENCRYPT_KEY_LEN" CASE HPDF_INVALID_FONTDEF_DATA ; RETURN "HPDF_INVALID_FONTDEF_DATA" CASE HPDF_INVALID_FONTDEF_TYPE ; RETURN "HPDF_INVALID_FONTDEF_TYPE" CASE HPDF_INVALID_FONT_NAME ; RETURN "HPDF_INVALID_FONT_NAME" CASE HPDF_INVALID_IMAGE ; RETURN "HPDF_INVALID_IMAGE" CASE HPDF_INVALID_JPEG_DATA ; RETURN "HPDF_INVALID_JPEG_DATA" CASE HPDF_INVALID_N_DATA ; RETURN "HPDF_INVALID_N_DATA" CASE HPDF_INVALID_OBJECT ; RETURN "HPDF_INVALID_OBJECT" CASE HPDF_INVALID_OBJ_ID ; RETURN "HPDF_INVALID_OBJ_ID" CASE HPDF_INVALID_OPERATION ; RETURN "HPDF_INVALID_OPERATION" CASE HPDF_INVALID_OUTLINE ; RETURN "HPDF_INVALID_OUTLINE" CASE HPDF_INVALID_PAGE ; RETURN "HPDF_INVALID_PAGE" CASE HPDF_INVALID_PAGES ; RETURN "HPDF_INVALID_PAGES" CASE HPDF_INVALID_PARAMETER ; RETURN "HPDF_INVALID_PARAMETER" CASE HPDF_INVALID_PNG_IMAGE ; RETURN "HPDF_INVALID_PNG_IMAGE" CASE HPDF_INVALID_STREAM ; RETURN "HPDF_INVALID_STREAM" CASE HPDF_MISSING_FILE_NAME_ENTRY ; RETURN "HPDF_MISSING_FILE_NAME_ENTRY" CASE HPDF_INVALID_TTC_FILE ; RETURN "HPDF_INVALID_TTC_FILE" CASE HPDF_INVALID_TTC_INDEX ; RETURN "HPDF_INVALID_TTC_INDEX" CASE HPDF_INVALID_WX_DATA ; RETURN "HPDF_INVALID_WX_DATA" CASE HPDF_ITEM_NOT_FOUND ; RETURN "HPDF_ITEM_NOT_FOUND" CASE HPDF_LIBPNG_ERROR ; RETURN "HPDF_LIBPNG_ERROR" CASE HPDF_NAME_INVALID_VALUE ; RETURN "HPDF_NAME_INVALID_VALUE" CASE HPDF_NAME_OUT_OF_RANGE ; RETURN "HPDF_NAME_OUT_OF_RANGE" CASE HPDF_PAGE_INVALID_PARAM_COUNT ; RETURN "HPDF_PAGE_INVALID_PARAM_COUNT" CASE HPDF_PAGES_MISSING_KIDS_ENTRY ; RETURN "HPDF_PAGES_MISSING_KIDS_ENTRY" CASE HPDF_PAGE_CANNOT_FIND_OBJECT ; RETURN "HPDF_PAGE_CANNOT_FIND_OBJECT" CASE HPDF_PAGE_CANNOT_GET_ROOT_PAGES ; RETURN "HPDF_PAGE_CANNOT_GET_ROOT_PAGES" CASE HPDF_PAGE_CANNOT_RESTORE_GSTATE ; RETURN "HPDF_PAGE_CANNOT_RESTORE_GSTATE" CASE HPDF_PAGE_CANNOT_SET_PARENT ; RETURN "HPDF_PAGE_CANNOT_SET_PARENT" CASE HPDF_PAGE_FONT_NOT_FOUND ; RETURN "HPDF_PAGE_FONT_NOT_FOUND" CASE HPDF_PAGE_INVALID_FONT ; RETURN "HPDF_PAGE_INVALID_FONT" CASE HPDF_PAGE_INVALID_FONT_SIZE ; RETURN "HPDF_PAGE_INVALID_FONT_SIZE" CASE HPDF_PAGE_INVALID_GMODE ; RETURN "HPDF_PAGE_INVALID_GMODE" CASE HPDF_PAGE_INVALID_INDEX ; RETURN "HPDF_PAGE_INVALID_INDEX" CASE HPDF_PAGE_INVALID_ROTATE_VALUE ; RETURN "HPDF_PAGE_INVALID_ROTATE_VALUE" CASE HPDF_PAGE_INVALID_SIZE ; RETURN "HPDF_PAGE_INVALID_SIZE" CASE HPDF_PAGE_INVALID_XOBJECT ; RETURN "HPDF_PAGE_INVALID_XOBJECT" CASE HPDF_PAGE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_OUT_OF_RANGE" CASE HPDF_REAL_OUT_OF_RANGE ; RETURN "HPDF_REAL_OUT_OF_RANGE" CASE HPDF_STREAM_EOF ; RETURN "HPDF_STREAM_EOF" CASE HPDF_STREAM_READLN_CONTINUE ; RETURN "HPDF_STREAM_READLN_CONTINUE" CASE HPDF_STRING_OUT_OF_RANGE ; RETURN "HPDF_STRING_OUT_OF_RANGE" CASE HPDF_THIS_FUNC_WAS_SKIPPED ; RETURN "HPDF_THIS_FUNC_WAS_SKIPPED" CASE HPDF_TTF_CANNOT_EMBEDDING_FONT ; RETURN "HPDF_TTF_CANNOT_EMBEDDING_FONT" CASE HPDF_TTF_INVALID_CMAP ; RETURN "HPDF_TTF_INVALID_CMAP" CASE HPDF_TTF_INVALID_FOMAT ; RETURN "HPDF_TTF_INVALID_FOMAT" CASE HPDF_TTF_MISSING_TABLE ; RETURN "HPDF_TTF_MISSING_TABLE" CASE HPDF_UNSUPPORTED_FONT_TYPE ; RETURN "HPDF_UNSUPPORTED_FONT_TYPE" CASE HPDF_UNSUPPORTED_FUNC ; RETURN "HPDF_UNSUPPORTED_FUNC" CASE HPDF_UNSUPPORTED_JPEG_FORMAT ; RETURN "HPDF_UNSUPPORTED_JPEG_FORMAT" CASE HPDF_UNSUPPORTED_TYPE1_FONT ; RETURN "HPDF_UNSUPPORTED_TYPE1_FONT" CASE HPDF_XREF_COUNT_ERR ; RETURN "HPDF_XREF_COUNT_ERR" CASE HPDF_ZLIB_ERROR ; RETURN "HPDF_ZLIB_ERROR" CASE HPDF_INVALID_PAGE_INDEX ; RETURN "HPDF_INVALID_PAGE_INDEX" CASE HPDF_INVALID_URI ; RETURN "HPDF_INVALID_URI" CASE HPDF_PAGE_LAYOUT_OUT_OF_RANGE ; RETURN "HPDF_PAGE_LAYOUT_OUT_OF_RANGE" CASE HPDF_PAGE_MODE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_MODE_OUT_OF_RANGE" CASE HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE" CASE HPDF_ANNOT_INVALID_ICON ; RETURN "HPDF_ANNOT_INVALID_ICON" CASE HPDF_ANNOT_INVALID_BORDER_STYLE ; RETURN "HPDF_ANNOT_INVALID_BORDER_STYLE" CASE HPDF_PAGE_INVALID_DIRECTION ; RETURN "HPDF_PAGE_INVALID_DIRECTION" CASE HPDF_INVALID_FONT ; RETURN "HPDF_INVALID_FONT" CASE HPDF_PAGE_INSUFFICIENT_SPACE ; RETURN "HPDF_PAGE_INSUFFICIENT_SPACE" CASE HPDF_PAGE_INVALID_DISPLAY_TIME ; RETURN "HPDF_PAGE_INVALID_DISPLAY_TIME" CASE HPDF_PAGE_INVALID_TRANSITION_TIME ; RETURN "HPDF_PAGE_INVALID_TRANSITION_TIME" CASE HPDF_INVALID_PAGE_SLIDESHOW_TYPE ; RETURN "HPDF_INVALID_PAGE_SLIDESHOW_TYPE" CASE HPDF_EXT_GSTATE_OUT_OF_RANGE ; RETURN "HPDF_EXT_GSTATE_OUT_OF_RANGE" CASE HPDF_INVALID_EXT_GSTATE ; RETURN "HPDF_INVALID_EXT_GSTATE" CASE HPDF_EXT_GSTATE_READ_ONLY ; RETURN "HPDF_EXT_GSTATE_READ_ONLY" CASE HPDF_INVALID_U3D_DATA ; RETURN "HPDF_INVALID_U3D_DATA" CASE HPDF_NAME_CANNOT_GET_NAMES ; RETURN "HPDF_NAME_CANNOT_GET_NAMES" CASE HPDF_INVALID_ICC_COMPONENT_NUM ; RETURN "HPDF_INVALID_ICC_COMPONENT_NUM" ENDSWITCH RETURN "HB_HPDF_UNKNOWN_" + hb_ntos( nStatus )