## eog-metadata-reader

eog-metadata-reader

## Synopsis

    #define             EOG_METADATA_READER_GET_INTERFACE   (o)
                        EogMetadataReader;
                        EogMetadataReaderInterface;
    enum                EogMetadataFileType;
    EogMetadataReader*  eog_metadata_reader_new             (EogMetadataFileType type);
    void                eog_metadata_reader_consume         (EogMetadataReader *emr,
                                                             const guchar *buf,
                                                             guint len);
    gboolean            eog_metadata_reader_finished        (EogMetadataReader *emr);
    void                eog_metadata_reader_get_exif_chunk  (EogMetadataReader *emr,
                                                             guchar **data,
                                                             guint *len);
    ExifData*           eog_metadata_reader_get_exif_data   (EogMetadataReader *emr);
    XmpPtr              eog_metadata_reader_get_xmp_data    (EogMetadataReader *emr);
    gpointer            eog_metadata_reader_get_iptc_chunk  (EogMetadataReader *emr);
    IptcData*           eog_metadata_reader_get_iptc_data   (EogMetadataReader *emr);
    cmsHPROFILE         eog_metadata_reader_get_icc_profile (EogMetadataReader *emr);

## Object Hierarchy

      GInterface
       +----EogMetadataReader

## Known Implementations

EogMetadataReader is implemented by EogMetadataReaderJpg and EogMetadataReaderPng.

## Description

## Details

### EOG_METADATA_READER_GET_INTERFACE()

    #define EOG_METADATA_READER_GET_INTERFACE(o)  (G_TYPE_INSTANCE_GET_INTERFACE ((o), EOG_TYPE_METADATA_READER, EogMetadataReaderInterface))

`o` : |

### EogMetadataReader

    typedef struct _EogMetadataReader EogMetadataReader;

### EogMetadataReaderInterface

    typedef struct {
    	GTypeInterface parent;

    	void		(*consume)		(EogMetadataReader *self,
    						 const guchar *buf,
    						 guint len);

    	gboolean	(*finished)		(EogMetadataReader *self);

    	void		(*get_raw_exif)		(EogMetadataReader *self,
    						 guchar **data,
    						 guint *len);

    	gpointer	(*get_exif_data)	(EogMetadataReader *self);

    	gpointer	(*get_icc_profile)	(EogMetadataReader *self);

    	gpointer	(*get_xmp_ptr)		(EogMetadataReader *self);
    } EogMetadataReaderInterface;

### enum EogMetadataFileType

    typedef enum {
    	EOG_METADATA_JPEG,
    	EOG_METADATA_PNG
    } EogMetadataFileType;

### eog_metadata_reader_new ()

    EogMetadataReader*  eog_metadata_reader_new             (EogMetadataFileType type);

`type` : |
Returns : |

### eog_metadata_reader_consume ()

    void                eog_metadata_reader_consume         (EogMetadataReader *emr,
                                                             const guchar *buf,
                                                             guint len);

`emr` : |
`buf` : |
`len` : |

### eog_metadata_reader_finished ()

    gboolean            eog_metadata_reader_finished        (EogMetadataReader *emr);

`emr` : |
Returns : |

### eog_metadata_reader_get_exif_chunk ()

    void                eog_metadata_reader_get_exif_chunk  (EogMetadataReader *emr,
                                                             guchar **data,
                                                             guint *len);

`emr` : |
`data` : |
`len` : |

### eog_metadata_reader_get_exif_data ()

    ExifData*           eog_metadata_reader_get_exif_data   (EogMetadataReader *emr);

`emr` : |
Returns : |

### eog_metadata_reader_get_xmp_data ()

    XmpPtr              eog_metadata_reader_get_xmp_data    (EogMetadataReader *emr);

`emr` : |
Returns : |

### eog_metadata_reader_get_iptc_chunk ()

    gpointer            eog_metadata_reader_get_iptc_chunk  (EogMetadataReader *emr);

`emr` : |
Returns : |

### eog_metadata_reader_get_iptc_data ()

    IptcData*           eog_metadata_reader_get_iptc_data   (EogMetadataReader *emr);

`emr` : |
Returns : |

### eog_metadata_reader_get_icc_profile ()

    cmsHPROFILE         eog_metadata_reader_get_icc_profile (EogMetadataReader *emr);

`emr` : |
Returns : |