| /* poppler-attachment.h: glib interface to poppler |
| * Copyright (C) 2004, 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. |
| */ |
| |
| #ifndef __POPPLER_ATTACHMENT_H__ |
| #define __POPPLER_ATTACHMENT_H__ |
| |
| #include <glib.h> |
| #include <glib-object.h> |
| |
| #include "poppler.h" |
| |
| G_BEGIN_DECLS |
| |
| #define POPPLER_TYPE_ATTACHMENT (poppler_attachment_get_type()) |
| #define POPPLER_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), POPPLER_TYPE_ATTACHMENT, PopplerAttachment)) |
| #define POPPLER_IS_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), POPPLER_TYPE_ATTACHMENT)) |
| |
| /** |
| * PopplerAttachmentSaveFunc: |
| * @buf: (array length=count) (element-type guint8): buffer containing |
| * bytes to be written. |
| * @count: number of bytes in @buf. |
| * @data: (closure): user data passed to poppler_attachment_save_to_callback() |
| * @error: GError to set on error, or %NULL |
| * |
| * Specifies the type of the function passed to |
| * poppler_attachment_save_to_callback(). It is called once for each block of |
| * bytes that is "written" by poppler_attachment_save_to_callback(). If |
| * successful it should return %TRUE. If an error occurs it should set |
| * @error and return %FALSE, in which case poppler_attachment_save_to_callback() |
| * will fail with the same error. |
| * |
| * Returns: %TRUE if successful, %FALSE (with @error set) if failed. |
| */ |
| typedef gboolean (*PopplerAttachmentSaveFunc)(const gchar *buf, gsize count, gpointer data, GError **error); |
| |
| /** |
| * PopplerAttachment: |
| * @name: The filename. Deprecated in poppler 20.09.0. Use |
| * poppler_attachment_get_name() instead. |
| * @description: Descriptive text. Deprecated in poppler 20.09.0. Use |
| * poppler_attachment_get_description() instead. |
| * @size: The size of the file. Deprecated in poppler 20.09.0. Use |
| * poppler_attachment_get_size() instead. |
| * @mtime: The date and time when the file was last modified. Deprecated in |
| * poppler 20.09.0. Use poppler_attachment_get_mtime() instead. |
| * @ctime: The date and time when the file was created. Deprecated in poppler |
| * 20.09.0. Use poppler_attachment_get_ctime() instead. |
| * @checksum: A 16-byte checksum of the file. Deprecated in poppler 20.09.0. Use |
| * poppler_attachment_get_checksum() instead. |
| */ |
| struct _PopplerAttachment |
| { |
| GObject parent; |
| |
| /*< public >*/ |
| gchar *name; |
| gchar *description; |
| gsize size; |
| |
| /* GTime is deprecated, but is part of our ABI here (see #715, #765). */ |
| G_GNUC_BEGIN_IGNORE_DEPRECATIONS |
| GTime mtime; |
| GTime ctime; |
| G_GNUC_END_IGNORE_DEPRECATIONS |
| |
| GString *checksum; |
| }; |
| |
| /* This struct was not intended to be public, but can't be moved to |
| * poppler-attachment.cc without breaking the API stability. |
| */ |
| /** |
| * PopplerAttachmentClass: |
| * |
| * The GObject class structure of #PopplerAttachment. |
| */ |
| typedef struct _PopplerAttachmentClass |
| { |
| GObjectClass parent_class; |
| } PopplerAttachmentClass; |
| |
| POPPLER_PUBLIC |
| GType poppler_attachment_get_type(void) G_GNUC_CONST; |
| POPPLER_PUBLIC |
| const GString *poppler_attachment_get_checksum(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| GDateTime *poppler_attachment_get_ctime(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| const gchar *poppler_attachment_get_description(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| GDateTime *poppler_attachment_get_mtime(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| const gchar *poppler_attachment_get_name(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| gsize poppler_attachment_get_size(PopplerAttachment *attachment); |
| POPPLER_PUBLIC |
| gboolean poppler_attachment_save(PopplerAttachment *attachment, const char *filename, GError **error); |
| #ifndef G_OS_WIN32 |
| POPPLER_PUBLIC |
| gboolean poppler_attachment_save_to_fd(PopplerAttachment *attachment, int fd, GError **error); |
| #endif |
| POPPLER_PUBLIC |
| gboolean poppler_attachment_save_to_callback(PopplerAttachment *attachment, PopplerAttachmentSaveFunc save_func, gpointer user_data, GError **error); |
| |
| G_END_DECLS |
| |
| #endif /* __POPPLER_ATTACHMENT_H__ */ |