/* poppler.cc: glib wrapper for poppler * Copyright (C) 2005, Red Hat, Inc. * * 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; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include "poppler.h" #ifndef __GI_SCANNER__ # include #endif #include "poppler-private.h" /** * SECTION: poppler-errors * @title: Error handling * @short_description: Error domain and codes * */ /** * POPPLER_ERROR: * * Error domain for poppler operations. Errors in this domain will * be from the #PopplerError enumeration. See #GError for information * on error domains. */ GQuark poppler_error_quark(void) { static GQuark q = 0; if (q == 0) q = g_quark_from_static_string("poppler-quark"); return q; } /** * poppler_get_backend: * * Returns the backend compiled into the poppler library. * * Return value: The backend used by poppler **/ PopplerBackend poppler_get_backend(void) { return POPPLER_BACKEND_CAIRO; } static const char poppler_version[] = PACKAGE_VERSION; /** * poppler_get_version: * * Returns the version of poppler in use. This result is not to be freed. * * Return value: the version of poppler. **/ const char *poppler_get_version(void) { return poppler_version; } /* We want to install an error callback so that PDF syntax warnings etc * can be redirected through the GLib logging API instead of always just * going to stderr. */ void _poppler_error_cb(ErrorCategory category, Goffset pos, const char *message) { static const char *const cat_str[] = { "Syntax warning", "Syntax error", nullptr, nullptr, "IO error", nullptr, "Unimplemented feature", "Internal error" }; /* The following will never occur in poppler-glib */ if (category == errConfig || category == errCommandLine || category == errNotAllowed) return; g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "%s at position %" G_GOFFSET_FORMAT ": %s", cat_str[category], (goffset)pos, message); }