<?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="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Json" version="1.0"/>
  <include name="Shumate" version="1.0"/>
  <doc:format name="unknown"/>
  <namespace name="GnomeMaps"
             version="1.0"
             shared-library="libgnome-maps.so.0.0"
             c:identifier-prefixes="Maps"
             c:symbol-prefixes="maps">
    <function-macro name="FILE_DATA_SOURCE"
                    c:identifier="MAPS_FILE_DATA_SOURCE"
                    introspectable="0">
      <source-position filename="lib/maps-file-data-source.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_DATA_SOURCE_CLASS"
                    c:identifier="MAPS_FILE_DATA_SOURCE_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-file-data-source.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_DATA_SOURCE_GET_CLASS"
                    c:identifier="MAPS_FILE_DATA_SOURCE_GET_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-file-data-source.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="FileDataSource"
           c:symbol-prefix="file_data_source"
           c:type="MapsFileDataSource"
           parent="Shumate.DataSource"
           glib:type-name="MapsFileDataSource"
           glib:get-type="maps_file_data_source_get_type"
           glib:type-struct="FileDataSourceClass">
      <doc xml:space="preserve"
           filename="lib/maps-file-data-source.h"
           line="49">The #MapsFileDataSource structure contains only private data
and should be accessed using the provided API</doc>
      <source-position filename="lib/maps-file-data-source.h" line="66"/>
      <method name="prepare"
              c:identifier="maps_file_data_source_prepare"
              throws="1">
        <source-position filename="lib/maps-file-data-source.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="data_source" transfer-ownership="none">
            <type name="FileDataSource" c:type="MapsFileDataSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="max-zoom" transfer-ownership="none" default-value="2">
        <doc xml:space="preserve"
             filename="lib/maps-file-data-source.c"
             line="177">The maximum zoom level of the tile source.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="min-zoom" transfer-ownership="none" default-value="2">
        <doc xml:space="preserve"
             filename="lib/maps-file-data-source.c"
             line="162">The minimum zoom level of the tile source.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="path"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/maps-file-data-source.c"
             line="149">The path to the tile source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Shumate.DataSource" c:type="ShumateDataSource"/>
      </field>
      <field name="priv">
        <type name="FileDataSourcePrivate"
              c:type="MapsFileDataSourcePrivate*"/>
      </field>
    </class>
    <record name="FileDataSourceClass"
            c:type="MapsFileDataSourceClass"
            glib:is-gtype-struct-for="FileDataSource">
      <source-position filename="lib/maps-file-data-source.h" line="66"/>
      <field name="parent_class">
        <type name="Shumate.DataSourceClass" c:type="ShumateDataSourceClass"/>
      </field>
    </record>
    <record name="FileDataSourcePrivate"
            c:type="MapsFileDataSourcePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-file-data-source.h" line="44"/>
    </record>
    <function-macro name="IS_FILE_DATA_SOURCE"
                    c:identifier="MAPS_IS_FILE_DATA_SOURCE"
                    introspectable="0">
      <source-position filename="lib/maps-file-data-source.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_DATA_SOURCE_CLASS"
                    c:identifier="MAPS_IS_FILE_DATA_SOURCE_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-file-data-source.h" line="38"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SYNC_MAP_SOURCE"
                    c:identifier="MAPS_IS_SYNC_MAP_SOURCE"
                    introspectable="0">
      <source-position filename="lib/maps-sync-map-source.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SYNC_MAP_SOURCE_CLASS"
                    c:identifier="MAPS_IS_SYNC_MAP_SOURCE_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-sync-map-source.h" line="38"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="OSMChangeset"
           c:symbol-prefix="osm_changeset"
           c:type="MapsOSMChangeset"
           parent="GObject.Object"
           glib:type-name="MapsOSMChangeset"
           glib:get-type="maps_osm_changeset_get_type"
           glib:type-struct="OSMChangesetClass">
      <source-position filename="lib/maps-osm-changeset.h" line="26"/>
      <constructor name="new" c:identifier="maps_osm_changeset_new">
        <source-position filename="lib/maps-osm-changeset.h" line="47"/>
        <return-value transfer-ownership="full">
          <type name="OSMChangeset" c:type="MapsOSMChangeset*"/>
        </return-value>
        <parameters>
          <parameter name="comment"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lib/maps-osm-changeset.h"
                 line="44">A comment about the OSM change, optional</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="created_by"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lib/maps-osm-changeset.h"
                 line="45">The client identifier of the OSM change, optional</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="serialize" c:identifier="maps_osm_changeset_serialize">
        <source-position filename="lib/maps-osm-changeset.h" line="50"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="changeset" transfer-ownership="none">
            <type name="OSMChangeset" c:type="const MapsOSMChangeset*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="comment"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="lib/maps-osm-changeset.c"
             line="108">The comment of the changes.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="created-by"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="OSMChangesetPrivate" c:type="MapsOSMChangesetPrivate*"/>
      </field>
    </class>
    <record name="OSMChangesetClass"
            c:type="MapsOSMChangesetClass"
            glib:is-gtype-struct-for="OSMChangeset">
      <source-position filename="lib/maps-osm-changeset.h" line="26"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="OSMChangesetPrivate"
            c:type="MapsOSMChangesetPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-osm-changeset.h" line="29"/>
    </record>
    <class name="OSMNode"
           c:symbol-prefix="osm_node"
           c:type="MapsOSMNode"
           parent="OSMObject"
           glib:type-name="MapsOSMNode"
           glib:get-type="maps_osm_node_get_type"
           glib:type-struct="OSMNodeClass">
      <source-position filename="lib/maps-osm-node.h" line="28"/>
      <constructor name="new" c:identifier="maps_osm_node_new">
        <source-position filename="lib/maps-osm-node.h" line="43"/>
        <return-value transfer-ownership="full">
          <type name="OSMNode" c:type="MapsOSMNode*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="changeset" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="latitude" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="latitude"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="lib/maps-osm-node.c"
             line="135">The latitude of the node.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="longitude"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="lib/maps-osm-node.c"
             line="121">The longitude of the node.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <field name="parent_instance">
        <type name="OSMObject" c:type="MapsOSMObject"/>
      </field>
      <field name="priv">
        <type name="OSMNodePrivate" c:type="MapsOSMNodePrivate*"/>
      </field>
    </class>
    <record name="OSMNodeClass"
            c:type="MapsOSMNodeClass"
            glib:is-gtype-struct-for="OSMNode">
      <source-position filename="lib/maps-osm-node.h" line="28"/>
      <field name="parent_class">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <record name="OSMNodePrivate"
            c:type="MapsOSMNodePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-osm-node.h" line="30"/>
    </record>
    <class name="OSMObject"
           c:symbol-prefix="osm_object"
           c:type="MapsOSMObject"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="MapsOSMObject"
           glib:get-type="maps_osm_object_get_type"
           glib:type-struct="OSMObjectClass">
      <source-position filename="lib/maps-osm-object.h" line="46"/>
      <virtual-method name="get_xml_attributes" introspectable="0">
        <source-position filename="lib/maps-osm-object.h" line="41"/>
        <return-value>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="const MapsOSMObject*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_xml_child_nodes" introspectable="0">
        <source-position filename="lib/maps-osm-object.h" line="45"/>
        <return-value>
          <type c:type="xmlNodePtr"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="const MapsOSMObject*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="delete_tag" c:identifier="maps_osm_object_delete_tag">
        <source-position filename="lib/maps-osm-object.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="MapsOSMObject*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tag" c:identifier="maps_osm_object_get_tag">
        <source-position filename="lib/maps-osm-object.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="const MapsOSMObject*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tags" c:identifier="maps_osm_object_get_tags">
        <source-position filename="lib/maps-osm-object.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/maps-osm-object.c"
               line="336">a hash table with key/values</doc>
          <type name="GLib.HashTable" c:type="const GHashTable*">
            <type name="utf8"/>
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="const MapsOSMObject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="serialize" c:identifier="maps_osm_object_serialize">
        <source-position filename="lib/maps-osm-object.h" line="54"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="const MapsOSMObject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_tag" c:identifier="maps_osm_object_set_tag">
        <source-position filename="lib/maps-osm-object.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="OSMObject" c:type="MapsOSMObject*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="changeset"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="lib/maps-osm-object.c"
             line="170">The OSM changeset for the current upload of the object.</doc>
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="id"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="lib/maps-osm-object.c"
             line="142">The OSM id of the object.</doc>
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="version"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="lib/maps-osm-object.c"
             line="156">The latest OSM version of the object.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="OSMObjectClass"
            c:type="MapsOSMObjectClass"
            glib:is-gtype-struct-for="OSMObject">
      <source-position filename="lib/maps-osm-object.h" line="46"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_xml_tag_name">
        <callback name="get_xml_tag_name">
          <source-position filename="lib/maps-osm-object.h" line="37"/>
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </return-value>
        </callback>
      </field>
      <field name="get_xml_attributes" introspectable="0">
        <callback name="get_xml_attributes" introspectable="0">
          <source-position filename="lib/maps-osm-object.h" line="41"/>
          <return-value>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="OSMObject" c:type="const MapsOSMObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_xml_child_nodes" introspectable="0">
        <callback name="get_xml_child_nodes" introspectable="0">
          <source-position filename="lib/maps-osm-object.h" line="45"/>
          <return-value>
            <type c:type="xmlNodePtr"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="OSMObject" c:type="const MapsOSMObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="OSMObjectPrivate"
            c:type="MapsOSMObjectPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-osm-object.h" line="30"/>
    </record>
    <class name="OSMRelation"
           c:symbol-prefix="osm_relation"
           c:type="MapsOSMRelation"
           parent="OSMObject"
           glib:type-name="MapsOSMRelation"
           glib:get-type="maps_osm_relation_get_type"
           glib:type-struct="OSMRelationClass">
      <source-position filename="lib/maps-osm-relation.h" line="28"/>
      <constructor name="new" c:identifier="maps_osm_relation_new">
        <source-position filename="lib/maps-osm-relation.h" line="50"/>
        <return-value transfer-ownership="full">
          <type name="OSMRelation" c:type="MapsOSMRelation*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="changeset" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_member" c:identifier="maps_osm_relation_add_member">
        <source-position filename="lib/maps-osm-relation.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="relation" transfer-ownership="none">
            <type name="OSMRelation" c:type="MapsOSMRelation*"/>
          </instance-parameter>
          <parameter name="role" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="ref" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="OSMObject" c:type="MapsOSMObject"/>
      </field>
      <field name="priv">
        <type name="OSMRelationPrivate" c:type="MapsOSMRelationPrivate*"/>
      </field>
    </class>
    <record name="OSMRelationClass"
            c:type="MapsOSMRelationClass"
            glib:is-gtype-struct-for="OSMRelation">
      <source-position filename="lib/maps-osm-relation.h" line="28"/>
      <field name="parent_class">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <record name="OSMRelationPrivate"
            c:type="MapsOSMRelationPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-osm-relation.h" line="31"/>
    </record>
    <class name="OSMWay"
           c:symbol-prefix="osm_way"
           c:type="MapsOSMWay"
           parent="OSMObject"
           glib:type-name="MapsOSMWay"
           glib:get-type="maps_osm_way_get_type"
           glib:type-struct="OSMWayClass">
      <source-position filename="lib/maps-osm-way.h" line="28"/>
      <constructor name="new" c:identifier="maps_osm_way_new">
        <source-position filename="lib/maps-osm-way.h" line="43"/>
        <return-value transfer-ownership="full">
          <type name="OSMWay" c:type="MapsOSMWay*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="changeset" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_node_id" c:identifier="maps_osm_way_add_node_id">
        <source-position filename="lib/maps-osm-way.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="way" transfer-ownership="none">
            <type name="OSMWay" c:type="MapsOSMWay*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="OSMObject" c:type="MapsOSMObject"/>
      </field>
      <field name="priv">
        <type name="OSMWayPrivate" c:type="MapsOSMWayPrivate*"/>
      </field>
    </class>
    <record name="OSMWayClass"
            c:type="MapsOSMWayClass"
            glib:is-gtype-struct-for="OSMWay">
      <source-position filename="lib/maps-osm-way.h" line="28"/>
      <field name="parent_class">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <record name="OSMWayPrivate"
            c:type="MapsOSMWayPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-osm-way.h" line="30"/>
    </record>
    <function-macro name="SYNC_MAP_SOURCE"
                    c:identifier="MAPS_SYNC_MAP_SOURCE"
                    introspectable="0">
      <source-position filename="lib/maps-sync-map-source.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SYNC_MAP_SOURCE_CLASS"
                    c:identifier="MAPS_SYNC_MAP_SOURCE_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-sync-map-source.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SYNC_MAP_SOURCE_GET_CLASS"
                    c:identifier="MAPS_SYNC_MAP_SOURCE_GET_CLASS"
                    introspectable="0">
      <source-position filename="lib/maps-sync-map-source.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Shield"
           c:symbol-prefix="shield"
           c:type="MapsShield"
           parent="GObject.Object"
           glib:type-name="MapsShield"
           glib:get-type="maps_shield_get_type"
           glib:type-struct="ShieldClass">
      <source-position filename="lib/maps-shield.h" line="26"/>
      <constructor name="new" c:identifier="maps_shield_new">
        <doc xml:space="preserve"
             filename="lib/maps-shield.c"
             line="152">Creates a new [class@Shield] instance.</doc>
        <source-position filename="lib/maps-shield.h" line="28"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/maps-shield.c"
               line="158">a new [class@Shield] instance</doc>
          <type name="Shield" c:type="MapsShield*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="154">a [class@Json.Node] containing the shield definition</doc>
            <type name="Json.Node" c:type="JsonNode*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_banners"
                   c:identifier="maps_shield_new_with_banners">
        <doc xml:space="preserve"
             filename="lib/maps-shield.c"
             line="168">Creates a new [class@Shield] instance.</doc>
        <source-position filename="lib/maps-shield.h" line="30"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/maps-shield.c"
               line="175">a new [class@Shield] instance</doc>
          <type name="Shield" c:type="MapsShield*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="170">a [class@Json.Node] containing the shield definition</doc>
            <type name="Json.Node" c:type="JsonNode*"/>
          </parameter>
          <parameter name="banners" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="171">array of banner texts to add to the shield</doc>
            <type name="Json.Array" c:type="JsonArray*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="draw" c:identifier="maps_shield_draw">
        <source-position filename="lib/maps-shield.h" line="32"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/maps-shield.c"
               line="1681">a [class@Shumate.VectorSprite]</doc>
          <type name="Shumate.VectorSprite" c:type="ShumateVectorSprite*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="1675">a [class@Shield]</doc>
            <type name="Shield" c:type="MapsShield*"/>
          </instance-parameter>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="1676">the highway reference</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="1677">the highway name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="1678">the route color</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-shield.c"
                 line="1679">the scale factor</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ShieldClass"
            c:type="MapsShieldClass"
            glib:is-gtype-struct-for="Shield">
      <source-position filename="lib/maps-shield.h" line="26"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SpriteSource"
           c:symbol-prefix="sprite_source"
           c:type="MapsSpriteSource"
           parent="GObject.Object"
           glib:type-name="MapsSpriteSource"
           glib:get-type="maps_sprite_source_get_type"
           glib:type-struct="SpriteSourceClass">
      <source-position filename="lib/maps-sprite-source.h" line="27"/>
      <constructor name="new" c:identifier="maps_sprite_source_new">
        <source-position filename="lib/maps-sprite-source.h" line="29"/>
        <return-value transfer-ownership="full">
          <type name="SpriteSource" c:type="MapsSpriteSource*"/>
        </return-value>
        <parameters>
          <parameter name="color_scheme" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_shield_for_network"
              c:identifier="maps_sprite_source_get_shield_for_network">
        <source-position filename="lib/maps-sprite-source.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/maps-sprite-source.c"
               line="275">a [class@MapsShield]</doc>
          <type name="Shield" c:type="MapsShield*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-sprite-source.c"
                 line="273">a [class@MapsSpriteSource]</doc>
            <type name="SpriteSource" c:type="MapsSpriteSource*"/>
          </instance-parameter>
          <parameter name="network_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-sprite-source.c"
                 line="274">network name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_shield_defs"
              c:identifier="maps_sprite_source_load_shield_defs">
        <doc xml:space="preserve"
             filename="lib/maps-sprite-source.c"
             line="217">Loads shield definitions from a JSON string.</doc>
        <source-position filename="lib/maps-sprite-source.h" line="33"/>
        <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="lib/maps-sprite-source.c"
                 line="219">a [class@SpriteSource]</doc>
            <type name="SpriteSource" c:type="MapsSpriteSource*"/>
          </instance-parameter>
          <parameter name="json" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-sprite-source.c"
                 line="220">a JSON string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fallback"
              c:identifier="maps_sprite_source_set_fallback">
        <doc xml:space="preserve"
             filename="lib/maps-sprite-source.c"
             line="200">Sets the sprite sheet's fallback function.</doc>
        <source-position filename="lib/maps-sprite-source.h" line="31"/>
        <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="lib/maps-sprite-source.c"
                 line="202">a [class@SpriteSource]</doc>
            <type name="SpriteSource" c:type="MapsSpriteSource*"/>
          </instance-parameter>
          <parameter name="sprite_sheet" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/maps-sprite-source.c"
                 line="203">a [class@Shumate.VectorSpriteSheet]</doc>
            <type name="Shumate.VectorSpriteSheet"
                  c:type="ShumateVectorSpriteSheet*"/>
          </parameter>
        </parameters>
      </method>
      <property name="color-scheme"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="SpriteSourceClass"
            c:type="MapsSpriteSourceClass"
            glib:is-gtype-struct-for="SpriteSource">
      <source-position filename="lib/maps-sprite-source.h" line="27"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SyncMapSource"
           c:symbol-prefix="sync_map_source"
           c:type="MapsSyncMapSource"
           parent="Shumate.MapSource"
           abstract="1"
           glib:type-name="MapsSyncMapSource"
           glib:get-type="maps_sync_map_source_get_type"
           glib:type-struct="SyncMapSourceClass">
      <doc xml:space="preserve"
           filename="lib/maps-sync-map-source.h"
           line="49">Wrapper of ShumateMapSource encapsulating fill_tile_async and
fill_tile_finish into a synchronous file_tile vfunc as work-around for
https://gitlab.gnome.org/GNOME/gjs/-/issues/72

The #MapsSyncMapSource structure contains only private data
and should be accessed using the provided API</doc>
      <source-position filename="lib/maps-sync-map-source.h" line="73"/>
      <virtual-method name="fill_tile">
        <source-position filename="lib/maps-sync-map-source.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SyncMapSource" c:type="MapsSyncMapSource*"/>
          </instance-parameter>
          <parameter name="tile" transfer-ownership="none">
            <type name="Shumate.Tile" c:type="ShumateTile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <field name="parent_instance">
        <type name="Shumate.MapSource" c:type="ShumateMapSource"/>
      </field>
      <field name="priv">
        <type name="SyncMapSourcePrivate" c:type="MapsSyncMapSourcePrivate*"/>
      </field>
    </class>
    <record name="SyncMapSourceClass"
            c:type="MapsSyncMapSourceClass"
            glib:is-gtype-struct-for="SyncMapSource">
      <source-position filename="lib/maps-sync-map-source.h" line="73"/>
      <field name="parent_class">
        <type name="Shumate.MapSourceClass" c:type="ShumateMapSourceClass"/>
      </field>
      <field name="fill_tile">
        <callback name="fill_tile">
          <source-position filename="lib/maps-sync-map-source.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SyncMapSource" c:type="MapsSyncMapSource*"/>
            </parameter>
            <parameter name="tile" transfer-ownership="none">
              <type name="Shumate.Tile" c:type="ShumateTile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="SyncMapSourcePrivate"
            c:type="MapsSyncMapSourcePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="lib/maps-sync-map-source.h" line="44"/>
    </record>
    <record name="_OSMChangesetClass" c:type="_MapsOSMChangesetClass">
      <source-position filename="lib/maps-osm-changeset.h" line="40"/>
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="_OSMNodeClass" c:type="_MapsOSMNodeClass">
      <source-position filename="lib/maps-osm-node.h" line="41"/>
      <field name="parent_class" writable="1">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <record name="_OSMRelationClass" c:type="_MapsOSMRelationClass">
      <source-position filename="lib/maps-osm-relation.h" line="42"/>
      <field name="parent_class" writable="1">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <record name="_OSMWayClass" c:type="_MapsOSMWayClass">
      <source-position filename="lib/maps-osm-way.h" line="41"/>
      <field name="parent_class" writable="1">
        <type name="OSMObjectClass" c:type="MapsOSMObjectClass"/>
      </field>
    </record>
    <function name="osm_finalize" c:identifier="maps_osm_finalize">
      <source-position filename="lib/maps-osm.h" line="30"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="osm_init" c:identifier="maps_osm_init">
      <source-position filename="lib/maps-osm.h" line="29"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="osm_parse" c:identifier="maps_osm_parse" throws="1">
      <source-position filename="lib/maps-osm.h" line="32"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lib/maps-osm.c"
             line="432">A MapsOSMObject</doc>
        <type name="OSMObject" c:type="MapsOSMObject*"/>
      </return-value>
      <parameters>
        <parameter name="content" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/maps-osm.c"
               line="429">XML data</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/maps-osm.c"
               line="430">Length of data</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
