00001
00002 #ifndef JPEG_JPEG_H
00003 #define JPEG_JPEG_H 1
00004
00005 #include "config.h"
00006
00007 #include <libexif/exif-loader.h>
00008
00009 #ifdef HAVE_UNISTD_H
00010 #include <unistd.h>
00011 #else
00012 #define NULL (void *)0
00013 #endif
00014
00015 #include <xpsh/xpsh_def.h>
00016
00020 struct tag_array {
00022 ExifTag tag;
00024 char *description;
00025 };
00026
00029 struct tag_array used_tags[] = {
00030 { EXIF_TAG_IMAGE_DESCRIPTION, "Description" },
00031 { EXIF_TAG_MAKE, "Manufacturer" },
00032 { EXIF_TAG_MODEL, "Model" },
00033 { EXIF_TAG_ORIENTATION, "Orientation" },
00034 { EXIF_TAG_PIXEL_X_DIMENSION, "Width" },
00035 { EXIF_TAG_PIXEL_Y_DIMENSION, "Height" },
00036 { EXIF_TAG_X_RESOLUTION, "XResolution" },
00037 { EXIF_TAG_Y_RESOLUTION, "YResolution" },
00038 { EXIF_TAG_RESOLUTION_UNIT, "ResolutionUnit" },
00039 { EXIF_TAG_COLOR_SPACE, "ColorSpace" },
00040 { EXIF_TAG_DIGITAL_ZOOM_RATIO, "DigitalZoomRatio" },
00041 { EXIF_TAG_FLASH, "Flash" },
00042 { EXIF_TAG_EXPOSURE_TIME, "ExposureTime" },
00043 { EXIF_TAG_FNUMBER, "FNumber" },
00044 { EXIF_TAG_ISO_SPEED_RATINGS, "ISOSpeedRatings" },
00045 { EXIF_TAG_FOCAL_LENGTH, "FocalLength" }
00046 };
00047
00048 char **implemented_mime_types();
00049 int n_implemented_mime_types();
00050
00051 char *get_ns_prefix();
00052 char *get_ns_uri();
00053
00054 void expand_metadata( node_xpsh *root_metadata_node,
00055 const char *filename,
00056 const char *mime_type );
00057
00058 void expand_content( node_xpsh *root_content_node,
00059 const char *filename,
00060 const char *mime_type );
00061
00062 node_xpsh *newNode( node_xpsh *parent, node_type t, char *name,
00063 const char *value, node_xpsh *prev );
00064
00065 #endif