Remove commented out code.
[geeqie.git] / src / exif.h
index e315e26..bfd350e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- *  Copyright (C) 2008 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Support for Exif file format, originally written by Eric Swalens.
@@ -27,6 +27,8 @@
 #ifndef __EXIF_H
 #define __EXIF_H
 
+#define EXIF_FORMATTED() "formatted."
+#define EXIF_FORMATTED_LEN (sizeof(EXIF_FORMATTED()) - 1)
 
 /*
  *-----------------------------------------------------------------------------
@@ -61,8 +63,6 @@ typedef enum {
 
 typedef struct _ExifItem ExifItem;
 
-typedef struct _ExifData ExifData;
-
 typedef struct _ExifRational ExifRational;
 struct _ExifRational
 {
@@ -92,7 +92,6 @@ typedef enum {
        EXIF_UNIT_CENTIMETER    = 3
 } ExifUnitType;
 
-
 typedef struct _ExifFormattedText ExifFormattedText;
 struct _ExifFormattedText
 {
@@ -107,12 +106,22 @@ struct _ExifFormattedText
  *-----------------------------------------------------------------------------
  */
 
-ExifData *exif_read(gchar *path, gchar *sidecar_path);
+void exif_init(void);
+
+ExifData *exif_read(gchar *path, gchar *sidecar_path, GHashTable *modified_xmp);
 
 ExifData *exif_read_fd(FileData *fd);
+void exif_free_fd(FileData *fd, ExifData *exif);
 
+/* exif_read returns processed data (merged from image and sidecar, etc.)
+   this function gives access to the original data from the image.
+   original data are part of the processed data and should not be freed separately */
+ExifData *exif_get_original(ExifData *processed);
+
+
+gboolean exif_write(ExifData *exif);
+gboolean exif_write_sidecar(ExifData *exif, gchar *path);
 
-int exif_write(ExifData *exif);
 void exif_free(ExifData *exif);
 
 gchar *exif_get_data_as_text(ExifData *exif, const gchar *key);
@@ -120,49 +129,45 @@ gint exif_get_integer(ExifData *exif, const gchar *key, gint *value);
 ExifRational *exif_get_rational(ExifData *exif, const gchar *key, gint *sign);
 
 ExifItem *exif_get_item(ExifData *exif, const gchar *key);
-ExifItem *exif_add_item(ExifData *exif, const gchar *key);
 ExifItem *exif_get_first_item(ExifData *exif);
 ExifItem *exif_get_next_item(ExifData *exif);
 
 
-char *exif_item_get_tag_name(ExifItem *item);
+gchar *exif_item_get_tag_name(ExifItem *item);
 guint exif_item_get_tag_id(ExifItem *item);
 guint exif_item_get_elements(ExifItem *item);
-char *exif_item_get_data(ExifItem *item, guint *data_len);
-char *exif_item_get_description(ExifItem *item);
+gchar *exif_item_get_data(ExifItem *item, guint *data_len);
+gchar *exif_item_get_description(ExifItem *item);
 guint exif_item_get_format_id(ExifItem *item);
-const char *exif_item_get_format_name(ExifItem *item, gint brief);
+const gchar *exif_item_get_format_name(ExifItem *item, gboolean brief);
 gchar *exif_item_get_data_as_text(ExifItem *item);
 gint exif_item_get_integer(ExifItem *item, gint *value);
-ExifRational *exif_item_get_rational(ExifItem *item, gint *sign);
+ExifRational *exif_item_get_rational(ExifItem *item, gint *sign, guint n);
 
-gchar *exif_item_get_string(ExifItem *item, int idx);
+gchar *exif_item_get_string(ExifItem *item, gint idx);
 
-const gchar *exif_get_description_by_key(const gchar *key);
-const gchar *exif_get_tag_description_by_key(const gchar *key);
+gchar *exif_get_description_by_key(const gchar *key);
+gchar *exif_get_tag_description_by_key(const gchar *key);
 
-gchar *exif_get_formatted_by_key(ExifData *exif, const gchar *key, gint *key_valid);
+gchar *exif_get_formatted_by_key(ExifData *exif, const gchar *key, gboolean *key_valid);
 
-int exif_item_delete(ExifData *exif, ExifItem *item);
-int exif_item_set_string(ExifItem *item, const char *str);
+gint exif_update_metadata(ExifData *exif, const gchar *key, const GList *values);
+GList *exif_get_metadata(ExifData *exif, const gchar *key, MetadataFormat format);
 
-unsigned char *exif_get_color_profile(ExifData *exif, guint *data_len);
+guchar *exif_get_color_profile(ExifData *exif, guint *data_len);
 
 /* jpeg embedded icc support */
 
-void exif_add_jpeg_color_profile(ExifData *exif, unsigned char *cp_data, guint cp_length);
+void exif_add_jpeg_color_profile(ExifData *exif, guchar *cp_data, guint cp_length);
 
 
-gint exif_jpeg_segment_find(unsigned char *data, guint size,
-                                   guchar app_marker, const gchar *magic, guint magic_len,
-                                   guint *seg_offset, guint *seg_length);
-gint exif_jpeg_parse_color(ExifData *exif, unsigned char *data, guint size);
+gboolean exif_jpeg_parse_color(ExifData *exif, guchar *data, guint size);
 
 /*raw support */
-gint format_raw_img_exif_offsets_fd(int fd, const gchar *path,
-                                   unsigned char *header_data, const guint header_len,
-                                   guint *image_offset, guint *exif_offset);
-
+guchar *exif_get_preview(ExifData *exif, guint *data_len, gint requested_width, gint requested_height);
+void exif_free_preview(guchar *buf);
 
+gchar *metadata_file_info(FileData *fd, const gchar *key, MetadataFormat format);
 
 #endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */