<?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:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Json" version="1.0"/>
  <include name="Soup" version="2.4"/>
  <package name="geocode-glib-1.0"/>
  <c:include name="geocode-glib/geocode-glib.h"/>
  <namespace name="GeocodeGlib"
             version="1.0"
             shared-library="libgeocode-glib.so.0"
             c:identifier-prefixes="Geocode"
             c:symbol-prefixes="geocode">
    <class name="BoundingBox"
           c:symbol-prefix="bounding_box"
           c:type="GeocodeBoundingBox"
           parent="GObject.Object"
           glib:type-name="GeocodeBoundingBox"
           glib:get-type="geocode_bounding_box_get_type"
           glib:type-struct="BoundingBoxClass">
      <doc xml:space="preserve">All the fields in the #GeocodeLocation structure are private and should
never be accessed directly.</doc>
      <constructor name="new" c:identifier="geocode_bounding_box_new">
        <doc xml:space="preserve">Creates a new #GeocodeBoundingBox object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeBoundingBox object. Use g_object_unref() when done.</doc>
          <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
        </return-value>
        <parameters>
          <parameter name="top" transfer-ownership="none">
            <doc xml:space="preserve">The left coordinate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="bottom" transfer-ownership="none">
            <doc xml:space="preserve">The bottom coordinate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:space="preserve">The left coordinate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="right" transfer-ownership="none">
            <doc xml:space="preserve">The right coordinate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_bottom" c:identifier="geocode_bounding_box_get_bottom">
        <doc xml:space="preserve">Gets the bottom coordinate of @bbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the bottom coordinate of @bbox.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="bbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeBoundingBox</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_left" c:identifier="geocode_bounding_box_get_left">
        <doc xml:space="preserve">Gets the left coordinate of @bbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the left coordinate of @bbox.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="bbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeBoundingBox</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_right" c:identifier="geocode_bounding_box_get_right">
        <doc xml:space="preserve">Gets the right coordinate of @bbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the right coordinate of @bbox.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="bbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeBoundingBox</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_top" c:identifier="geocode_bounding_box_get_top">
        <doc xml:space="preserve">Gets the top coordinate of @bbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the top coordinate of @bbox.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="bbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeBoundingBox</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="bottom"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Bottom coordinate.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="left"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Left coordinate.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="right"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Right coordinate.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="top"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Top coordinate.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="BoundingBoxPrivate" c:type="GeocodeBoundingBoxPrivate*"/>
      </field>
    </class>
    <record name="BoundingBoxClass"
            c:type="GeocodeBoundingBoxClass"
            glib:is-gtype-struct-for="BoundingBox">
      <doc xml:space="preserve">All the fields in the #GeocodeBoundingBoxClass structure are private and
should never be accessed directly.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="BoundingBoxPrivate"
            c:type="GeocodeBoundingBoxPrivate"
            disguised="1">
    </record>
    <enumeration name="Error"
                 glib:type-name="GeocodeError"
                 glib:get-type="geocode_error_get_type"
                 c:type="GeocodeError"
                 glib:error-domain="geocode_error">
      <doc xml:space="preserve">Error codes returned by geocode-glib functions.</doc>
      <member name="parse"
              value="0"
              c:identifier="GEOCODE_ERROR_PARSE"
              glib:nick="parse">
        <doc xml:space="preserve">An error occured parsing the response from the web service.</doc>
      </member>
      <member name="not_supported"
              value="1"
              c:identifier="GEOCODE_ERROR_NOT_SUPPORTED"
              glib:nick="not-supported">
        <doc xml:space="preserve">The request made was not supported.</doc>
      </member>
      <member name="no_matches"
              value="2"
              c:identifier="GEOCODE_ERROR_NO_MATCHES"
              glib:nick="no-matches">
        <doc xml:space="preserve">The requests made didn't have any matches.</doc>
      </member>
      <member name="invalid_arguments"
              value="3"
              c:identifier="GEOCODE_ERROR_INVALID_ARGUMENTS"
              glib:nick="invalid-arguments">
        <doc xml:space="preserve">The request made contained invalid arguments.</doc>
      </member>
      <member name="internal_server"
              value="4"
              c:identifier="GEOCODE_ERROR_INTERNAL_SERVER"
              glib:nick="internal-server">
        <doc xml:space="preserve">The server encountered an (possibly unrecoverable) internal error.</doc>
      </member>
      <function name="quark" c:identifier="geocode_error_quark">
        <doc xml:space="preserve">Gets the geocode-glib error quark.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GQuark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Forward"
           c:symbol-prefix="forward"
           c:type="GeocodeForward"
           parent="GObject.Object"
           glib:type-name="GeocodeForward"
           glib:get-type="geocode_forward_get_type"
           glib:type-struct="ForwardClass">
      <doc xml:space="preserve">All the fields in the #GeocodeForward structure are private and should never be accessed directly.</doc>
      <constructor name="new_for_params"
                   c:identifier="geocode_forward_new_for_params">
        <doc xml:space="preserve">Creates a new #GeocodeForward to perform geocoding with. The
#GHashTable is in the format used by Telepathy, and documented
on &lt;ulink url="http://telepathy.freedesktop.org/spec/Connection_Interface_Location.html#Mapping:Location"&gt;Telepathy's specification site&lt;/ulink&gt;.

See also: &lt;ulink url="http://xmpp.org/extensions/xep-0080.html"&gt;XEP-0080 specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeForward. Use g_object_unref() when done.</doc>
          <type name="Forward" c:type="GeocodeForward*"/>
        </return-value>
        <parameters>
          <parameter name="params" transfer-ownership="none">
            <doc xml:space="preserve">a #GHashTable with string keys, and #GValue values.</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="utf8"/>
              <type name="GObject.Value"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_string"
                   c:identifier="geocode_forward_new_for_string">
        <doc xml:space="preserve">Creates a new #GeocodeForward to perform forward geocoding with. The
string is in free-form format.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeForward. Use g_object_unref() when done.</doc>
          <type name="Forward" c:type="GeocodeForward*"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve">a string containing a free-form description of the location</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_answer_count"
              c:identifier="geocode_forward_get_answer_count">
        <doc xml:space="preserve">Gets the number of requested results for searches.</doc>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bounded" c:identifier="geocode_forward_get_bounded">
        <doc xml:space="preserve">Gets the #GeocodeForward:bounded property that regulates whether the
#GeocodeForward:search-area property acts restricting or not.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_area"
              c:identifier="geocode_forward_get_search_area"
              introspectable="0">
        <doc xml:space="preserve">Gets the area to limit searches within.</doc>
        <return-value>
          <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="search" c:identifier="geocode_forward_search" throws="1">
        <doc xml:space="preserve">Gets the result of a forward geocoding
query using a web service.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">A list of
places or %NULL in case of errors. Free the returned list with
g_list_free() when done.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Place"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="search_async" c:identifier="geocode_forward_search_async">
        <doc xml:space="preserve">Asynchronously performs a forward geocoding
query using a web service. Use geocode_forward_search() to do the same
thing synchronously.

When the operation is finished, @callback will be called. You can then call
geocode_forward_search_finish() to get the result of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">optional #GCancellable forward, %NULL to ignore.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the data to pass to callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_finish"
              c:identifier="geocode_forward_search_finish"
              throws="1">
        <doc xml:space="preserve">Finishes a forward geocoding operation. See geocode_forward_search_async().</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">A list of
places or %NULL in case of errors. Free the returned list with
g_list_free() when done.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Place"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_answer_count"
              c:identifier="geocode_forward_set_answer_count">
        <doc xml:space="preserve">Sets the number of requested results to @count.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve">the number of requested results</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bounded" c:identifier="geocode_forward_set_bounded">
        <doc xml:space="preserve">Set the #GeocodeForward:bounded property that regulates whether the
#GeocodeForward:search-area property acts restricting or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
          <parameter name="bounded" transfer-ownership="none">
            <doc xml:space="preserve">#TRUE to restrict results to only items contained within the
#GeocodeForward:search-area bounding box.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_area"
              c:identifier="geocode_forward_set_search_area">
        <doc xml:space="preserve">Sets the area to limit searches within.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="forward" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeForward representing a query</doc>
            <type name="Forward" c:type="GeocodeForward*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve">a bounding box to limit the search area.</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </parameter>
        </parameters>
      </method>
      <property name="answer-count" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The number of requested results to a search query.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="bounded" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">If set to #TRUE then only results in the #GeocodeForward:search-area
bounding box are returned.
If set to #FALSE the #GeocodeForward:search-area is treated like a
preferred area for results.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="search-area" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The bounding box that limits the search area.
If #GeocodeForward:bounded property is set to #TRUE only results from
this area is returned.</doc>
        <type name="BoundingBox"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ForwardPrivate" c:type="GeocodeForwardPrivate*"/>
      </field>
    </class>
    <record name="ForwardClass"
            c:type="GeocodeForwardClass"
            glib:is-gtype-struct-for="Forward">
      <doc xml:space="preserve">All the fields in the #GeocodeForwardClass structure are private and should never be accessed directly.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ForwardPrivate" c:type="GeocodeForwardPrivate" disguised="1">
    </record>
    <constant name="LOCATION_ACCURACY_CITY"
              value="15000"
              c:type="GEOCODE_LOCATION_ACCURACY_CITY">
      <doc xml:space="preserve">Constant representing city-level accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOCATION_ACCURACY_CONTINENT"
              value="3000000"
              c:type="GEOCODE_LOCATION_ACCURACY_CONTINENT">
      <doc xml:space="preserve">Constant representing continent-level accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOCATION_ACCURACY_COUNTRY"
              value="300000"
              c:type="GEOCODE_LOCATION_ACCURACY_COUNTRY">
      <doc xml:space="preserve">Constant representing country-level accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOCATION_ACCURACY_REGION"
              value="50000"
              c:type="GEOCODE_LOCATION_ACCURACY_REGION">
      <doc xml:space="preserve">Constant representing region-level accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOCATION_ACCURACY_STREET"
              value="1000"
              c:type="GEOCODE_LOCATION_ACCURACY_STREET">
      <doc xml:space="preserve">Constant representing street-level accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOCATION_ACCURACY_UNKNOWN"
              value="-1"
              c:type="GEOCODE_LOCATION_ACCURACY_UNKNOWN">
      <doc xml:space="preserve">Constant representing unknown accuracy.</doc>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Location"
           c:symbol-prefix="location"
           c:type="GeocodeLocation"
           parent="GObject.Object"
           glib:type-name="GeocodeLocation"
           glib:get-type="geocode_location_get_type"
           glib:type-struct="LocationClass">
      <doc xml:space="preserve">All the fields in the #GeocodeLocation structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="geocode_location_new">
        <doc xml:space="preserve">Creates a new #GeocodeLocation object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeLocation object. Use g_object_unref() when done.</doc>
          <type name="Location" c:type="GeocodeLocation*"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve">a valid latitude</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve">a valid longitude</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="accuracy" transfer-ownership="none">
            <doc xml:space="preserve">accuracy of location in meters</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_description"
                   c:identifier="geocode_location_new_with_description">
        <doc xml:space="preserve">Creates a new #GeocodeLocation object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeLocation object. Use g_object_unref() when done.</doc>
          <type name="Location" c:type="GeocodeLocation*"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:space="preserve">a valid latitude</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:space="preserve">a valid longitude</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="accuracy" transfer-ownership="none">
            <doc xml:space="preserve">accuracy of location in meters</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">a description for the location</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_accuracy" c:identifier="geocode_location_get_accuracy">
        <doc xml:space="preserve">Gets the accuracy (in meters) of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The accuracy of location @loc.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_altitude" c:identifier="geocode_location_get_altitude">
        <doc xml:space="preserve">Gets the altitude of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The altitude of location @loc.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_crs" c:identifier="geocode_location_get_crs">
        <doc xml:space="preserve">Gets the Coordinate Reference System Identification of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The CRS of location @loc.</doc>
          <type name="LocationCRS" c:type="GeocodeLocationCRS"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="geocode_location_get_description">
        <doc xml:space="preserve">Gets the description of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The description of location @loc.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_distance_from"
              c:identifier="geocode_location_get_distance_from">
        <doc xml:space="preserve">Calculates the distance in km, along the curvature of the Earth,
between 2 locations. Note that altitude changes are not
taken into account.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a distance in km.</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="loca" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
          <parameter name="locb" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_latitude" c:identifier="geocode_location_get_latitude">
        <doc xml:space="preserve">Gets the latitude of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The latitude of location @loc.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_longitude"
              c:identifier="geocode_location_get_longitude">
        <doc xml:space="preserve">Gets the longitude of location @loc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The longitude of location @loc.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timestamp"
              c:identifier="geocode_location_get_timestamp">
        <doc xml:space="preserve">Gets the timestamp (in seconds since the Epoch) of location @loc. See
#GeocodeLocation:timestamp.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The timestamp of location @loc.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="geocode_location_set_description">
        <doc xml:space="preserve">Sets the description of @loc to @description.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">a description for the location</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_uri"
              c:identifier="geocode_location_set_from_uri"
              throws="1">
        <doc xml:space="preserve">Initialize a #GeocodeLocation object with the given @uri.

The URI should be in the geo scheme (RFC 5870) which in its simplest form
looks like:

- geo:latitude,longitude

An &lt;ulink
url="http://developer.android.com/guide/components/intents-common.html#Maps"&gt;
Android extension&lt;/ulink&gt; to set a description is also supported in the form of:

- geo:0,0?q=latitude,longitude(description)</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success and %FALSE on error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a URI mapping out a location</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_uri" c:identifier="geocode_location_to_uri">
        <doc xml:space="preserve">Creates a URI representing @loc in the scheme specified in @scheme.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a URI representing the location. The returned string should be freed
with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </instance-parameter>
          <parameter name="scheme" transfer-ownership="none">
            <doc xml:space="preserve">the scheme of the requested URI</doc>
            <type name="LocationURIScheme" c:type="GeocodeLocationURIScheme"/>
          </parameter>
        </parameters>
      </method>
      <property name="accuracy" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The accuracy of this location in meters.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="altitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The altitude of this location in meters.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="crs"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The Coordinate Reference System Identification of this location.
Only the value 'wgs84' is currently valid.</doc>
        <type name="LocationCRS"/>
      </property>
      <property name="description" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The description of this location.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The latitude of this location in degrees.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The longitude of this location in degrees.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="timestamp"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">A timestamp in seconds since
&lt;ulink url="http://en.wikipedia.org/wiki/Unix_epoch"&gt;Epoch&lt;/ulink&gt;,
giving when the location was resolved from an address.

A value of 0 (zero) will be interpreted as the current time.</doc>
        <type name="guint64" c:type="guint64"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="LocationPrivate" c:type="GeocodeLocationPrivate*"/>
      </field>
    </class>
    <enumeration name="LocationCRS"
                 glib:type-name="GeocodeLocationCRS"
                 glib:get-type="geocode_location_crs_get_type"
                 c:type="GeocodeLocationCRS">
      <doc xml:space="preserve">Coordinate Reference System Identification for a location.</doc>
      <member name="wgs84"
              value="0"
              c:identifier="GEOCODE_LOCATION_CRS_WGS84"
              glib:nick="wgs84">
        <doc xml:space="preserve">CRS is World Geodetic System, standard for Earth.</doc>
      </member>
    </enumeration>
    <record name="LocationClass"
            c:type="GeocodeLocationClass"
            glib:is-gtype-struct-for="Location">
      <doc xml:space="preserve">All the fields in the #GeocodeLocationClass structure are private and should never be accessed directly.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="LocationPrivate"
            c:type="GeocodeLocationPrivate"
            disguised="1">
    </record>
    <enumeration name="LocationURIScheme"
                 glib:type-name="GeocodeLocationURIScheme"
                 glib:get-type="geocode_location_uri_scheme_get_type"
                 c:type="GeocodeLocationURIScheme">
      <doc xml:space="preserve">The URI scheme for this location.</doc>
      <member name="geo"
              value="0"
              c:identifier="GEOCODE_LOCATION_URI_SCHEME_GEO"
              glib:nick="geo">
        <doc xml:space="preserve">The 'geo' URI scheme, RFC 5870</doc>
      </member>
    </enumeration>
    <class name="Place"
           c:symbol-prefix="place"
           c:type="GeocodePlace"
           parent="GObject.Object"
           glib:type-name="GeocodePlace"
           glib:get-type="geocode_place_get_type"
           glib:type-struct="PlaceClass">
      <doc xml:space="preserve">All the fields in the #GeocodePlace structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="geocode_place_new">
        <doc xml:space="preserve">Creates a new #GeocodePlace object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodePlace object. Use g_object_unref() when done.</doc>
          <type name="Place" c:type="GeocodePlace*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="place_type" transfer-ownership="none">
            <doc xml:space="preserve">the type of place</doc>
            <type name="PlaceType" c:type="GeocodePlaceType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_location"
                   c:identifier="geocode_place_new_with_location">
        <doc xml:space="preserve">Creates a new #GeocodePlace object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodePlace object. Use g_object_unref() when done.</doc>
          <type name="Place" c:type="GeocodePlace*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="place_type" transfer-ownership="none">
            <doc xml:space="preserve">the type of place</doc>
            <type name="PlaceType" c:type="GeocodePlaceType"/>
          </parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">the location info for the place</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_administrative_area"
              c:identifier="geocode_place_get_administrative_area">
        <doc xml:space="preserve">Gets the local administrative area of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The local administrative area of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_area" c:identifier="geocode_place_get_area">
        <doc xml:space="preserve">Gets the area of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The area of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bounding_box"
              c:identifier="geocode_place_get_bounding_box">
        <doc xml:space="preserve">Gets the bounding box for the place @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GeocodeBoundingBox, or NULL if boundaries are
unknown.</doc>
          <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_building" c:identifier="geocode_place_get_building">
        <doc xml:space="preserve">Gets the building of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The building of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_continent" c:identifier="geocode_place_get_continent">
        <doc xml:space="preserve">Gets the continent of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The continent of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_country" c:identifier="geocode_place_get_country">
        <doc xml:space="preserve">Gets the country of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The country of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_country_code"
              c:identifier="geocode_place_get_country_code">
        <doc xml:space="preserve">Gets the ISO-3166 country code of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The ISO-3166 country code of the @place, in upper case.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_county" c:identifier="geocode_place_get_county">
        <doc xml:space="preserve">Gets the county of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The country of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="geocode_place_get_icon">
        <doc xml:space="preserve">Gets the #GIcon representing the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The #GIcon representing the @place.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location" c:identifier="geocode_place_get_location">
        <doc xml:space="preserve">Gets the associated location object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The associated location object.</doc>
          <type name="Location" c:type="GeocodeLocation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="geocode_place_get_name">
        <doc xml:space="preserve">Gets the name of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The name of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_osm_id" c:identifier="geocode_place_get_osm_id">
        <doc xml:space="preserve">Gets the OpenStreetMap ID of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The osm ID of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_osm_type" c:identifier="geocode_place_get_osm_type">
        <doc xml:space="preserve">Gets the OpenStreetMap type of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The osm type of the @place.</doc>
          <type name="PlaceOsmType" c:type="GeocodePlaceOsmType"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_place_type"
              c:identifier="geocode_place_get_place_type">
        <doc xml:space="preserve">Gets the type of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The type of the @place.</doc>
          <type name="PlaceType" c:type="GeocodePlaceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_postal_code"
              c:identifier="geocode_place_get_postal_code">
        <doc xml:space="preserve">Gets the postal code of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The postal code of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="geocode_place_get_state">
        <doc xml:space="preserve">Gets the state of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The state of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_street" c:identifier="geocode_place_get_street">
        <doc xml:space="preserve">Gets the street of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The street of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_street_address"
              c:identifier="geocode_place_get_street_address">
        <doc xml:space="preserve">Gets the street address of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The street address of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_town" c:identifier="geocode_place_get_town">
        <doc xml:space="preserve">Gets the town of the @place.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The town of the @place.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_administrative_area"
              c:identifier="geocode_place_set_administrative_area">
        <doc xml:space="preserve">Sets the local administrative area of @place to @admin_area.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="admin_area" transfer-ownership="none">
            <doc xml:space="preserve">an administrative area for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_area" c:identifier="geocode_place_set_area">
        <doc xml:space="preserve">Sets the area of @place to @area.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve">a area</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bounding_box"
              c:identifier="geocode_place_set_bounding_box">
        <doc xml:space="preserve">Sets the #GeocodeBoundingBox for the place @place.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="bbox" transfer-ownership="none">
            <doc xml:space="preserve">A #GeocodeBoundingBox for the place</doc>
            <type name="BoundingBox" c:type="GeocodeBoundingBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_building" c:identifier="geocode_place_set_building">
        <doc xml:space="preserve">Sets the building of @place to @building.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="building" transfer-ownership="none">
            <doc xml:space="preserve">a building</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_continent" c:identifier="geocode_place_set_continent">
        <doc xml:space="preserve">Sets the continent of @place to @continent.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="continent" transfer-ownership="none">
            <doc xml:space="preserve">a continent for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_country" c:identifier="geocode_place_set_country">
        <doc xml:space="preserve">Sets the country of @place to @country.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="country" transfer-ownership="none">
            <doc xml:space="preserve">a country for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_country_code"
              c:identifier="geocode_place_set_country_code">
        <doc xml:space="preserve">Sets the ISO country code of @place to @country_code.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="country_code" transfer-ownership="none">
            <doc xml:space="preserve">an ISO country code for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_county" c:identifier="geocode_place_set_county">
        <doc xml:space="preserve">Sets the county of @place to @county.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="county" transfer-ownership="none">
            <doc xml:space="preserve">a county for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location" c:identifier="geocode_place_set_location">
        <doc xml:space="preserve">Sets the location of @place to @location.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">A location</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="geocode_place_set_name">
        <doc xml:space="preserve">Sets the name of the @place to @name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_postal_code"
              c:identifier="geocode_place_set_postal_code">
        <doc xml:space="preserve">Sets the postal code of @place to @postal_code.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="postal_code" transfer-ownership="none">
            <doc xml:space="preserve">a postal code for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_state" c:identifier="geocode_place_set_state">
        <doc xml:space="preserve">Sets the state of @place to @state.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve">a state for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_street" c:identifier="geocode_place_set_street">
        <doc xml:space="preserve">Sets the street of @place to @street.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="street" transfer-ownership="none">
            <doc xml:space="preserve">a street</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_street_address"
              c:identifier="geocode_place_set_street_address">
        <doc xml:space="preserve">Sets the street address of @place to @street_address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="street_address" transfer-ownership="none">
            <doc xml:space="preserve">a street address for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_town" c:identifier="geocode_place_set_town">
        <doc xml:space="preserve">Sets the town of @place to @town.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="place" transfer-ownership="none">
            <doc xml:space="preserve">A place</doc>
            <type name="Place" c:type="GeocodePlace*"/>
          </instance-parameter>
          <parameter name="town" transfer-ownership="none">
            <doc xml:space="preserve">a town for the place</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="administrative-area"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The local administrative area.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="area" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">A named area such as a campus or neighborhood.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="bounding-box" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The bounding box for the place.</doc>
        <type name="BoundingBox"/>
      </property>
      <property name="building" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">A specific building on a street or in an area.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="continent" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The continent.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="country" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The country.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="country-code" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The country code.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="county" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The county.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon" transfer-ownership="none">
        <doc xml:space="preserve">#GIcon representing the @GeocodePlace.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The location info for the place.</doc>
        <type name="Location"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The name of the place.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="osm-id" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The OpenStreetMap id of the place.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="osm-type" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The OpenStreetMap type of the place.</doc>
        <type name="PlaceOsmType"/>
      </property>
      <property name="place-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The type of the place.</doc>
        <type name="PlaceType"/>
      </property>
      <property name="postal-code" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The postal code.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The state.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="street" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The street name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="street-address" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The street address.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="town" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The town.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PlacePrivate" c:type="GeocodePlacePrivate*"/>
      </field>
    </class>
    <record name="PlaceClass"
            c:type="GeocodePlaceClass"
            glib:is-gtype-struct-for="Place">
      <doc xml:space="preserve">All the fields in the #GeocodePlaceClass structure are private and should never be accessed directly.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="PlaceOsmType"
                 glib:type-name="GeocodePlaceOsmType"
                 glib:get-type="geocode_place_osm_type_get_type"
                 c:type="GeocodePlaceOsmType">
      <doc xml:space="preserve">Osm type of the place.</doc>
      <member name="unknown"
              value="0"
              c:identifier="GEOCODE_PLACE_OSM_TYPE_UNKNOWN"
              glib:nick="unknown">
        <doc xml:space="preserve">Unknown type</doc>
      </member>
      <member name="node"
              value="1"
              c:identifier="GEOCODE_PLACE_OSM_TYPE_NODE"
              glib:nick="node">
        <doc xml:space="preserve">Defines a point in space.</doc>
      </member>
      <member name="relation"
              value="2"
              c:identifier="GEOCODE_PLACE_OSM_TYPE_RELATION"
              glib:nick="relation">
        <doc xml:space="preserve">Used to explain how other elements work together.</doc>
      </member>
      <member name="way"
              value="3"
              c:identifier="GEOCODE_PLACE_OSM_TYPE_WAY"
              glib:nick="way">
        <doc xml:space="preserve">Defines a linear feature and area boundaries.</doc>
      </member>
    </enumeration>
    <record name="PlacePrivate" c:type="GeocodePlacePrivate" disguised="1">
    </record>
    <enumeration name="PlaceType"
                 glib:type-name="GeocodePlaceType"
                 glib:get-type="geocode_place_type_get_type"
                 c:type="GeocodePlaceType">
      <doc xml:space="preserve">Type of the place.</doc>
      <member name="unknown"
              value="0"
              c:identifier="GEOCODE_PLACE_TYPE_UNKNOWN"
              glib:nick="unknown">
        <doc xml:space="preserve">Type is unknown for this place.</doc>
      </member>
      <member name="building"
              value="1"
              c:identifier="GEOCODE_PLACE_TYPE_BUILDING"
              glib:nick="building">
        <doc xml:space="preserve">A building or house.</doc>
      </member>
      <member name="street"
              value="2"
              c:identifier="GEOCODE_PLACE_TYPE_STREET"
              glib:nick="street">
        <doc xml:space="preserve">A street.</doc>
      </member>
      <member name="town"
              value="3"
              c:identifier="GEOCODE_PLACE_TYPE_TOWN"
              glib:nick="town">
        <doc xml:space="preserve">A populated settlement such as a city, town, village.</doc>
      </member>
      <member name="state"
              value="4"
              c:identifier="GEOCODE_PLACE_TYPE_STATE"
              glib:nick="state">
        <doc xml:space="preserve">One of the primary administrative areas within a country.</doc>
      </member>
      <member name="county"
              value="5"
              c:identifier="GEOCODE_PLACE_TYPE_COUNTY"
              glib:nick="county">
        <doc xml:space="preserve">One of the secondary administrative areas within a country.</doc>
      </member>
      <member name="local_administrative_area"
              value="6"
              c:identifier="GEOCODE_PLACE_TYPE_LOCAL_ADMINISTRATIVE_AREA"
              glib:nick="local-administrative-area">
        <doc xml:space="preserve">One of the tertiary administrative areas within a country.</doc>
      </member>
      <member name="postal_code"
              value="7"
              c:identifier="GEOCODE_PLACE_TYPE_POSTAL_CODE"
              glib:nick="postal-code">
        <doc xml:space="preserve">A partial or full postal code.</doc>
      </member>
      <member name="country"
              value="8"
              c:identifier="GEOCODE_PLACE_TYPE_COUNTRY"
              glib:nick="country">
        <doc xml:space="preserve">One of the countries or dependent territories defined by the ISO 3166-1 standard.</doc>
      </member>
      <member name="island"
              value="9"
              c:identifier="GEOCODE_PLACE_TYPE_ISLAND"
              glib:nick="island">
        <doc xml:space="preserve">An island.</doc>
      </member>
      <member name="airport"
              value="10"
              c:identifier="GEOCODE_PLACE_TYPE_AIRPORT"
              glib:nick="airport">
        <doc xml:space="preserve">An airport.</doc>
      </member>
      <member name="railway_station"
              value="11"
              c:identifier="GEOCODE_PLACE_TYPE_RAILWAY_STATION"
              glib:nick="railway-station">
        <doc xml:space="preserve">A railway station.</doc>
      </member>
      <member name="bus_stop"
              value="12"
              c:identifier="GEOCODE_PLACE_TYPE_BUS_STOP"
              glib:nick="bus-stop">
        <doc xml:space="preserve">A bus stop.</doc>
      </member>
      <member name="motorway"
              value="13"
              c:identifier="GEOCODE_PLACE_TYPE_MOTORWAY"
              glib:nick="motorway">
        <doc xml:space="preserve">A high capacity highways designed to safely carry fast motor traffic.</doc>
      </member>
      <member name="drainage"
              value="14"
              c:identifier="GEOCODE_PLACE_TYPE_DRAINAGE"
              glib:nick="drainage">
        <doc xml:space="preserve">A water feature such as a river, canal, lake, bay or ocean.</doc>
      </member>
      <member name="land_feature"
              value="15"
              c:identifier="GEOCODE_PLACE_TYPE_LAND_FEATURE"
              glib:nick="land-feature">
        <doc xml:space="preserve">A land feature such as a park, mountain or beach.</doc>
      </member>
      <member name="miscellaneous"
              value="16"
              c:identifier="GEOCODE_PLACE_TYPE_MISCELLANEOUS"
              glib:nick="miscellaneous">
        <doc xml:space="preserve">A uncategorized place.</doc>
      </member>
      <member name="supername"
              value="17"
              c:identifier="GEOCODE_PLACE_TYPE_SUPERNAME"
              glib:nick="supername">
        <doc xml:space="preserve">An area covering multiple countries.</doc>
      </member>
      <member name="point_of_interest"
              value="18"
              c:identifier="GEOCODE_PLACE_TYPE_POINT_OF_INTEREST"
              glib:nick="point-of-interest">
        <doc xml:space="preserve">A point of interest such as a school, hospital or tourist attraction.</doc>
      </member>
      <member name="suburb"
              value="19"
              c:identifier="GEOCODE_PLACE_TYPE_SUBURB"
              glib:nick="suburb">
        <doc xml:space="preserve">A subdivision of a town such as a suburb or neighborhood.</doc>
      </member>
      <member name="colloquial"
              value="20"
              c:identifier="GEOCODE_PLACE_TYPE_COLLOQUIAL"
              glib:nick="colloquial">
        <doc xml:space="preserve">A place known by a colloquial name.</doc>
      </member>
      <member name="zone"
              value="21"
              c:identifier="GEOCODE_PLACE_TYPE_ZONE"
              glib:nick="zone">
        <doc xml:space="preserve">An area known within a specific context such as MSA or area code.</doc>
      </member>
      <member name="historical_state"
              value="22"
              c:identifier="GEOCODE_PLACE_TYPE_HISTORICAL_STATE"
              glib:nick="historical-state">
        <doc xml:space="preserve">A historical primary administrative area within a country.</doc>
      </member>
      <member name="historical_county"
              value="23"
              c:identifier="GEOCODE_PLACE_TYPE_HISTORICAL_COUNTY"
              glib:nick="historical-county">
        <doc xml:space="preserve">A historical secondary administrative area within a country.</doc>
      </member>
      <member name="continent"
              value="24"
              c:identifier="GEOCODE_PLACE_TYPE_CONTINENT"
              glib:nick="continent">
        <doc xml:space="preserve">One of the major land masses on the Earth.</doc>
      </member>
      <member name="time_zone"
              value="25"
              c:identifier="GEOCODE_PLACE_TYPE_TIME_ZONE"
              glib:nick="time-zone">
        <doc xml:space="preserve">An area defined by the Olson standard (tz database).</doc>
      </member>
      <member name="estate"
              value="26"
              c:identifier="GEOCODE_PLACE_TYPE_ESTATE"
              glib:nick="estate">
        <doc xml:space="preserve">A housing development or subdivision known by name.</doc>
      </member>
      <member name="historical_town"
              value="27"
              c:identifier="GEOCODE_PLACE_TYPE_HISTORICAL_TOWN"
              glib:nick="historical-town">
        <doc xml:space="preserve">A historical populated settlement that is no longer known by its original name.</doc>
      </member>
      <member name="ocean"
              value="28"
              c:identifier="GEOCODE_PLACE_TYPE_OCEAN"
              glib:nick="ocean">
        <doc xml:space="preserve">One of the five major bodies of water on the Earth.</doc>
      </member>
      <member name="sea"
              value="29"
              c:identifier="GEOCODE_PLACE_TYPE_SEA"
              glib:nick="sea">
        <doc xml:space="preserve">An area of open water smaller than an ocean.</doc>
      </member>
      <member name="school"
              value="30"
              c:identifier="GEOCODE_PLACE_TYPE_SCHOOL"
              glib:nick="school">
        <doc xml:space="preserve">Institution designed for learning under the supervision of teachers.</doc>
      </member>
      <member name="place_of_worship"
              value="31"
              c:identifier="GEOCODE_PLACE_TYPE_PLACE_OF_WORSHIP"
              glib:nick="place-of-worship">
        <doc xml:space="preserve">All places of worship independently of the religion or denomination.</doc>
      </member>
      <member name="restaurant"
              value="32"
              c:identifier="GEOCODE_PLACE_TYPE_RESTAURANT"
              glib:nick="restaurant">
        <doc xml:space="preserve">Generally formal place with sit-down facilities selling full meals served by waiters.</doc>
      </member>
      <member name="bar"
              value="33"
              c:identifier="GEOCODE_PLACE_TYPE_BAR"
              glib:nick="bar">
        <doc xml:space="preserve">A bar or pub.</doc>
      </member>
      <member name="light_rail_station"
              value="34"
              c:identifier="GEOCODE_PLACE_TYPE_LIGHT_RAIL_STATION"
              glib:nick="light-rail-station">
        <doc xml:space="preserve">A light rail station or tram stop.</doc>
      </member>
    </enumeration>
    <class name="Reverse"
           c:symbol-prefix="reverse"
           c:type="GeocodeReverse"
           parent="GObject.Object"
           glib:type-name="GeocodeReverse"
           glib:get-type="geocode_reverse_get_type"
           glib:type-struct="ReverseClass">
      <doc xml:space="preserve">All the fields in the #GeocodeReverse structure are private and should never be accessed directly.</doc>
      <constructor name="new_for_location"
                   c:identifier="geocode_reverse_new_for_location">
        <doc xml:space="preserve">Creates a new #GeocodeReverse to perform reverse geocoding with.
Use geocode_reverse_resolve_async() to perform the resolution.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeocodeReverse. Use g_object_unref() when done.</doc>
          <type name="Reverse" c:type="GeocodeReverse*"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeLocation object</doc>
            <type name="Location" c:type="GeocodeLocation*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="resolve" c:identifier="geocode_reverse_resolve" throws="1">
        <doc xml:space="preserve">Gets the result of a reverse geocoding
query using a web service.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GeocodePlace instance, or %NULL in case of
errors. Free the returned instance with #g_object_unref() when done.</doc>
          <type name="Place" c:type="GeocodePlace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeReverse representing a query</doc>
            <type name="Reverse" c:type="GeocodeReverse*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="resolve_async"
              c:identifier="geocode_reverse_resolve_async">
        <doc xml:space="preserve">Asynchronously gets the result of a reverse geocoding
query using a web service. Use geocode_reverse_resolve() to do the same
thing synchronously.

When the operation is finished, @callback will be called. You can then call
geocode_reverse_resolve_finish() to get the result of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeReverse representing a query</doc>
            <type name="Reverse" c:type="GeocodeReverse*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">optional #GCancellable object, %NULL to ignore.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the data to pass to callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="resolve_finish"
              c:identifier="geocode_reverse_resolve_finish"
              throws="1">
        <doc xml:space="preserve">Finishes a reverse geocoding operation. See geocode_reverse_resolve_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GeocodePlace instance, or %NULL in case of
errors. Free the returned instance with #g_object_unref() when done.</doc>
          <type name="Place" c:type="GeocodePlace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">a #GeocodeReverse representing a query</doc>
            <type name="Reverse" c:type="GeocodeReverse*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">a #GAsyncResult.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ReversePrivate" c:type="GeocodeReversePrivate*"/>
      </field>
    </class>
    <record name="ReverseClass"
            c:type="GeocodeReverseClass"
            glib:is-gtype-struct-for="Reverse">
      <doc xml:space="preserve">All the fields in the #GeocodeReverseClass structure are private and should never be accessed directly.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ReversePrivate" c:type="GeocodeReversePrivate" disguised="1">
    </record>
    <function name="error_quark"
              c:identifier="geocode_error_quark"
              moved-to="Error.quark">
      <doc xml:space="preserve">Gets the geocode-glib error quark.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a #GQuark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
