<?xml version="1.0"?>
<api>
  <!--

        This file was automatically generated.
        Please DO NOT MODIFY THIS FILE, modify .metadata files instead.

-->
  <namespace name="Leaftag" library="libleaftag.dll">
    <object name="LtObject" cname="LtObject" parent="GObject">
      <field name="Priv" cname="priv" type="LtObjectPriv*" />
      <signal name="Deleted" cname="deleted" when="LAST">
        <return-type type="void" />
        <parameters>
          <parameter type="LtObject*" name="obj" />
        </parameters>
      </signal>
      <property name="Id" cname="id" type="guint" readable="true" writeable="true" construct-only="true" />
      <property name="InDb" cname="in-db" type="gboolean" readable="true" writeable="true" construct-only="true" />
      <method name="GetId" cname="lt_object_get_id">
        <return-type type="guint" />
      </method>
      <method name="GetInDb" cname="lt_object_get_in_db">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="lt_object_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="SetId" cname="lt_object_set_id">
        <return-type type="void" />
        <parameters>
          <parameter type="guint" name="id" />
        </parameters>
      </method>
      <method name="SetInDb" cname="lt_object_set_in_db">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="in_db" />
        </parameters>
      </method>
    </object>
    <object name="LtSource" cname="LtSource" parent="LtObject">
      <field name="Priv" cname="priv" type="LtSourcePriv*" />
      <signal name="TagsChanged" cname="tags-changed" when="LAST">
        <return-type type="void" />
        <parameters>
          <parameter type="LtSource*" name="source" />
        </parameters>
      </signal>
      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="true" />
      <property name="Schema" cname="schema" type="gchar*" readable="true" />
      <method name="Delete" cname="lt_source_delete">
        <return-type type="void" />
      </method>
      <method name="EnsureInDb" cname="lt_source_ensure_in_db">
        <return-type type="void" />
      </method>
      <method name="GetFilename" cname="lt_source_get_filename">
        <return-type type="const-char*" />
      </method>
      <method name="GetSchema" cname="lt_source_get_schema">
        <return-type type="const-char*" />
      </method>
      <method name="GetTags" cname="lt_source_get_tags">
        <return-type type="GList*" />
      </method>
      <method name="GetType" cname="lt_source_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="GetUri" cname="lt_source_get_uri">
        <return-type type="const-char*" />
      </method>
      <method name="Lookup" cname="lt_source_lookup" shared="true">
        <return-type type="LtSource*" />
        <parameters>
          <parameter type="const-char*" name="uri" />
        </parameters>
      </method>
      <method name="LookupBySql" cname="lt_source_lookup_by_sql" shared="true">
        <return-type type="GList*" />
        <parameters>
          <parameter type="const-char*" name="where" />
          <parameter ellipsis="true" />
        </parameters>
      </method>
      <method name="LookupMany" cname="lt_source_lookup_many" shared="true">
        <return-type type="GList*" />
        <parameters>
          <parameter type="GList*" name="uris" />
        </parameters>
      </method>
      <constructor cname="lt_source_new">
        <parameters>
          <parameter type="const-char*" name="uri" />
        </parameters>
      </constructor>
      <method name="SetUri" cname="lt_source_set_uri">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="new_uri" />
        </parameters>
      </method>
      <method name="Tag" cname="lt_source_tag">
        <return-type type="void" />
        <parameters>
          <parameter type="GList*" name="tags" />
        </parameters>
      </method>
      <method name="TagWithNames" cname="lt_source_tag_with_names">
        <return-type type="void" />
        <parameters>
          <parameter type="GList*" name="tag_names" />
        </parameters>
      </method>
      <method name="Untag" cname="lt_source_untag">
        <return-type type="void" />
        <parameters>
          <parameter type="GList*" name="tags" />
        </parameters>
      </method>
      <method name="UntagWithNames" cname="lt_source_untag_with_names">
        <return-type type="void" />
        <parameters>
          <parameter type="GList*" name="tag_names" />
        </parameters>
      </method>
    </object>
    <object name="LtTag" cname="LtTag" parent="LtObject">
      <field name="Priv" cname="priv" type="LtTagPriv*" />
      <signal name="SourcesChanged" cname="sources-changed" when="LAST">
        <return-type type="void" />
        <parameters>
          <parameter type="LtTag*" name="tag" />
        </parameters>
      </signal>
      <property name="Name" cname="name" type="gchar*" readable="true" writeable="true" construct-only="true" />
      <property name="Description" cname="description" type="gchar*" readable="true" writeable="true" />
      <property name="Hidden" cname="hidden" type="gboolean" readable="true" writeable="true" />
      <property name="Image" cname="image" type="gchar*" readable="true" writeable="true" />
      <method name="Delete" cname="lt_tag_delete">
        <return-type type="void" />
      </method>
      <method name="EnsureInDb" cname="lt_tag_ensure_in_db">
        <return-type type="void" />
      </method>
      <method name="GetDescription" cname="lt_tag_get_description">
        <return-type type="const-char*" />
      </method>
      <method name="GetHidden" cname="lt_tag_get_hidden">
        <return-type type="gboolean" />
      </method>
      <method name="GetImage" cname="lt_tag_get_image">
        <return-type type="const-char*" />
      </method>
      <method name="GetName" cname="lt_tag_get_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetSources" cname="lt_tag_get_sources">
        <return-type type="GList*" />
        <parameters>
          <parameter type="const-char*" name="schema" />
        </parameters>
      </method>
      <method name="GetType" cname="lt_tag_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="Lookup" cname="lt_tag_lookup" shared="true">
        <return-type type="LtTag*" />
        <parameters>
          <parameter type="const-char*" name="tag_name" />
        </parameters>
      </method>
      <method name="LookupBySql" cname="lt_tag_lookup_by_sql" shared="true">
        <return-type type="GList*" />
        <parameters>
          <parameter type="const-char*" name="where" />
          <parameter ellipsis="true" />
        </parameters>
      </method>
      <method name="LookupMany" cname="lt_tag_lookup_many" shared="true">
        <return-type type="GList*" />
        <parameters>
          <parameter type="GList*" name="tag_names" />
        </parameters>
      </method>
      <constructor cname="lt_tag_new">
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </constructor>
      <method name="SetDescription" cname="lt_tag_set_description">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="description" />
        </parameters>
      </method>
      <method name="SetHidden" cname="lt_tag_set_hidden">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="hidden" />
        </parameters>
      </method>
      <method name="SetImage" cname="lt_tag_set_image">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="image_path" />
        </parameters>
      </method>
    </object>
    <alias name="LtDbResults" cname="LtDbResults" type="LtDbResults" />
    <struct name="LtDbRow" cname="LtDbRow">
      <field name="Cols" cname="cols" type="GHashTable*" />
      <method name="Get" cname="lt_db_row_get">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="key" />
        </parameters>
      </method>
    </struct>
    <struct name="LtObjectPriv" cname="LtObjectPriv" opaque="true" />
    <struct name="LtSourcePriv" cname="LtSourcePriv" opaque="true" />
    <struct name="LtTagPriv" cname="LtTagPriv" opaque="true" />
  </namespace>
</api>
