EXIF library (libexif) API  0.6.21
exif-content.h
Go to the documentation of this file.
1 
4 /*
5  * Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  * Boston, MA 02110-1301 USA.
21  */
22 
23 #ifndef __EXIF_CONTENT_H__
24 #define __EXIF_CONTENT_H__
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
31 typedef struct _ExifContent ExifContent;
32 typedef struct _ExifContentPrivate ExifContentPrivate;
33 
34 #include <libexif/exif-tag.h>
35 #include <libexif/exif-entry.h>
36 #include <libexif/exif-data.h>
37 #include <libexif/exif-log.h>
38 #include <libexif/exif-mem.h>
39 
41 {
42  ExifEntry **entries;
43  unsigned int count;
44 
47 
48  ExifContentPrivate *priv;
49 };
50 
51 /* Lifecycle */
52 ExifContent *exif_content_new (void);
53 ExifContent *exif_content_new_mem (ExifMem *);
54 void exif_content_ref (ExifContent *content);
55 void exif_content_unref (ExifContent *content);
56 void exif_content_free (ExifContent *content);
57 
66 
74 
84 
93 
94 typedef void (* ExifContentForeachEntryFunc) (ExifEntry *, void *user_data);
95 
104  ExifContentForeachEntryFunc func,
105  void *user_data);
106 
112 ExifIfd exif_content_get_ifd (ExifContent *c);
113 
122 #define exif_content_get_value(c,t,v,m) \
123  (exif_content_get_entry (c,t) ? \
124  exif_entry_get_value (exif_content_get_entry (c,t),v,m) : NULL)
125 
132 void exif_content_dump (ExifContent *content, unsigned int indent);
133 
139 void exif_content_log (ExifContent *content, ExifLog *log);
140 
141 #ifdef __cplusplus
142 }
143 #endif /* __cplusplus */
144 
145 #endif /* __EXIF_CONTENT_H__ */
void exif_content_foreach_entry(ExifContent *content, ExifContentForeachEntryFunc func, void *user_data)
Executes function on each EXIF tag in this IFD in turn.
Definition: exif-content.c:210
Definition: exif-content.h:40
ExifIfd exif_content_get_ifd(ExifContent *c)
Return the IFD number in which the given ExifContent is found.
Definition: exif-content.c:234
ExifTag
EXIF tags.
Definition: exif-tag.h:34
ExifEntry * exif_content_get_entry(ExifContent *content, ExifTag tag)
Return the ExifEntry in this IFD corresponding to the given tag.
Definition: exif-content.c:196
Data found in one EXIF tag.
Definition: exif-entry.h:43
struct _ExifMem ExifMem
ExifMem define a memory allocator.
Definition: exif-mem.h:57
void exif_content_dump(ExifContent *content, unsigned int indent)
Dump contents of the IFD to stdout.
Definition: exif-content.c:114
Log message infrastructure.
void exif_content_add_entry(ExifContent *c, ExifEntry *entry)
Add an EXIF tag to an IFD.
Definition: exif-content.c:133
Handling EXIF tags.
void exif_content_remove_entry(ExifContent *c, ExifEntry *e)
Remove an EXIF tag from an IFD.
Definition: exif-content.c:157
void exif_content_fix(ExifContent *c)
Fix the IFD to bring it into specification.
Definition: exif-content.c:278
ExifData * parent
Data containing this content.
Definition: exif-content.h:46
void exif_content_log(ExifContent *content, ExifLog *log)
Set the log message object for this IFD.
Definition: exif-content.c:223
Handling EXIF entries.
Define the ExifMem data type and the associated functions.
Defines the ExifData type and the associated functions.
Represents the entire EXIF data found in an image.
Definition: exif-data.h:46
struct _ExifLog ExifLog
State maintained by the logging interface.
Definition: exif-log.h:34