00001 00004 /* 00005 * Copyright (c) 2003 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_LOADER_H__ 00024 #define __EXIF_LOADER_H__ 00025 00026 #include <libexif/exif-data.h> 00027 #include <libexif/exif-log.h> 00028 #include <libexif/exif-mem.h> 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif /* __cplusplus */ 00033 00035 typedef struct _ExifLoader ExifLoader; 00036 00041 ExifLoader *exif_loader_new (void); 00042 00048 ExifLoader *exif_loader_new_mem (ExifMem *mem); 00049 00054 void exif_loader_ref (ExifLoader *loader); 00055 00061 void exif_loader_unref (ExifLoader *loader); 00062 00069 void exif_loader_write_file (ExifLoader *loader, const char *fname); 00070 00080 unsigned char exif_loader_write (ExifLoader *loader, unsigned char *buf, unsigned int sz); 00081 00087 void exif_loader_reset (ExifLoader *loader); 00088 00103 ExifData *exif_loader_get_data (ExifLoader *loader); 00104 00115 void exif_loader_get_buf (ExifLoader *loader, const unsigned char **buf, 00116 unsigned int *buf_size); 00117 00122 void exif_loader_log (ExifLoader *loader, ExifLog *log); 00123 00124 #ifdef __cplusplus 00125 } 00126 #endif /* __cplusplus */ 00127 00128 #endif /* __EXIF_LOADER_H__ */