exif-entry.h

Go to the documentation of this file.
00001 
00004 /*
00005  * Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, 
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details. 
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the
00019  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020  * Boston, MA  02110-1301  USA.
00021  */
00022 
00023 #ifndef __EXIF_ENTRY_H__
00024 #define __EXIF_ENTRY_H__
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif /* __cplusplus */
00029 
00035 typedef struct _ExifEntry        ExifEntry;
00036 typedef struct _ExifEntryPrivate ExifEntryPrivate;
00037 
00038 #include <libexif/exif-content.h>
00039 #include <libexif/exif-format.h>
00040 #include <libexif/exif-mem.h>
00041 
00043 struct _ExifEntry {
00045         ExifTag tag;
00046         
00048         ExifFormat format;
00049 
00052         unsigned long components;
00053 
00057         unsigned char *data;
00058 
00061         unsigned int size;
00062 
00065         ExifContent *parent;
00066 
00068         ExifEntryPrivate *priv;
00069 };
00070 
00071 /* Lifecycle */
00072 
00080 ExifEntry  *exif_entry_new     (void);
00081 
00090 ExifEntry  *exif_entry_new_mem (ExifMem *);
00091 
00098 void        exif_entry_ref     (ExifEntry *entry);
00099 
00105 void        exif_entry_unref   (ExifEntry *entry);
00106 
00114 void        exif_entry_free  (ExifEntry *entry);
00115 
00125 void        exif_entry_initialize (ExifEntry *e, ExifTag tag);
00126 
00140 void        exif_entry_fix        (ExifEntry *entry);
00141 
00142 
00143 /* For your convenience */
00144 
00163 const char *exif_entry_get_value (ExifEntry *entry, char *val,
00164                                   unsigned int maxlen);
00165 
00172 void        exif_entry_dump      (ExifEntry *entry, unsigned int indent);
00173 
00179 #define exif_entry_get_ifd(e) ((e)?exif_content_get_ifd((e)->parent):EXIF_IFD_COUNT)
00180 
00181 #ifdef __cplusplus
00182 }
00183 #endif /* __cplusplus */
00184 
00185 #endif /* __EXIF_ENTRY_H__ */

SourceForge.net Logo Generated by doxygen