3
* Copyright � 2001 Lutz M�ller <lutz@users.sourceforge.net>
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
18
* Boston, MA 02110-1301, USA.
21
#ifndef __EXIF_DATA_H__
22
#define __EXIF_DATA_H__
26
#endif /* __cplusplus */
28
#include <libgvexif/exif-tag.h>
29
#include <libgvexif/exif-byte-order.h>
30
#include <libgvexif/exif-ifd.h>
32
typedef struct _ExifData ExifData;
33
typedef struct _ExifDataPrivate ExifDataPrivate;
35
#include <libgvexif/exif-content.h>
39
ExifContent *ifd[EXIF_IFD_COUNT];
44
ExifDataPrivate *priv;
47
ExifData *exif_data_new (void);
48
ExifData *exif_data_new_from_file (const char *path);
49
ExifData *exif_data_new_from_data (const unsigned char *data,
52
void exif_data_load_data (ExifData *data, const unsigned char *d,
54
void exif_data_save_data (ExifData *data, unsigned char **d,
57
void exif_data_ref (ExifData *data);
58
void exif_data_unref (ExifData *data);
59
void exif_data_free (ExifData *data);
61
ExifByteOrder exif_data_get_byte_order (ExifData *data);
62
void exif_data_set_byte_order (ExifData *data, ExifByteOrder order);
64
typedef void (* ExifDataForeachContentFunc) (ExifContent *, void *user_data);
65
void exif_data_foreach_content (ExifData *data,
66
ExifDataForeachContentFunc func,
69
void exif_data_dump (ExifData *data);
73
#endif /* __cplusplus */
75
#endif /* __EXIF_DATA_H__ */