exif-content.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __EXIF_CONTENT_H__
00022 #define __EXIF_CONTENT_H__
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 typedef struct _ExifContent ExifContent;
00029 typedef struct _ExifContentPrivate ExifContentPrivate;
00030
00031 #include <libexif/exif-tag.h>
00032 #include <libexif/exif-entry.h>
00033 #include <libexif/exif-data.h>
00034 #include <libexif/exif-log.h>
00035 #include <libexif/exif-mem.h>
00036
00037 struct _ExifContent
00038 {
00039 ExifEntry **entries;
00040 unsigned int count;
00041
00042
00043 ExifData *parent;
00044
00045 ExifContentPrivate *priv;
00046
00047 unsigned char tag_table[EXIF_TAG_LAST_VALUE];
00048 };
00049
00050
00051 ExifContent *exif_content_new (void);
00052 ExifContent *exif_content_new_mem (ExifMem *);
00053 void exif_content_ref (ExifContent *content);
00054 void exif_content_unref (ExifContent *content);
00055 void exif_content_free (ExifContent *content);
00056
00057 void exif_content_add_entry (ExifContent *, ExifEntry *);
00058 void exif_content_remove_entry (ExifContent *, ExifEntry *);
00059 ExifEntry *exif_content_get_entry (ExifContent *, ExifTag);
00060 void exif_content_fix (ExifContent *);
00061
00062 typedef void (* ExifContentForeachEntryFunc) (ExifEntry *, void *user_data);
00063 void exif_content_foreach_entry (ExifContent *content,
00064 ExifContentForeachEntryFunc func,
00065 void *user_data);
00066
00067
00068 ExifIfd exif_content_get_ifd (ExifContent *);
00069 #define exif_content_get_value(c,t,v,m) \
00070 (exif_content_get_entry (c,t) ? \
00071 exif_entry_get_value (exif_content_get_entry (c,t),v,m) : NULL)
00072
00073 void exif_content_dump (ExifContent *content, unsigned int indent);
00074 void exif_content_log (ExifContent *content, ExifLog *log);
00075
00076 #ifdef __cplusplus
00077 }
00078 #endif
00079
00080 #endif