<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <package name="gexiv2"/>
  <c:include name="gexiv2/gexiv2.h"/>
  <doc:format name="unknown"/>
  <namespace name="GExiv2"
             version="0.10"
             shared-library="libgexiv2.so.2"
             c:identifier-prefixes="GExiv2"
             c:symbol-prefixes="gexiv2">
    <enumeration name="ByteOrder"
                 glib:type-name="GExiv2ByteOrder"
                 glib:get-type="gexiv2_gexiv2_byte_order_get_type"
                 c:type="GExiv2ByteOrder">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="221">Options to control the byte order of binary EXIF data exports</doc>
      <member name="little"
              value="0"
              c:identifier="GEXIV2_BYTE_ORDER_LITTLE"
              glib:nick="little"
              glib:name="GEXIV2_BYTE_ORDER_LITTLE">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="223">Use little-endian byte order</doc>
      </member>
      <member name="big"
              value="1"
              c:identifier="GEXIV2_BYTE_ORDER_BIG"
              glib:nick="big"
              glib:name="GEXIV2_BYTE_ORDER_BIG">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="224">Use big-endian byte order</doc>
      </member>
    </enumeration>
    <function-macro name="CHECK_VERSION"
                    c:identifier="GEXIV2_CHECK_VERSION"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-version.h" line="27"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-version.h"
               line="20">the major version to check for</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-version.h"
               line="21">the minor version to check for</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-version.h"
               line="22">the micro version to check for</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_METADATA"
                    c:identifier="GEXIV2_IS_METADATA"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="129"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_METADATA_CLASS"
                    c:identifier="GEXIV2_IS_METADATA_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="135"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PREVIEW_IMAGE"
                    c:identifier="GEXIV2_IS_PREVIEW_IMAGE"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="23"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PREVIEW_IMAGE_CLASS"
                    c:identifier="GEXIV2_IS_PREVIEW_IMAGE_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="29"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PREVIEW_PROPERTIES"
                    c:identifier="GEXIV2_IS_PREVIEW_PROPERTIES"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="23"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PREVIEW_PROPERTIES_CLASS"
                    c:identifier="GEXIV2_IS_PREVIEW_PROPERTIES_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="29"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <callback name="LogHandler" c:type="GExiv2LogHandler">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="45">The log handler can be set by gexiv2_log_set_handler().  When set, the log handler will receive
all log messages emitted by Exiv2 and gexiv2.  It's up to the handler to decide where (and if)
the images are displayed or stored.</doc>
      <source-position filename="gexiv2/gexiv2-log.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="level" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-log.h"
               line="47">The #GExiv2LogLevel for the particular message</doc>
          <type name="LogLevel" c:type="GExiv2LogLevel"/>
        </parameter>
        <parameter name="msg" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-log.h"
               line="48">The log message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="LogLevel"
                 glib:type-name="GExiv2LogLevel"
                 glib:get-type="gexiv2_gexiv2_log_level_get_type"
                 c:type="GExiv2LogLevel">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="27">GExiv2 log levels</doc>
      <member name="debug"
              value="0"
              c:identifier="GEXIV2_LOG_LEVEL_DEBUG"
              glib:nick="debug"
              glib:name="GEXIV2_LOG_LEVEL_DEBUG">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="29">Log level for debugging</doc>
      </member>
      <member name="info"
              value="1"
              c:identifier="GEXIV2_LOG_LEVEL_INFO"
              glib:nick="info"
              glib:name="GEXIV2_LOG_LEVEL_INFO">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="30">Log level for informational messages</doc>
      </member>
      <member name="warn"
              value="2"
              c:identifier="GEXIV2_LOG_LEVEL_WARN"
              glib:nick="warn"
              glib:name="GEXIV2_LOG_LEVEL_WARN">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="31">Log level for warning messages</doc>
      </member>
      <member name="error"
              value="3"
              c:identifier="GEXIV2_LOG_LEVEL_ERROR"
              glib:nick="error"
              glib:name="GEXIV2_LOG_LEVEL_ERROR">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="32">Log level for error messages</doc>
      </member>
      <member name="mute"
              value="4"
              c:identifier="GEXIV2_LOG_LEVEL_MUTE"
              glib:nick="mute"
              glib:name="GEXIV2_LOG_LEVEL_MUTE">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="33">Suppress all log messages</doc>
      </member>
    </enumeration>
    <constant name="MAJOR_VERSION" value="0" c:type="GEXIV2_MAJOR_VERSION">
      <source-position filename="gexiv2/gexiv2-version.h" line="14"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="METADATA"
                    c:identifier="GEXIV2_METADATA"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="126"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="METADATA_CLASS"
                    c:identifier="GEXIV2_METADATA_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="132"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="METADATA_GET_CLASS"
                    c:identifier="GEXIV2_METADATA_GET_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="138"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="MICRO_VERSION" value="6" c:type="GEXIV2_MICRO_VERSION">
      <source-position filename="gexiv2/gexiv2-version.h" line="16"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="14" c:type="GEXIV2_MINOR_VERSION">
      <source-position filename="gexiv2/gexiv2-version.h" line="15"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Metadata"
           c:symbol-prefix="metadata"
           c:type="GExiv2Metadata"
           parent="GObject.Object"
           glib:type-name="GExiv2Metadata"
           glib:get-type="gexiv2_metadata_get_type"
           glib:type-struct="MetadataClass">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="233">An object holding all the Exiv2 metadata.  Previews, if present, are also available.

As gexiv2 is only a wrapper around Exiv2, it's better to read its documentation to understand
the full scope of what it offers: &lt;ulink url="http://www.exiv2.org/"&gt;&lt;/ulink&gt;

In particular, rather than providing a getter/setter method pair for every metadata value
available for images (of which there are thousands), Exiv2 uses a dotted addressing scheme.
For example, to access a photo's EXIF Orientation field, the caller passes to Exiv2
"Exif.Photo.Orientation".  These &lt;emphasis&gt;tags&lt;/emphasis&gt; (in Exiv2 parlance) are key to using Exiv2 (and
therefore gexiv2) to its fullest.

A full reference for all supported Exiv2 tags can be found at
&lt;ulink url="http://www.exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
      <source-position filename="gexiv2/gexiv2-metadata.h" line="267"/>
      <constructor name="new" c:identifier="gexiv2_metadata_new">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="278"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="276">A fully constructed #GExiv2Metadata ready to be used</doc>
          <type name="Metadata" c:type="GExiv2Metadata*"/>
        </return-value>
      </constructor>
      <function name="get_tag_description"
                c:identifier="gexiv2_metadata_get_tag_description"
                deprecated="1"
                deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="542">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_description() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="553"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="548">The tag's description</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="544">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag_label"
                c:identifier="gexiv2_metadata_get_tag_label"
                deprecated="1"
                deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="516">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_label() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="527"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="522">The tag's label</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="518">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag_type"
                c:identifier="gexiv2_metadata_get_tag_type"
                deprecated="1"
                deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="571">The names of the various Exiv2 tag types can be found at Exiv2::TypeId,
&lt;ulink url="http://exiv2.org/doc/namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c"&gt;&lt;/ulink&gt;

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_type() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="585"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="580">The tag's type name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="573">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_xmp_namespace_for_tag"
                c:identifier="gexiv2_metadata_get_xmp_namespace_for_tag"
                version="0.12.2"
                deprecated="1"
                deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_xmp_namespace_for_tag() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1324"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1317">%NULL if there was no namespace registered for the tag, the URI of the namespace otherwise.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1315">Full tag name (e.g. "Xmp.dc.subject") or XMP namespace identifier (e.g. "dc")</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_exif_tag" c:identifier="gexiv2_metadata_is_exif_tag">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="473">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="481"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="479">TRUE if the Exiv2 tag is for the EXIF domain.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="475">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_iptc_tag" c:identifier="gexiv2_metadata_is_iptc_tag">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="483">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="491"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="489">TRUE if the Exiv2 tag is for the IPTC domain.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="485">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_xmp_tag" c:identifier="gexiv2_metadata_is_xmp_tag">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="493">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="501"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="499">TRUE if the Exiv2 tag is for the XMP domain.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="495">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="register_xmp_namespace"
                c:identifier="gexiv2_metadata_register_xmp_namespace"
                deprecated="1"
                deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_register_xmp_namespace() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1261"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1256">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1253">XMP URI name (should end in /)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1254">XMP namespace prefix</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_get_tag_description"
                c:identifier="gexiv2_metadata_try_get_tag_description"
                version="0.12.2"
                throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="529">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="540"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="536">The tag's description</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="531">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_get_tag_label"
                c:identifier="gexiv2_metadata_try_get_tag_label"
                version="0.12.2"
                throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="503">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="514"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="510">The tag's label</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="505">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_get_tag_type"
                c:identifier="gexiv2_metadata_try_get_tag_type"
                version="0.12.2"
                throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="555">The names of the various Exiv2 tag types can be found at Exiv2::TypeId,
&lt;ulink url="http://exiv2.org/doc/namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c"&gt;&lt;/ulink&gt;

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="569"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="565">The tag's type name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="557">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_get_xmp_namespace_for_tag"
                c:identifier="gexiv2_metadata_try_get_xmp_namespace_for_tag"
                version="0.14.0"
                throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1335"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1331">%NULL if there was no namespace registered for the tag, the URI of the namespace otherwise.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1328">Full tag name (e.g. "Xmp.dc.subject") or XMP namespace identifier (e.g. "dc")</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_register_xmp_namespace"
                c:identifier="gexiv2_metadata_try_register_xmp_namespace"
                version="0.14.0"
                throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1273"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1269">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1265">XMP URI name (should end in /)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1266">XMP namespace prefix</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="try_unregister_all_xmp_namespaces"
                c:identifier="gexiv2_metadata_try_unregister_all_xmp_namespaces"
                version="0.14.0"
                throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1311"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="try_unregister_xmp_namespace"
                c:identifier="gexiv2_metadata_try_unregister_xmp_namespace"
                version="0.14.0"
                throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1295"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1291">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1288">XMP URI name (should end in /)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unregister_all_xmp_namespaces"
                c:identifier="gexiv2_metadata_unregister_all_xmp_namespaces"
                deprecated="1"
                deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_unregister_all_xmp_namespaces() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1303"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="unregister_xmp_namespace"
                c:identifier="gexiv2_metadata_unregister_xmp_namespace"
                deprecated="1"
                deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_unregister_xmp_namespace() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1284"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1279">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1277">XMP URI name (should end in /)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="clear" c:identifier="gexiv2_metadata_clear">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="465">Removes all tags for all domains (EXIF, IPTC, and XMP).</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="471"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="467">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_comment"
              c:identifier="gexiv2_metadata_clear_comment">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1621">This is a composite clear method that will clear a number of fields.  See
#gexiv2_metadata_get_comment for more information.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1628"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1623">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_exif" c:identifier="gexiv2_metadata_clear_exif">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="999">Clears all EXIF metadata from the loaded image.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1005"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1001">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_iptc" c:identifier="gexiv2_metadata_clear_iptc">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1347">Clears all IPTC metadata from the loaded image.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1353"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1349">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_tag"
              c:identifier="gexiv2_metadata_clear_tag"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="433">Removes the Exiv2 tag from the metadata object.

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_clear_tag() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="447"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="442">TRUE if the tag was present.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="435">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="436">Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_xmp" c:identifier="gexiv2_metadata_clear_xmp">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1183">Clears all XMP metadata from the loaded image.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1189"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1185">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="delete_gps_info"
              c:identifier="gexiv2_metadata_delete_gps_info"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1947">Removes all GPS metadata from the loaded image</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_delete_gps_info() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1956"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1949">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="erase_exif_thumbnail"
              c:identifier="gexiv2_metadata_erase_exif_thumbnail"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1136">Removes the EXIF thumbnail from the loaded image.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_erase_exif_thumbnail() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1138">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="gexiv2_metadata_free"
              deprecated="1"
              deprecated-version="0.10.3">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="280">Destroys the #GExiv2Metadata object and frees all associated memory.</doc>
        <doc-deprecated xml:space="preserve">Use g_object_unref() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="289"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="282">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="from_app1_segment"
              c:identifier="gexiv2_metadata_from_app1_segment"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="347">Load only an EXIF buffer, typically stored in a JPEG's APP1 segment.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="359"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="356">Boolean success indicator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="349">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="350">A buffer containing the data to be read</doc>
            <array length="1" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="n_data" transfer-ownership="none" skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="351">The length of the buffer</doc>
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </method>
      <method name="from_stream"
              c:identifier="gexiv2_metadata_from_stream"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="338">This function does not work and will be removed in a future release.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="345"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_xmp_packet"
              c:identifier="gexiv2_metadata_generate_xmp_packet"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1206">Encode the XMP packet as a %NULL-terminated string.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_generate_xmp_packet() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1219"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1214">Encode the XMP packet and return as a %NULL-terminated string.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1208">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="xmp_format_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1209">One of #GExiv2XmpFormatFlags</doc>
            <type name="XmpFormatFlags" c:type="GExiv2XmpFormatFlags"/>
          </parameter>
          <parameter name="padding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1210">The padding (FIXME: Add documentation)</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_comment"
              c:identifier="gexiv2_metadata_get_comment"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1529">A composite accessor that uses the first available metadata field from a list of well-known
locations to find the photo's comment (or description).

MWG guidelines refer to these as &lt;emphasis&gt;Description&lt;/emphasis&gt;: a textual description of a resource's content.

These fields are:

- Exif.Image.ImageDescription  (MWG Guidelines)
- Exif.Photo.UserComment
- Exif.Image.XPComment
- Iptc.Application2.Caption    (MWG Guidelines)
- Xmp.dc.description           (MWG Guidelines)
- Xmp.acdsee.notes             (Commonly requested, read only)

&lt;note&gt;Note that in the EXIF specification Exif.Image.ImageDescription is
described  as "the title of the image".  Also, it does not support
two-byte character codes for encoding.  However, it's still used here for legacy reasons.
&lt;/note&gt;

For fine-grained control, it's recommended to use Exiv2 tags directly rather than this method,
which is more useful for quick or casual use.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_comment() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1560"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1555">The photo's comment field.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1531">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_exif_data"
              c:identifier="gexiv2_metadata_get_exif_data"
              version="0.12.2"
              throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1169"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1164">The content of the EXIF data or %NULL on error</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1160">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="byte_order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1161">Whether to export the data in little or big endian format</doc>
            <type name="ByteOrder" c:type="GExiv2ByteOrder"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_exif_tag_rational"
              c:identifier="gexiv2_metadata_get_exif_tag_rational"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1052">Fetch EXIF @tag represented by a fraction. @nom will contain the numerator,
@den the denominator of the fraction on successful return.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_exif_tag_rational() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1067"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1062">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1054">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1055">The tag you want the rational value for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="nom"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1056">The numerator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="den"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1057">The denominator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_exif_tags"
              c:identifier="gexiv2_metadata_get_exif_tags">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1007">Query @self for a list of available EXIF tags</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1016"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1013">A unique list of the available EXIF tags in the
loaded image</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1009">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_exif_thumbnail"
              c:identifier="gexiv2_metadata_get_exif_thumbnail">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1086">Get the thumbnail stored in the EXIF data of @self</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1096"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1094">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1088">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="buffer"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1089">Where to store the thumbnail data</doc>
            <array length="1" zero-terminated="0" c:type="guint8**">
              <type name="guint8" c:type="guint8*"/>
            </array>
          </parameter>
          <parameter name="size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1090">Size of the thumbnail's buffer</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_exposure_time"
              c:identifier="gexiv2_metadata_get_exposure_time"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1630">Returns the exposure time in seconds (shutter speed, &lt;emphasis&gt;not&lt;/emphasis&gt; date-time of exposure) as a
rational.  See &lt;ulink url="https://en.wikipedia.org/wiki/Shutter_speed"&gt;&lt;/ulink&gt; for more information.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_exposure_time() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1644"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1639">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1632">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="nom"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1633">The numerator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="den"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1634">The denominator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_fnumber"
              c:identifier="gexiv2_metadata_get_fnumber"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1662">See &lt;ulink url="https://en.wikipedia.org/wiki/F-number"&gt;&lt;/ulink&gt; for more information.
If Exif.Photo.FNumber does not exist, it will fall back to calculating the FNumber from
Exif.Photo.ApertureValue (if available);</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_fnumber() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1675"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1670">The exposure Fnumber as a gdouble, or -1.0 if tag is not present or invalid.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1664">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_focal_length"
              c:identifier="gexiv2_metadata_get_focal_length"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1692">See &lt;ulink url="https://en.wikipedia.org/wiki/Flange_focal_distance"&gt;&lt;/ulink&gt; for more information.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_focal_length() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1703"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1698">The focal length as a gdouble, or -1.0 if tag is not present or invalid.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1694">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gps_altitude"
              c:identifier="gexiv2_metadata_get_gps_altitude"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1819">Convenience function to query the altitude stored in the GPS tags of the
image</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_gps_altitude() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1832"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1827">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1821">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="altitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1822">Variable to store the altitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gps_info"
              c:identifier="gexiv2_metadata_get_gps_info"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1850">Convenience function to query all available GPS information at once.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_gps_info() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1864"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1859">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1852">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1853">Storage for longitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1854">Storage for latitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="altitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1855">Storage for altitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gps_latitude"
              c:identifier="gexiv2_metadata_get_gps_latitude"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1805">Query the latitude stored in the GPS tags of @self</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_gps_latitude() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1817"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1812">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1807">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1808">Variable to store the latitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gps_longitude"
              c:identifier="gexiv2_metadata_get_gps_longitude"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1791">Query the longitude stored in the GPS tags of @self</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_gps_longitude() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1803"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1798">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1793">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1794">Variable to store the longitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_iptc_tags"
              c:identifier="gexiv2_metadata_get_iptc_tags">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1355">Query @self for a list of available IPTC tags</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1363"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1361">A unique list of the available IPTC tags</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1357">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_iso_speed"
              c:identifier="gexiv2_metadata_get_iso_speed"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1718">See &lt;ulink url="https://en.wikipedia.org/wiki/Iso_speed"&gt;&lt;/ulink&gt; for more information.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_iso_speed() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1729"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1724">The ISO speed rating as a gint, or 0 if tag is not present or invalid.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1720">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata_pixel_height"
              c:identifier="gexiv2_metadata_get_metadata_pixel_height"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1451">Composite accessor to query the pixel with stored in the metadata. This
might differ from the height of image that is available through
gexiv2_metadata_get_pixel_height()</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_metadata_pixel_height() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1464"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1459">Height of images in pixels as stored in the metadata</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1453">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata_pixel_width"
              c:identifier="gexiv2_metadata_get_metadata_pixel_width"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1421">Composite accessor to query the pixel with stored in the metadata. This
might differ from the width of image that is available through
gexiv2_metadata_get_pixel_width()</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_metadata_pixel_width() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1434"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1429">Width of images in pixels as stored in the metadata</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1423">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="gexiv2_metadata_get_mime_type">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="636">Query mime type of currently loaded image.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="644"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="642">The MIME type of the loaded image, %NULL if not loaded or unknown.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="638">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="gexiv2_metadata_get_orientation"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1369">The EXIF Orientation field</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_orientation() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1381"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1375">A #GExiv2Orientation value representing the EXIF orientation
value.</doc>
          <type name="Orientation" c:type="GExiv2Orientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1371">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixel_height"
              c:identifier="gexiv2_metadata_get_pixel_height">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="658">Get the &lt;emphasis&gt;actual&lt;/emphasis&gt; unoriented display height in pixels of the loaded image.  This may
be different than the height reported by various metadata tags, i.e. "Exif.Photo.PixelYDimension".</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="667"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="665">Pixel height of current image</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="660">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixel_width"
              c:identifier="gexiv2_metadata_get_pixel_width">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="646">Get the &lt;emphasis&gt;actual&lt;/emphasis&gt; unoriented display width in pixels of the loaded
image. May be different than the width reported by various metadata tags,
i.e. "Exif.Photo.PixelXDimension".</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="656"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="654">Pixel width of current image</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="648">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_preview_image"
              c:identifier="gexiv2_metadata_get_preview_image"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_preview_image() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1987"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1981">A #GExiv2PreviewImage instance for the particular
#GExiv2PreviewProperties.</doc>
          <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1978">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="props" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1979">A #GExiv2PreviewProperties instance</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preview_properties"
              c:identifier="gexiv2_metadata_get_preview_properties">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1962">An image may have stored one or more previews, often of different qualities, sometimes of
different image formats than the containing image.  This call returns the properties of all
previews Exiv2 finds within the loaded image.  Use #gexiv2_metadata_get_preview_image to
load a particular preview into memory.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1974"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1971">An array of
#GExiv2PreviewProperties instances, one for each preview present in the loaded image.</doc>
          <array c:type="GExiv2PreviewProperties**">
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1964">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_supports_exif"
              c:identifier="gexiv2_metadata_get_supports_exif">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="606">Query @self whether it supports writing EXIF metadata.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="614"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="612">%TRUE if the loaded image type supports writing EXIF metadata.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="608">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_supports_iptc"
              c:identifier="gexiv2_metadata_get_supports_iptc">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="616">Query @self whether it supports writing IPTC metadata.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="624"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="622">%TRUE if the loaded image type supports writing IPTC metadata.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="618">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_supports_xmp"
              c:identifier="gexiv2_metadata_get_supports_xmp">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="626">Query @self whether it supports writing XMP metadata.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="634"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="632">%TRUE if the loaded image type supports writing XMP metadata.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="628">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tag_interpreted_string"
              c:identifier="gexiv2_metadata_get_tag_interpreted_string"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="794">An interpreted string is one fit for user display.  It may display units or use formatting
appropriate to the type of data the tag holds.

Tags that support multiple values are returned as a single string, with elements separated by ", ".

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_interpreted_string() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="811"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="806">The tag's interpreted value as a string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="796">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="797">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tag_long"
              c:identifier="gexiv2_metadata_get_tag_long"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="827">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_long() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="839"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="834">The tag's value as a glong</doc>
          <type name="glong" c:type="glong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="829">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="830">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tag_multiple"
              c:identifier="gexiv2_metadata_get_tag_multiple"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="907">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

In case of error, a GLib warning will be logged. Use instead
gexiv2_metadata_try_get_tag_multiple() if you want to avoid this and
control if and how the error is outputted.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_multiple() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="928"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="918">The multiple string values of
the tag.  Returns %NULL if parameters are %NULL or @tag does not begin with recognised type of
metadata ("Exif.", "Xmp." or "Iptc.").  For a well formed @tag, returns array[0] = %NULL if @tag
is undefined or is not set in the current metadata.
(Note: &lt;ulink url="https://gitlab.gnome.org/GNOME/gexiv2/-/issues/61"&gt;xmpText/langAlt bug&lt;/ulink&gt;
 is fixed in gexiv2_metadata_try_get_tag_multiple())</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="909">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="910">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tag_raw"
              c:identifier="gexiv2_metadata_get_tag_raw"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="970">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

Tags that support multiple values may bereturned as a single byte array, with records separated
by 4x INFORMATION SEPARATOR FOUR (ASCII 0x1c)</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_raw() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="985"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="980">The tag's raw value as a byte array</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="972">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="973">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tag_string"
              c:identifier="gexiv2_metadata_get_tag_string"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="703">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

Tags that support multiple values are returned as a single string, with elements separated by ", ".

In case of error, a GLib warning will be logged. Use instead
gexiv2_metadata_try_get_tag_string() if you want to avoid this and
control if and how the error is outputted.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_tag_string() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="721"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="716">The tag's value as a string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="705">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="706">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_xmp_packet"
              c:identifier="gexiv2_metadata_get_xmp_packet"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_get_xmp_packet() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1241"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1236">The currently-encoded XMP packet (see gexiv2_metadata_generate_xmp_packet).</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1234">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmp_tags" c:identifier="gexiv2_metadata_get_xmp_tags">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1249"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1247">A unique list of the available XMP tags</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1245">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_exif" c:identifier="gexiv2_metadata_has_exif">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="997"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="995">TRUE if EXIF metadata is present in the loaded image</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="993">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_iptc" c:identifier="gexiv2_metadata_has_iptc">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1345"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1343">TRUE if IPTC metadata is present in the loaded image</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1341">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_tag"
              c:identifier="gexiv2_metadata_has_tag"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="405">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_has_tag() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="417"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="412">TRUE if the tag is present.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="407">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="408">Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_xmp" c:identifier="gexiv2_metadata_has_xmp">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1181"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1179">TRUE if XMP metadata is present in the loaded image</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1177">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_buf"
              c:identifier="gexiv2_metadata_open_buf"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="305">The buffer must be an image format supported by Exiv2.

When called on an already filled meta-data object (i.e. one that has already
been filled by a previous call of [method@GExiv2.Metadata.open_path]) and the
opening of the new path fails, the object will not revert to its previous
state but be in a similar state after calling [method@GExiv2.Metadata.new].</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="322"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="319">Boolean success indicator</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="307">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="308">A buffer containing the data to be read</doc>
            <array length="1" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="n_data" transfer-ownership="none" skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="309">The length of the buffer</doc>
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_path"
              c:identifier="gexiv2_metadata_open_path"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="291">The file must be an image format supported by Exiv2.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="303"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="299">Boolean success indicator</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="293">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="294">Path to the file you want to open</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_stream"
              c:identifier="gexiv2_metadata_open_stream"
              introspectable="0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="324">The stream must be an image format supported by Exiv2.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="336"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="332">Boolean success indicator</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="326">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="cb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="327">A #ManagedStreamCallbacks struct offering stream access.</doc>
            <type c:type="ManagedStreamCallbacks*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_external"
              c:identifier="gexiv2_metadata_save_external"
              version="0.10.6"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="361">Saves the metadata to the specified using an XMP sidecar file.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="374"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="369">Boolean success indicator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="363">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="364">Path to the file you want to save to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_file"
              c:identifier="gexiv2_metadata_save_file"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="376">Saves the metadata to the specified file by reading the file into memory,copying this object's
metadata into the image, then writing the image back out.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="388"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="385">Boolean success indicator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="378">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="379">Path to the file you want to save to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_stream"
              c:identifier="gexiv2_metadata_save_stream"
              introspectable="0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="390">Saves the metadata to the stream by reading the stream into memory,copying this object's
metadata into the image, then writing the image as a stream back out.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="403"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="399">Boolean success indicator.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="392">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="cb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="393">A #ManagedStreamCallbacks struct offering stream access.</doc>
            <type c:type="ManagedStreamCallbacks*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_comment"
              c:identifier="gexiv2_metadata_set_comment"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1595">This is a composite setter that will set a number of fields to the supplied value.  See
#gexiv2_metadata_get_comment for more information.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_comment() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1606"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1597">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="comment" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1598">Comment string to set. Must not be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_exif_tag_rational"
              c:identifier="gexiv2_metadata_set_exif_tag_rational"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1069">Set EXIF @tag represented by a fraction, with @nom being the numerator,
@den the denominator of the fraction.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_exif_tag_rational() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1084"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1079">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1071">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1072">The Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="nom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1073">Rational numerator</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="den" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1074">Rational denominator</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_exif_thumbnail_from_buffer"
              c:identifier="gexiv2_metadata_set_exif_thumbnail_from_buffer"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_exif_thumbnail_from_buffer() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1113">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1114">A buffer containing thumbnail data</doc>
            <array length="1" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="size" transfer-ownership="none" skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1115">Size of the thumbnail's buffer</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_exif_thumbnail_from_file"
              c:identifier="gexiv2_metadata_set_exif_thumbnail_from_file"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1098">Sets or replaces the EXIF thumbnail with the image in the file</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1106">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1100">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1101">Path of image file</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gps_info"
              c:identifier="gexiv2_metadata_set_gps_info"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1884">Convenience function to create a new set of simple GPS data. Warning: Will remove any other
GPS information that is currently set. See gexiv2_metadata_update_gps_info() for
just modifying the GPS data.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_gps_info() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1900"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1895">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1886">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1887">Longitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1888">Latitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="altitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1889">Altitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata_pixel_height"
              c:identifier="gexiv2_metadata_set_metadata_pixel_height"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1505">Update the image's metadata with @height</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_metadata_pixel_height() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1515"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1507">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1508">The width of the image as it should be put into the metadata.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata_pixel_width"
              c:identifier="gexiv2_metadata_set_metadata_pixel_width"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1481">Composite setter to update the image's metadata with @width</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_metadata_pixel_width() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1491"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1483">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1484">The width of the image as it should be put into the metadata</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="gexiv2_metadata_set_orientation"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1397">The orientation must be valid and cannot be #GEXIV2_ORIENTATION_UNSPECIFIED.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_orientation() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1407"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1399">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1400">The new #GExiv2Orientation for the image.</doc>
            <type name="Orientation" c:type="GExiv2Orientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag_long"
              c:identifier="gexiv2_metadata_set_tag_long"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="856">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_tag_long() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="869"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="864">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="858">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="859">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="860">The value to set or replace the existing value</doc>
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag_multiple"
              c:identifier="gexiv2_metadata_set_tag_multiple"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="930">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

All previous @tag values are erased. For multiple value tags, each of the non %NULL
entries in @values is stored. For single value tags, only the last non %NULL value
is assigned.

In case of error, a GLib warning will be logged. Use instead
gexiv2_metadata_try_set_tag_multiple() if you want to avoid this and
control if and how the error is outputted.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_tag_multiple() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="951"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="946">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="932">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="933">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="934">An array of values to set or replace the existing value(s)</doc>
            <array c:type="const gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag_string"
              c:identifier="gexiv2_metadata_set_tag_string"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="723">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

If a tag supports multiple values, then @value is added to any existing values. For single
value tags, @value replaces the value.

In case of error, a GLib warning will be logged. Use instead
gexiv2_metadata_try_set_tag_string() if you want to avoid this and
control if and how the error is outputted.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_tag_string() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="743"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="738">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="725">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="726">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="727">The value to set or replace the existing value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_xmp_tag_struct"
              c:identifier="gexiv2_metadata_set_xmp_tag_struct"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="760">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_set_xmp_tag_struct() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="773"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="768">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="762">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="763">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="764">The GExiv2StructureType specifying the type of structure</doc>
            <type name="StructureType" c:type="GExiv2StructureType"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_clear_tag"
              c:identifier="gexiv2_metadata_try_clear_tag"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="449">Removes the Exiv2 tag from the metadata object.

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="463"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="459">TRUE if the tag was present.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="451">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="452">Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_delete_gps_info"
              c:identifier="gexiv2_metadata_try_delete_gps_info"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1936">Removes all GPS metadata from the loaded image</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1945"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1938">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_erase_exif_thumbnail"
              c:identifier="gexiv2_metadata_try_erase_exif_thumbnail"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1147">Removes the EXIF thumbnail from the loaded image.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1149">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_generate_xmp_packet"
              c:identifier="gexiv2_metadata_try_generate_xmp_packet"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1191">Encode the XMP packet as a %NULL-terminated string.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1204"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1200">Encode the XMP packet and return as a %NULL-terminated string.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1193">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="xmp_format_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1194">One of #GExiv2XmpFormatFlags</doc>
            <type name="XmpFormatFlags" c:type="GExiv2XmpFormatFlags"/>
          </parameter>
          <parameter name="padding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1195">The padding (FIXME: Add documentation)</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_comment"
              c:identifier="gexiv2_metadata_try_get_comment"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1562">A composite accessor that uses the first available metadata field from a list of well-known
locations to find the photo's comment (or description).

MWG guidelines refer to these as &lt;emphasis&gt;Description&lt;/emphasis&gt;: a textual description of a resource's content.

These fields are:

- Exif.Image.ImageDescription  (MWG Guidelines)
- Exif.Photo.UserComment
- Exif.Image.XPComment
- Iptc.Application2.Caption    (MWG Guidelines)
- Xmp.dc.description           (MWG Guidelines)
- Xmp.acdsee.notes             (Commonly requested, read only)

&lt;note&gt;Note that in the EXIF specification Exif.Image.ImageDescription is
described  as "the title of the image".  Also, it does not support
two-byte character codes for encoding.  However, it's still used here for legacy reasons.
&lt;/note&gt;

For fine-grained control, it's recommended to use Exiv2 tags directly rather than this method,
which is more useful for quick or casual use.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1593"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1589">The photo's comment field.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1564">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_exif_tag_rational"
              c:identifier="gexiv2_metadata_try_get_exif_tag_rational"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1018">Fetch EXIF @tag represented by a fraction. @nom will contain the numerator,
@den the denominator of the fraction on successful return.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1033"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1029">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1020">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1021">The tag you want the rational value for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="nom"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1022">The numerator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="den"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1023">The denominator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_exposure_time"
              c:identifier="gexiv2_metadata_try_get_exposure_time"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1646">Returns the exposure time in seconds (shutter speed, &lt;emphasis&gt;not&lt;/emphasis&gt; date-time of exposure) as a
rational.  See &lt;ulink url="https://en.wikipedia.org/wiki/Shutter_speed"&gt;&lt;/ulink&gt; for more information.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1660"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1656">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1648">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="nom"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1649">The numerator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="den"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1650">The denominator</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_fnumber"
              c:identifier="gexiv2_metadata_try_get_fnumber"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1677">See &lt;ulink url="https://en.wikipedia.org/wiki/F-number"&gt;&lt;/ulink&gt; for more information.
If Exif.Photo.FNumber does not exist, it will fall back to calculating the FNumber from
Exif.Photo.ApertureValue (if available);</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1690"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1686">The exposure Fnumber as a gdouble, or -1.0 if tag is not present or invalid.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1679">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_focal_length"
              c:identifier="gexiv2_metadata_try_get_focal_length"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1705">See &lt;ulink url="https://en.wikipedia.org/wiki/Flange_focal_distance"&gt;&lt;/ulink&gt; for more information.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1716"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1712">The focal length as a gdouble, or -1.0 if tag is not present or invalid.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1707">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_gps_altitude"
              c:identifier="gexiv2_metadata_try_get_gps_altitude"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1776">Convenience function to query the altitude stored in the GPS tags of the
image</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1789"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1785">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1778">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="altitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1779">Variable to store the altitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_gps_info"
              c:identifier="gexiv2_metadata_try_get_gps_info"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1834">Convenience function to query all available GPS information at once.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1848"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1844">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1836">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1837">Storage for longitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1838">Storage for latitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="altitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1839">Storage for altitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_gps_latitude"
              c:identifier="gexiv2_metadata_try_get_gps_latitude"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1762">Query the latitude stored in the GPS tags of @self</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1774"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1770">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1764">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1765">Variable to store the latitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_gps_longitude"
              c:identifier="gexiv2_metadata_try_get_gps_longitude"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1748">Query the longitude stored in the GPS tags of @self</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1760"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1756">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1750">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1751">Variable to store the longitude value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_iso_speed"
              c:identifier="gexiv2_metadata_try_get_iso_speed"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1731">See &lt;ulink url="https://en.wikipedia.org/wiki/Iso_speed"&gt;&lt;/ulink&gt; for more information.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1742"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1738">The ISO speed rating as a gint, or 0 if tag is not present or invalid.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1733">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_metadata_pixel_height"
              c:identifier="gexiv2_metadata_try_get_metadata_pixel_height"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1466">Composite accessor to query the pixel with stored in the metadata. This
might differ from the height of image that is available through
gexiv2_metadata_get_pixel_height()</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1479"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1475">Height of images in pixels as stored in the metadata</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1468">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_metadata_pixel_width"
              c:identifier="gexiv2_metadata_try_get_metadata_pixel_width"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1436">Composite accessor to query the pixel with stored in the metadata. This
might differ from the width of image that is available through
gexiv2_metadata_get_pixel_width()</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1449"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1445">Width of images in pixels as stored in the metadata</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1438">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_orientation"
              c:identifier="gexiv2_metadata_try_get_orientation"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1383">The EXIF Orientation field</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1395"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1390">A #GExiv2Orientation value representing the EXIF orientation
value.</doc>
          <type name="Orientation" c:type="GExiv2Orientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1385">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_get_preview_image"
              c:identifier="gexiv2_metadata_try_get_preview_image"
              version="0.14.0"
              throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="2000"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1995">A #GExiv2PreviewImage instance for the particular
#GExiv2PreviewProperties.</doc>
          <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1991">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="props" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1992">A #GExiv2PreviewProperties instance</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_tag_interpreted_string"
              c:identifier="gexiv2_metadata_try_get_tag_interpreted_string"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="775">An interpreted string is one fit for user display.  It may display units or use formatting
appropriate to the type of data the tag holds.

Tags that support multiple values are returned as a single string, with elements separated by ", ".

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="792"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="788">The tag's interpreted value as a string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="777">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="778">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_tag_long"
              c:identifier="gexiv2_metadata_try_get_tag_long"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="813">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="825"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="821">The tag's value as a glong</doc>
          <type name="glong" c:type="glong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="815">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="816">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_tag_multiple"
              c:identifier="gexiv2_metadata_try_get_tag_multiple"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="871">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="886"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="879">The multiple string values of
@tag.  Returns %NULL if parameters are %NULL or @tag does not begin with recognised type of
metadata ("Exif.", "Xmp." or "Iptc.").  For a well formed @tag, returns array[0] = %NULL if @tag
is undefined or is not set in the current metadata.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="873">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="874">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_tag_raw"
              c:identifier="gexiv2_metadata_try_get_tag_raw"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="953">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

Tags that support multiple values may be returned as a single byte array, with records separated
by 4x INFORMATION SEPARATOR FOUR (ASCII 0x1c)</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="968"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="964">The tag's raw value as a byte array</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="955">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="956">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_tag_string"
              c:identifier="gexiv2_metadata_try_get_tag_string"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="669">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

Tags that support multiple values are returned as a single string, with elements separated by ", ".</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="683"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="679">The tag's value as a string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="671">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="672">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_get_xmp_packet"
              c:identifier="gexiv2_metadata_try_get_xmp_packet"
              version="0.12.2"
              throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1230"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1226">The currently-encoded XMP packet (see gexiv2_metadata_generate_xmp_packet).</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1223">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_has_tag"
              c:identifier="gexiv2_metadata_try_has_tag"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="419">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="431"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="427">TRUE if the tag is present.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="421">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="422">Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_comment"
              c:identifier="gexiv2_metadata_try_set_comment"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1608">This is a composite setter that will set a number of fields to the supplied value.  See
#gexiv2_metadata_get_comment for more information.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1619"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1610">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="comment" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1611">Comment string to set. Must not be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_exif_tag_rational"
              c:identifier="gexiv2_metadata_try_set_exif_tag_rational"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1035">Set EXIF @tag represented by a fraction, with @nom being the numerator,
@den the denominator of the fraction.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1050"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1046">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1037">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1038">The Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="nom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1039">Rational numerator</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="den" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1040">Rational denominator</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_exif_thumbnail_from_buffer"
              c:identifier="gexiv2_metadata_try_set_exif_thumbnail_from_buffer"
              version="0.14.0"
              throws="1">
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1124">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1125">A buffer containing thumbnail data</doc>
            <array length="1" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="size" transfer-ownership="none" skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1126">Size of the thumbnail's buffer</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_gps_info"
              c:identifier="gexiv2_metadata_try_set_gps_info"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1866">Convenience function to create a new set of simple GPS data. Warning: Will remove any other
GPS information that is currently set. See gexiv2_metadata_update_gps_info() for
just modifying the GPS data.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1882"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1878">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1868">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1869">Longitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1870">Latitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="altitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1871">Altitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_metadata_pixel_height"
              c:identifier="gexiv2_metadata_try_set_metadata_pixel_height"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1517">Update the image's metadata with @height</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1527"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1519">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1520">The width of the image as it should be put into the metadata.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_metadata_pixel_width"
              c:identifier="gexiv2_metadata_try_set_metadata_pixel_width"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1493">Composite setter to update the image's metadata with @width</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1503"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1495">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1496">The width of the image as it should be put into the metadata</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_orientation"
              c:identifier="gexiv2_metadata_try_set_orientation"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1409">The orientation must be valid and cannot be #GEXIV2_ORIENTATION_UNSPECIFIED.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1419"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1411">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1412">The new #GExiv2Orientation for the image.</doc>
            <type name="Orientation" c:type="GExiv2Orientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_tag_long"
              c:identifier="gexiv2_metadata_try_set_tag_long"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="841">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="854"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="850">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="843">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="844">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="845">The value to set or replace the existing value</doc>
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_tag_multiple"
              c:identifier="gexiv2_metadata_try_set_tag_multiple"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="888">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

All previous @tag values are erased. For multiple value tags, each of the non %NULL
entries in @values is stored. For single value tags, only the last non %NULL value
is assigned.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="905"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="901">Boolean success value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="890">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="891">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="892">An array of values to set or replace the existing value(s)</doc>
            <array c:type="const gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_tag_string"
              c:identifier="gexiv2_metadata_try_set_tag_string"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="685">If a tag supports multiple values, then @value is added to any existing values. For single
tags, @value replaces the value.

The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="701"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="697">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="687">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="688">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="689">The value to set or replace the existing value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_set_xmp_tag_struct"
              c:identifier="gexiv2_metadata_try_set_xmp_tag_struct"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="745">The Exiv2 Tag Reference can be found at &lt;ulink url="http://exiv2.org/metadata.html"&gt;&lt;/ulink&gt;</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="758"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="754">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="747">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="748">Exiv2 tag name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="749">The GExiv2StructureType specifying the type of structure</doc>
            <type name="StructureType" c:type="GExiv2StructureType"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_tag_supports_multiple_values"
              c:identifier="gexiv2_metadata_try_tag_supports_multiple_values"
              version="0.14.0"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="587">The Exiv2 Tag Reference can be found at &lt;ulink url="https://www.exiv2.org/metadata.html"&gt;&lt;/ulink&gt;

Multiple value tags are Xmp tags of type "XmpAlt", "XmpBag", "XmpSeq" or "LangAlt", or Iptc
tags marked as Repeatable (which can be of any Iptc type). There are no multiple value Exif
tags.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="604"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="599">Whether @tag is capable of storing multiple values or not. If @tag is undefined
(i.e. not built-in and not added to @self), then @error is set and %FALSE is returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="589">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="590">An Exiv2 tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_update_gps_info"
              c:identifier="gexiv2_metadata_try_update_gps_info"
              version="0.12.2"
              throws="1">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1902">Convenience function to update longitude, latitude and altitude at once.</doc>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1916"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1912">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1904">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1905">Longitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1906">Latitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="altitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1907">Altitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_gps_info"
              c:identifier="gexiv2_metadata_update_gps_info"
              version="0.12.1"
              deprecated="1"
              deprecated-version="0.12.2">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="1918">Convenience function to update longitude, latitude and altitude at once.</doc>
        <doc-deprecated xml:space="preserve">Use gexiv2_metadata_try_update_gps_info() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-metadata.h" line="1934"/>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-metadata.h"
               line="1927">Boolean success value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1920">An instance of #GExiv2Metadata</doc>
            <type name="Metadata" c:type="GExiv2Metadata*"/>
          </instance-parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1921">Longitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1922">Latitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="altitude" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-metadata.h"
                 line="1923">Altitude value to set or replace current value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="MetadataPrivate" c:type="GExiv2MetadataPrivate*"/>
      </field>
    </class>
    <record name="MetadataClass"
            c:type="GExiv2MetadataClass"
            glib:is-gtype-struct-for="Metadata">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="267"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MetadataPrivate"
            c:type="GExiv2MetadataPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gexiv2/gexiv2-metadata.h" line="252"/>
    </record>
    <enumeration name="Orientation"
                 glib:type-name="GExiv2Orientation"
                 glib:get-type="gexiv2_gexiv2_orientation_get_type"
                 c:type="GExiv2Orientation">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="143">The orientation of an image is defined as the location of it's x,y origin.  More than rotation,
orientation allows for every variation of rotation, flips, and mirroring to be described in
3 bits of data.

A handy primer to orientation can be found at
&lt;ulink url="http://jpegclub.org/exif_orientation.html"&gt;&lt;/ulink&gt;</doc>
      <member name="unspecified"
              value="0"
              c:identifier="GEXIV2_ORIENTATION_UNSPECIFIED"
              glib:nick="unspecified"
              glib:name="GEXIV2_ORIENTATION_UNSPECIFIED">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="145">The orientation of the image is unknown</doc>
      </member>
      <member name="normal"
              value="1"
              c:identifier="GEXIV2_ORIENTATION_NORMAL"
              glib:nick="normal"
              glib:name="GEXIV2_ORIENTATION_NORMAL">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="146">The orientation of the image is without any rotation.</doc>
      </member>
      <member name="hflip"
              value="2"
              c:identifier="GEXIV2_ORIENTATION_HFLIP"
              glib:nick="hflip"
              glib:name="GEXIV2_ORIENTATION_HFLIP">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="147">The image is flipped on its horizontal axis</doc>
      </member>
      <member name="rot_180"
              value="3"
              c:identifier="GEXIV2_ORIENTATION_ROT_180"
              glib:nick="rot-180"
              glib:name="GEXIV2_ORIENTATION_ROT_180">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="148">The image is rotated by 180 degrees</doc>
      </member>
      <member name="vflip"
              value="4"
              c:identifier="GEXIV2_ORIENTATION_VFLIP"
              glib:nick="vflip"
              glib:name="GEXIV2_ORIENTATION_VFLIP">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="149">The Image is flipped on its vertical axis</doc>
      </member>
      <member name="rot_90_hflip"
              value="5"
              c:identifier="GEXIV2_ORIENTATION_ROT_90_HFLIP"
              glib:nick="rot-90-hflip"
              glib:name="GEXIV2_ORIENTATION_ROT_90_HFLIP">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="150">The image is rotated by 90 degrees clockwise and flipped on its horizontal axis</doc>
      </member>
      <member name="rot_90"
              value="6"
              c:identifier="GEXIV2_ORIENTATION_ROT_90"
              glib:nick="rot-90"
              glib:name="GEXIV2_ORIENTATION_ROT_90">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="151">The image is rotated by 90 degrees clockwise</doc>
      </member>
      <member name="rot_90_vflip"
              value="7"
              c:identifier="GEXIV2_ORIENTATION_ROT_90_VFLIP"
              glib:nick="rot-90-vflip"
              glib:name="GEXIV2_ORIENTATION_ROT_90_VFLIP">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="152">The image is rotated by 90 degrees clockwise and flipped on its vertical axis</doc>
      </member>
      <member name="rot_270"
              value="8"
              c:identifier="GEXIV2_ORIENTATION_ROT_270"
              glib:nick="rot-270"
              glib:name="GEXIV2_ORIENTATION_ROT_270">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="153">The image is rotated 270 degrees clockwise</doc>
      </member>
    </enumeration>
    <function-macro name="PREVIEW_IMAGE"
                    c:identifier="GEXIV2_PREVIEW_IMAGE"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="20"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PREVIEW_IMAGE_CLASS"
                    c:identifier="GEXIV2_PREVIEW_IMAGE_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="26"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PREVIEW_IMAGE_GET_CLASS"
                    c:identifier="GEXIV2_PREVIEW_IMAGE_GET_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PREVIEW_PROPERTIES"
                    c:identifier="GEXIV2_PREVIEW_PROPERTIES"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="20"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PREVIEW_PROPERTIES_CLASS"
                    c:identifier="GEXIV2_PREVIEW_PROPERTIES_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="26"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PREVIEW_PROPERTIES_GET_CLASS"
                    c:identifier="GEXIV2_PREVIEW_PROPERTIES_GET_CLASS"
                    introspectable="0">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="PreviewImage"
           c:symbol-prefix="preview_image"
           c:type="GExiv2PreviewImage"
           parent="GObject.Object"
           glib:type-name="GExiv2PreviewImage"
           glib:get-type="gexiv2_preview_image_get_type"
           glib:type-struct="PreviewImageClass">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="55"/>
      <method name="free"
              c:identifier="gexiv2_preview_image_free"
              deprecated="1"
              deprecated-version="0.10.3">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-preview-image.h"
             line="61">Releases the preview image and all associated memory.</doc>
        <doc-deprecated xml:space="preserve">Use g_object_unref() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="63">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_data" c:identifier="gexiv2_preview_image_get_data">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="80">The raw image data</doc>
          <array length="0" zero-terminated="0" c:type="const guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="77">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
          <parameter name="size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     skip="1">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="78">The size of the buffer holding the data</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_extension"
              c:identifier="gexiv2_preview_image_get_extension">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="96">The preview image's recommended file extension.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="94">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="gexiv2_preview_image_get_height">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="112">The preview image's display height in pixels.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="110">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="gexiv2_preview_image_get_mime_type">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="88">The preview image's MIME type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="86">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="gexiv2_preview_image_get_width">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="104">The preview image's display width in pixels.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="102">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="try_write_file"
              c:identifier="gexiv2_preview_image_try_write_file"
              version="0.14.0"
              throws="1">
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="138"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="134">The number of bytes written to the file.</doc>
          <type name="glong" c:type="glong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="130">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="131">The file path to write the preview image to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_file"
              c:identifier="gexiv2_preview_image_write_file"
              deprecated="1"
              deprecated-version="0.14.0">
        <doc-deprecated xml:space="preserve">Use gexiv2_preview_image_try_write_file() instead.</doc-deprecated>
        <source-position filename="gexiv2/gexiv2-preview-image.h" line="126"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-image.h"
               line="121">The number of bytes written to the file.</doc>
          <type name="glong" c:type="glong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="118">An instance of #GExiv2PreviewImage</doc>
            <type name="PreviewImage" c:type="GExiv2PreviewImage*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-image.h"
                 line="119">The file path to write the preview image to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PreviewImagePrivate" c:type="GExiv2PreviewImagePrivate*"/>
      </field>
    </class>
    <record name="PreviewImageClass"
            c:type="GExiv2PreviewImageClass"
            glib:is-gtype-struct-for="PreviewImage">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="55"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="PreviewImagePrivate"
            c:type="GExiv2PreviewImagePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gexiv2/gexiv2-preview-image.h" line="40"/>
    </record>
    <class name="PreviewProperties"
           c:symbol-prefix="preview_properties"
           c:type="GExiv2PreviewProperties"
           parent="GObject.Object"
           glib:type-name="GExiv2PreviewProperties"
           glib:get-type="gexiv2_preview_properties_get_type"
           glib:type-struct="PreviewPropertiesClass">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="54"/>
      <method name="get_extension"
              c:identifier="gexiv2_preview_properties_get_extension">
        <source-position filename="gexiv2/gexiv2-preview-properties.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-properties.h"
               line="75">The recommended file extension for the preview image.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-properties.h"
                 line="73">An instance of #GExiv2PreviewProperties</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="gexiv2_preview_properties_get_height">
        <source-position filename="gexiv2/gexiv2-preview-properties.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-properties.h"
               line="99">The preview image's display height in pixels.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-properties.h"
                 line="97">An instance of #GExiv2PreviewProperties</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="gexiv2_preview_properties_get_mime_type">
        <source-position filename="gexiv2/gexiv2-preview-properties.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-properties.h"
               line="67">The preview image's MIME type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-properties.h"
                 line="65">An instance of #GExiv2PreviewProperties</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size"
              c:identifier="gexiv2_preview_properties_get_size">
        <source-position filename="gexiv2/gexiv2-preview-properties.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-properties.h"
               line="83">The preview image size in bytes.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-properties.h"
                 line="81">An instance of #GExiv2PreviewProperties</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width"
              c:identifier="gexiv2_preview_properties_get_width">
        <source-position filename="gexiv2/gexiv2-preview-properties.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-preview-properties.h"
               line="91">The preview image's display width in pixels.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gexiv2/gexiv2-preview-properties.h"
                 line="89">An instance of #GExiv2PreviewProperties</doc>
            <type name="PreviewProperties" c:type="GExiv2PreviewProperties*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PreviewPropertiesPrivate"
              c:type="GExiv2PreviewPropertiesPrivate*"/>
      </field>
    </class>
    <record name="PreviewPropertiesClass"
            c:type="GExiv2PreviewPropertiesClass"
            glib:is-gtype-struct-for="PreviewProperties">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="54"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="PreviewPropertiesPrivate"
            c:type="GExiv2PreviewPropertiesPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gexiv2/gexiv2-preview-properties.h"
                       line="39"/>
    </record>
    <enumeration name="StructureType"
                 glib:type-name="GExiv2StructureType"
                 glib:get-type="gexiv2_gexiv2_structure_type_get_type"
                 c:type="GExiv2StructureType">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="179">Used in gexiv2_metadata_set_xmp_tag_struct() to determine the array type</doc>
      <member name="none"
              value="0"
              c:identifier="GEXIV2_STRUCTURE_XA_NONE"
              glib:nick="none"
              glib:name="GEXIV2_STRUCTURE_XA_NONE">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="181">Structure is not an array</doc>
      </member>
      <member name="alt"
              value="20"
              c:identifier="GEXIV2_STRUCTURE_XA_ALT"
              glib:nick="alt"
              glib:name="GEXIV2_STRUCTURE_XA_ALT">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="182">A list of alternative values</doc>
      </member>
      <member name="bag"
              value="21"
              c:identifier="GEXIV2_STRUCTURE_XA_BAG"
              glib:nick="bag"
              glib:name="GEXIV2_STRUCTURE_XA_BAG">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="183">An unordered list of values</doc>
      </member>
      <member name="seq"
              value="22"
              c:identifier="GEXIV2_STRUCTURE_XA_SEQ"
              glib:nick="seq"
              glib:name="GEXIV2_STRUCTURE_XA_SEQ">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="184">An ordered list of values</doc>
      </member>
      <member name="lang"
              value="23"
              c:identifier="GEXIV2_STRUCTURE_XA_LANG"
              glib:nick="lang"
              glib:name="GEXIV2_STRUCTURE_XA_LANG">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="185">Not supported. For completeness only</doc>
      </member>
    </enumeration>
    <bitfield name="XmpFormatFlags"
              glib:type-name="GExiv2XmpFormatFlags"
              glib:get-type="gexiv2_gexiv2_xmp_format_flags_get_type"
              c:type="GExiv2XmpFormatFlags">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="197">Options to control the format of the serialized XMP packet
Taken from: exiv2/src/xmp.hpp</doc>
      <member name="omit_packet_wrapper"
              value="16"
              c:identifier="GEXIV2_OMIT_PACKET_WRAPPER"
              glib:nick="omit-packet-wrapper"
              glib:name="GEXIV2_OMIT_PACKET_WRAPPER">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="199">Omit the XML packet wrapper.</doc>
      </member>
      <member name="read_only_packet"
              value="32"
              c:identifier="GEXIV2_READ_ONLY_PACKET"
              glib:nick="read-only-packet"
              glib:name="GEXIV2_READ_ONLY_PACKET">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="200">Default is a writeable packet.</doc>
      </member>
      <member name="use_compact_format"
              value="64"
              c:identifier="GEXIV2_USE_COMPACT_FORMAT"
              glib:nick="use-compact-format"
              glib:name="GEXIV2_USE_COMPACT_FORMAT">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="201">Use a compact form of RDF.</doc>
      </member>
      <member name="include_thumbnail_pad"
              value="256"
              c:identifier="GEXIV2_INCLUDE_THUMBNAIL_PAD"
              glib:nick="include-thumbnail-pad"
              glib:name="GEXIV2_INCLUDE_THUMBNAIL_PAD">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="202">Include a padding allowance for a thumbnail image.</doc>
      </member>
      <member name="exact_packet_length"
              value="512"
              c:identifier="GEXIV2_EXACT_PACKET_LENGTH"
              glib:nick="exact-packet-length"
              glib:name="GEXIV2_EXACT_PACKET_LENGTH">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="203">The padding parameter is the overall packet length.</doc>
      </member>
      <member name="write_alias_comments"
              value="1024"
              c:identifier="GEXIV2_WRITE_ALIAS_COMMENTS"
              glib:nick="write-alias-comments"
              glib:name="GEXIV2_WRITE_ALIAS_COMMENTS">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="204">Show aliases as XML comments.</doc>
      </member>
      <member name="omit_all_formatting"
              value="2048"
              c:identifier="GEXIV2_OMIT_ALL_FORMATTING"
              glib:nick="omit-all-formatting"
              glib:name="GEXIV2_OMIT_ALL_FORMATTING">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-metadata.h"
             line="205">Omit all formatting whitespace.</doc>
      </member>
    </bitfield>
    <function name="get_version" c:identifier="gexiv2_get_version">
      <source-position filename="gexiv2/gexiv2-version.h" line="40"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-version.h"
             line="36">The gexiv2 library's version number as a formatted decimal XXYYZZ, where XX is the
major version, YY is the minor version, and ZZ is the micro version.  For example, version
0.6.1 will be returned as 000601.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <docsection name="gexiv2-convenience">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="113">The functions in this section will use several individual tags to provide or set
the required information while trying to follow the MWG recommendations</doc>
    </docsection>
    <docsection name="gexiv2-log">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="15">The functions in this modules can be used to configure the log level of
GExiv2 and Exiv2, in terms of what to log (see gexiv2_log_set_level()) and
how. Either a custom log handler can be used or GLib's logging mechanisms.</doc>
    </docsection>
    <docsection name="gexiv2-metadata">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="20">#GExiv2Metadata is a generic object that provides everything from simple
aggregated accessors to common data such as image comments up to
fine-grained access to specific tags of a specific format, be it EXIF, IPTC
or XMP</doc>
    </docsection>
    <docsection name="gexiv2-metadata-exif">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="42">While being part of #GExiv2Metadata, these functions are dealing with specific
aspects of EXIF</doc>
    </docsection>
    <docsection name="gexiv2-metadata-iptc">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="52">While being part of #GExiv2Metadata, these functions are dealing with specific
aspects of IPTC</doc>
    </docsection>
    <docsection name="gexiv2-metadata-xmp">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="32">While being part of #GExiv2Metadata, these functions are dealing with specific
aspects of XMP</doc>
    </docsection>
    <docsection name="gexiv2-preview-image">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="62">#GExiv2PreviewImage is an accessor to the preview images contained in
the image's metadata. This could be anything from a thumbnail to a
full-sized camera development of a RAW image.

The #GExiv2PreviewImage is obtained by calling gexiv2_metadata_get_preview_image()
with an instance of #GExiv2PreviewProperties that are describing the image
to be fetched.
&lt;informalexample&gt;&lt;programlisting&gt;
GExiv2PreviewProperties **properties, **it;
properties = it = gexiv2_metadata_get_preview_properties(metadata);

while (*it) {
  preview_image = gexiv2_metadata_get_preview_image(metadata, *it);
  it++;
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
    </docsection>
    <docsection name="gexiv2-preview-properties">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="88">Metadata can contain multiple preview images. #GExiv2PreviewProperties are
used to describe the available image without the need of fetching the whole
image from the metadata.</doc>
    </docsection>
    <docsection name="gexiv2-version">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-metadata.h"
           line="99">Provides macros and functions to query the version of the GExiv2 library during compile- and runtime.</doc>
    </docsection>
    <function name="initialize" c:identifier="gexiv2_initialize">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-startup.h"
           line="23">gexiv2 requires initialization before its methods are used.  In particular, this call must be
made in a thread-safe fashion.  Best practice is to call from the application's main thread and
not to use any Gexiv2 code until it has returned.</doc>
      <source-position filename="gexiv2/gexiv2-startup.h" line="33"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-startup.h"
             line="30">%TRUE if initialized.  If %FALSE, GExiv2 should not be used (unable to initialize
properly).</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="log_get_default_handler"
              c:identifier="gexiv2_log_get_default_handler"
              introspectable="0">
      <source-position filename="gexiv2/gexiv2-log.h" line="85"/>
      <return-value>
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="82">The default #GExiv2LogHandler, which uses Exiv2's built-in handler.  Exiv2 will send the
message to stderr.</doc>
        <type name="LogHandler" c:type="GExiv2LogHandler"/>
      </return-value>
    </function>
    <function name="log_get_handler"
              c:identifier="gexiv2_log_get_handler"
              introspectable="0">
      <source-position filename="gexiv2/gexiv2-log.h" line="77"/>
      <return-value>
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="74">The current #GExiv2LogHandler, or the default if none set.  See
#gexiv2_log_get_default_handler.</doc>
        <type name="LogHandler" c:type="GExiv2LogHandler"/>
      </return-value>
    </function>
    <function name="log_get_level" c:identifier="gexiv2_log_get_level">
      <source-position filename="gexiv2/gexiv2-log.h" line="61"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gexiv2/gexiv2-log.h"
             line="59">The current #GExiv2LogLevel.  Messages below this level will not be logged.</doc>
        <type name="LogLevel" c:type="GExiv2LogLevel"/>
      </return-value>
    </function>
    <function name="log_set_handler"
              c:identifier="gexiv2_log_set_handler"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="87">This method is not thread-safe.  It's best to set this before beginning to use gexiv2.</doc>
      <source-position filename="gexiv2/gexiv2-log.h" line="93"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="handler" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-log.h"
               line="89">A #GExiv2LogHandler callback to begin receiving log messages from Exiv2 and gexiv2</doc>
          <type name="LogHandler" c:type="GExiv2LogHandler"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_set_level" c:identifier="gexiv2_log_set_level">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="63">Log messages below this level will not be logged.</doc>
      <source-position filename="gexiv2/gexiv2-log.h" line="69"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="level" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gexiv2/gexiv2-log.h"
               line="65">The #GExiv2LogLevel gexiv2 should respect.</doc>
          <type name="LogLevel" c:type="GExiv2LogLevel"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_use_glib_logging"
              c:identifier="gexiv2_log_use_glib_logging">
      <doc xml:space="preserve"
           filename="gexiv2/gexiv2-log.h"
           line="95">When called, gexiv2 will install it's own #GExiv2LogHandler which redirects all Exiv2 and gexiv2
log messages to GLib's logging calls (g_debug(), g_message(), g_warning(), and g_critical() for the
respective #GExiv2LogLevel value).  #GEXIV2_LOG_LEVEL_MUTE logs are dropped.

One advantage to using this is that GLib's logging control and handlers can be used rather than
GExiv2's ad hoc scheme.  It also means an application can use GLib logging and have all its
messages routed through the same calls.</doc>
      <source-position filename="gexiv2/gexiv2-log.h" line="106"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
  </namespace>
</repository>
