24 #ifndef __EXIF_DATA_H__
25 #define __EXIF_DATA_H__
32 #include <libexif/exif-data-type.h>
33 #include <libexif/exif-ifd.h>
39 typedef struct _ExifDataPrivate ExifDataPrivate;
67 ExifDataPrivate *priv;
94 ExifData *exif_data_new_from_file (
const char *path);
102 ExifData *exif_data_new_from_data (
const unsigned char *data,
116 void exif_data_load_data (
ExifData *data,
const unsigned char *d,
129 void exif_data_save_data (
ExifData *data,
unsigned char **d,
132 void exif_data_ref (
ExifData *data);
133 void exif_data_unref (
ExifData *data);
134 void exif_data_free (
ExifData *data);
173 typedef void (* ExifDataForeachContentFunc) (
ExifContent *,
void *user_data);
181 void exif_data_foreach_content (
ExifData *data,
182 ExifDataForeachContentFunc func,
230 void exif_data_set_data_type (
ExifData *d, ExifDataType dt);
237 ExifDataType exif_data_get_data_type (
ExifData *d);
244 void exif_data_dump (
ExifData *data);
268 int exif_data_mnote_set_mem_for_adding_entry(
ExifMnoteData *md, Manufacturer maker);
280 int exif_data_mnote_set_add_entry(
ExifMnoteData *md, Manufacturer maker,
int tag,
ExifFormat fmt,
int components,
int id);
296 int exif_data_mnote_set_add_entry_subtag(
ExifMnoteData* md, Manufacturer maker,
int tag,
ExifFormat fmt,
int components,
int subtag1,
int id1,
int subtag2,
int id2,
int val);
308 int exif_data_mnote_set_add_entry_string(
ExifMnoteData* md, Manufacturer maker,
int tag,
ExifFormat fmt,
int components,
const char*
string);
318 #define exif_data_get_entry(d,t) \
319 (exif_content_get_entry(d->ifd[EXIF_IFD_0],t) ? \
320 exif_content_get_entry(d->ifd[EXIF_IFD_0],t) : \
321 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) ? \
322 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) : \
323 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) ? \
324 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) : \
325 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) ? \
326 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) : \
327 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) ? \
328 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) : NULL)