<?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="Gtk" version="3.0"/>
  <include name="Json" version="1.0"/>
  <include name="libxml2" version="2.0"/>
  <doc:format name="unknown"/>
  <namespace name="Liferea"
             version="3.0"
             shared-library=""
             c:identifier-prefixes="Liferea"
             c:symbol-prefixes="liferea">
    <interface name="Activatable"
               c:symbol-prefix="activatable"
               c:type="LifereaActivatable"
               glib:type-name="LifereaActivatable"
               glib:get-type="liferea_activatable_get_type"
               glib:type-struct="ActivatableInterface">
      <source-position filename="plugins/liferea_activatable.h" line="38"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="40">Activates the extension.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="42">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_configure_widget"
                      invoker="create_configure_widget">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="56">Creates the configure widget for the extension.
This interface method is optional.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="58">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="48">Deactivates the extension.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="50">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="liferea_activatable_activate">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="40">Activates the extension.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="42">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_configure_widget"
              c:identifier="liferea_activatable_create_configure_widget">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="56">Creates the configure widget for the extension.
This interface method is optional.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="58">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate" c:identifier="liferea_activatable_deactivate">
        <doc xml:space="preserve"
             filename="plugins/liferea_activatable.h"
             line="48">Deactivates the extension.</doc>
        <source-position filename="plugins/liferea_activatable.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_activatable.h"
                 line="50">A #LifereaActivatable.</doc>
            <type name="Activatable" c:type="LifereaActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
    </interface>
    <record name="ActivatableInterface"
            c:type="LifereaActivatableInterface"
            glib:is-gtype-struct-for="Activatable">
      <source-position filename="plugins/liferea_activatable.h" line="38"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="plugins/liferea_activatable.h" line="35"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/liferea_activatable.h"
                   line="42">A #LifereaActivatable.</doc>
              <type name="Activatable" c:type="LifereaActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="plugins/liferea_activatable.h" line="36"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/liferea_activatable.h"
                   line="50">A #LifereaActivatable.</doc>
              <type name="Activatable" c:type="LifereaActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_configure_widget">
        <callback name="create_configure_widget">
          <source-position filename="plugins/liferea_activatable.h" line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/liferea_activatable.h"
                   line="58">A #LifereaActivatable.</doc>
              <type name="Activatable" c:type="LifereaActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="LifereaApplication"
           parent="Gtk.Application"
           glib:type-name="LifereaApplication"
           glib:get-type="liferea_application_get_type"
           glib:type-struct="ApplicationClass">
      <source-position filename="liferea_application.h" line="30"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <function name="new"
                c:identifier="liferea_application_new"
                introspectable="0">
        <doc xml:space="preserve"
             filename="liferea_application.h"
             line="32">Start a new GApplication representing Liferea</doc>
        <source-position filename="liferea_application.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="liferea_application.h"
               line="39">exit code</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="liferea_application.h"
                 line="34">number of arguments</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="liferea_application.h"
                 line="35">arguments</doc>
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </function>
      <function name="rebuild_css"
                c:identifier="liferea_application_rebuild_css">
        <source-position filename="liferea_application.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="shutdown" c:identifier="liferea_application_shutdown">
        <doc xml:space="preserve"
             filename="liferea_application.h"
             line="43">Shutdown GApplication</doc>
        <source-position filename="liferea_application.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
    </class>
    <record name="ApplicationClass"
            c:type="LifereaApplicationClass"
            glib:is-gtype-struct-for="Application">
      <source-position filename="liferea_application.h" line="30"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
    </record>
    <interface name="AuthActivatable"
               c:symbol-prefix="auth_activatable"
               c:type="LifereaAuthActivatable"
               glib:type-name="LifereaAuthActivatable"
               glib:get-type="liferea_auth_activatable_get_type"
               glib:type-struct="AuthActivatableInterface">
      <source-position filename="plugins/auth_activatable.h" line="39"/>
      <prerequisite name="Activatable"/>
      <virtual-method name="query" invoker="query">
        <doc xml:space="preserve"
             filename="plugins/auth_activatable.h"
             line="41">Triggers a query for authentication infos for a given subscription.
Expects triggered plugins to use liferea_auth_info_add() to provide
any matches.</doc>
        <source-position filename="plugins/auth_activatable.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="43">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="44">a unique auth info id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="store" invoker="store">
        <doc xml:space="preserve"
             filename="plugins/auth_activatable.h"
             line="53">Triggers a query for authentication infos for a given subscription.
Expects triggered plugins to use liferea_auth_info_add() to provide
any matches.</doc>
        <source-position filename="plugins/auth_activatable.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="55">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="56">a unique auth info id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="username" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="57">the username to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="58">the password to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="query" c:identifier="liferea_auth_activatable_query">
        <doc xml:space="preserve"
             filename="plugins/auth_activatable.h"
             line="41">Triggers a query for authentication infos for a given subscription.
Expects triggered plugins to use liferea_auth_info_add() to provide
any matches.</doc>
        <source-position filename="plugins/auth_activatable.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="43">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="44">a unique auth info id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="store" c:identifier="liferea_auth_activatable_store">
        <doc xml:space="preserve"
             filename="plugins/auth_activatable.h"
             line="53">Triggers a query for authentication infos for a given subscription.
Expects triggered plugins to use liferea_auth_info_add() to provide
any matches.</doc>
        <source-position filename="plugins/auth_activatable.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="55">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="56">a unique auth info id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="username" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="57">the username to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/auth_activatable.h"
                 line="58">the password to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="AuthActivatableInterface"
            c:type="LifereaAuthActivatableInterface"
            glib:is-gtype-struct-for="AuthActivatable">
      <source-position filename="plugins/auth_activatable.h" line="39"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="query">
        <callback name="query">
          <source-position filename="plugins/auth_activatable.h" line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="43">a #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
            <parameter name="authId" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="44">a unique auth info id</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="store">
        <callback name="store">
          <source-position filename="plugins/auth_activatable.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="55">a #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
            <parameter name="authId" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="56">a unique auth info id</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="username" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="57">the username to store</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="password" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/auth_activatable.h"
                   line="58">the password to store</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Browser"
           c:symbol-prefix="browser"
           c:type="LifereaBrowser"
           parent="GObject.Object"
           glib:type-name="LifereaBrowser"
           glib:get-type="liferea_browser_get_type"
           glib:type-struct="BrowserClass">
      <source-position filename="ui/liferea_browser.h" line="31"/>
      <constructor name="new"
                   c:identifier="liferea_browser_new"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="33">Function to set up a new html view widget for any purpose.</doc>
        <source-position filename="ui/liferea_browser.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="39">a new Liferea HTML widget</doc>
          <type name="Browser" c:type="LifereaBrowser*"/>
        </return-value>
        <parameters>
          <parameter name="forceInternalBrowsing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="35">TRUE to act as fully fledged browser</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="clear"
              c:identifier="liferea_browser_clear"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="63">Loads a emtpy HTML page. Resets any item view state.</doc>
        <source-position filename="ui/liferea_browser.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="65">the HTML view widget to clear</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="do_zoom" c:identifier="liferea_browser_do_zoom">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="169">To be called when HTML view needs to change the text size
of the rendering widget implementation.</doc>
        <source-position filename="ui/liferea_browser.h" line="177"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="171">the html view</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="172">1 for zoom in, -1 for zoom out, 0 for reset</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_reader_mode"
              c:identifier="liferea_browser_get_reader_mode">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="151">Allows to query the currently active reader mode setting</doc>
        <source-position filename="ui/liferea_browser.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="157">TRUE if reader mode is on</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="153">browser to get mode of</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_widget" c:identifier="liferea_browser_get_widget">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="52">Returns the rendering widget for a HTML view. Only
to be used by liferea_shell.c for widget reparenting.</doc>
        <source-position filename="ui/liferea_browser.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="59">the rendering widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="54">the HTML view</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom" c:identifier="liferea_browser_get_zoom">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="131">Function to determine the current zoom level.</doc>
        <source-position filename="ui/liferea_browser.h" line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="137">the currently set zoom level</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="133">browser to examine</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="handle_URL"
              c:identifier="liferea_browser_handle_URL"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="87">Launches the specified URL either in external browser or by passing
plain data to Readability.js or by unfiltered rendering. Alternativly it
handles a special URL by triggering HTML generation.

Returns FALSE to indicate the HTML widget should launch the link itself.

To enforce a launching behaviour do use

   liferea_browser_launch_URL_internal (browser, url)

or

   browser_launch_URL_external (url)

instead of this method.</doc>
        <source-position filename="ui/liferea_browser.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="108">FALSE if link is to be launched by browser widget</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="89">the HTML view to use</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="90">URL to launch</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch_URL_internal"
              c:identifier="liferea_browser_launch_URL_internal"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="112">Enforces loading of the given URL in the given browser widget.</doc>
        <source-position filename="ui/liferea_browser.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="114">the HTML view to use</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="115">the URL to load</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="location_changed"
              c:identifier="liferea_browser_location_changed">
        <source-position filename="ui/liferea_browser.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="on_url" c:identifier="liferea_browser_on_url">
        <source-position filename="ui/liferea_browser.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="progress_changed"
              c:identifier="liferea_browser_progress_changed">
        <source-position filename="ui/liferea_browser.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="scroll" c:identifier="liferea_browser_scroll">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="161">Function scrolls down the given HTML view if possible.</doc>
        <source-position filename="ui/liferea_browser.h" line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="163">browser to scroll</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_headline_view"
              c:identifier="liferea_browser_set_headline_view">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="43">Make this LifereaBrowser instance a headline view. This causes
an additional "go back" step for the history tab allowing to go back
from Web content to the headline when browsing inline.</doc>
        <source-position filename="ui/liferea_browser.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_reader_mode"
              c:identifier="liferea_browser_set_reader_mode">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="141">Allows to temporarily change the reader mode of the browser, will be
reset when navigating to another URL</doc>
        <source-position filename="ui/liferea_browser.h" line="149"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="143">browser to change</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="readerMode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="144">new mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view"
              c:identifier="liferea_browser_set_view"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="179">@browser	HTML view to render to
Renders an internal view by template name passing JSON data to the template.
For it to work the template and a corresponding JavaScript function "load_&lt;name&gt;()"
must exist.</doc>
        <source-position filename="ui/liferea_browser.h" line="191"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="182">template to use (e.g. "item" or "node")</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="json" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="183">JSON data to pass to the function</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="baseURL" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="184">base URL for relative links</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="185">text direction</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom" c:identifier="liferea_browser_set_zoom">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="121">Function to change the zoom level of the HTML widget.
1.0 is a 1:1 zoom.</doc>
        <source-position filename="ui/liferea_browser.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="123">New zoom</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="title_changed"
              c:identifier="liferea_browser_title_changed">
        <source-position filename="ui/liferea_browser.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_stylesheet"
              c:identifier="liferea_browser_update_stylesheet"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="193">Update the user stylesheet of the WebView</doc>
        <source-position filename="ui/liferea_browser.h" line="199"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="195">the html view</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="hidden-urlbar"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="renderwidget" transfer-ownership="none">
        <type name="Gtk.Widget"/>
      </property>
      <glib:signal name="location-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="statusbar-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="title-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BrowserClass"
            c:type="LifereaBrowserClass"
            glib:is-gtype-struct-for="Browser">
      <source-position filename="ui/liferea_browser.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="BrowserTabs"
           c:symbol-prefix="browser_tabs"
           c:type="BrowserTabs"
           parent="GObject.Object"
           glib:type-name="BrowserTabs"
           glib:get-type="browser_tabs_get_type"
           glib:type-struct="BrowserTabsClass">
      <source-position filename="ui/browser_tabs.h" line="32"/>
      <constructor name="add_new" c:identifier="browser_tabs_add_new">
        <doc xml:space="preserve"
             filename="ui/browser_tabs.h"
             line="42">Adds a new tab with the specified URL and title.</doc>
        <source-position filename="ui/browser_tabs.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="ui/browser_tabs.h"
               line="50">the newly created HTML view</doc>
          <type name="Browser" c:type="LifereaBrowser*"/>
        </return-value>
        <parameters>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/browser_tabs.h"
                 line="44">URL to be loaded in new tab (can be NULL to do nothing)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/browser_tabs.h"
                 line="45">title of the tab to be created</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="activate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/browser_tabs.h"
                 line="46">Should the new tab be put in the foreground?</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="create"
                c:identifier="browser_tabs_create"
                introspectable="0">
        <source-position filename="ui/browser_tabs.h" line="40"/>
        <return-value>
          <doc xml:space="preserve"
               filename="ui/browser_tabs.h"
               line="38">the singleton browser tabs instance.</doc>
          <type name="BrowserTabs" c:type="BrowserTabs*"/>
        </return-value>
        <parameters>
          <parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/browser_tabs.h"
                 line="36">GtkNotebook widget to use</doc>
            <type name="Gtk.Notebook" c:type="GtkNotebook*"/>
          </parameter>
        </parameters>
      </function>
      <function name="do_zoom" c:identifier="browser_tabs_do_zoom">
        <doc xml:space="preserve"
             filename="ui/browser_tabs.h"
             line="72">Requests the tab to change zoom level.</doc>
        <source-position filename="ui/browser_tabs.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="zoom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/browser_tabs.h"
                 line="74">1 for zoom in, -1 for zoom out, 0 for reset</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_active_htmlview"
                c:identifier="browser_tabs_get_active_htmlview">
        <doc xml:space="preserve"
             filename="ui/browser_tabs.h"
             line="61">Used to determine which HTML view (a tab or the headlines view)
is currently visible and can be used to display HTML that
is to be loaded</doc>
        <source-position filename="ui/browser_tabs.h" line="70"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="ui/browser_tabs.h"
               line="68">HTML view widget</doc>
          <type name="Browser" c:type="LifereaBrowser*"/>
        </return-value>
      </function>
      <function name="show_headlines"
                c:identifier="browser_tabs_show_headlines">
        <doc xml:space="preserve"
             filename="ui/browser_tabs.h"
             line="54">makes the headline tab visible</doc>
        <source-position filename="ui/browser_tabs.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <property name="head-lines" transfer-ownership="none">
        <type name="Gtk.Widget"/>
      </property>
      <property name="notebook" transfer-ownership="none">
        <type name="Gtk.Notebook"/>
      </property>
      <property name="tab-info-list"
                introspectable="0"
                transfer-ownership="none">
        <type name="GLib.SList">
          <type c:type="tabInfo"/>
        </type>
      </property>
    </class>
    <record name="BrowserTabsClass"
            c:type="BrowserTabsClass"
            glib:is-gtype-struct-for="BrowserTabs">
      <source-position filename="ui/browser_tabs.h" line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <interface name="DownloadActivatable"
               c:symbol-prefix="download_activatable"
               c:type="LifereaDownloadActivatable"
               glib:type-name="LifereaDownloadActivatable"
               glib:get-type="liferea_download_activatable_get_type"
               glib:type-struct="DownloadActivatableInterface">
      <source-position filename="plugins/download_activatable.h" line="39"/>
      <prerequisite name="Activatable"/>
      <virtual-method name="download" invoker="download">
        <doc xml:space="preserve"
             filename="plugins/download_activatable.h"
             line="41">Triggers a download.</doc>
        <source-position filename="plugins/download_activatable.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="43">a #LifereaDownloadActivatable.</doc>
            <type name="DownloadActivatable"
                  c:type="LifereaDownloadActivatable*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="44">an URL to download</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show" invoker="show">
        <doc xml:space="preserve"
             filename="plugins/download_activatable.h"
             line="51">Show the download GUI</doc>
        <source-position filename="plugins/download_activatable.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="53">a #LifereaDownloadActivatable.</doc>
            <type name="DownloadActivatable"
                  c:type="LifereaDownloadActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="download"
              c:identifier="liferea_download_activatable_download">
        <doc xml:space="preserve"
             filename="plugins/download_activatable.h"
             line="41">Triggers a download.</doc>
        <source-position filename="plugins/download_activatable.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="43">a #LifereaDownloadActivatable.</doc>
            <type name="DownloadActivatable"
                  c:type="LifereaDownloadActivatable*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="44">an URL to download</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="liferea_download_activatable_show">
        <doc xml:space="preserve"
             filename="plugins/download_activatable.h"
             line="51">Show the download GUI</doc>
        <source-position filename="plugins/download_activatable.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/download_activatable.h"
                 line="53">a #LifereaDownloadActivatable.</doc>
            <type name="DownloadActivatable"
                  c:type="LifereaDownloadActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="shell"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Shell"/>
      </property>
    </interface>
    <record name="DownloadActivatableInterface"
            c:type="LifereaDownloadActivatableInterface"
            glib:is-gtype-struct-for="DownloadActivatable">
      <source-position filename="plugins/download_activatable.h" line="39"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="download">
        <callback name="download">
          <source-position filename="plugins/download_activatable.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/download_activatable.h"
                   line="43">a #LifereaDownloadActivatable.</doc>
              <type name="DownloadActivatable"
                    c:type="LifereaDownloadActivatable*"/>
            </parameter>
            <parameter name="url" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/download_activatable.h"
                   line="44">an URL to download</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show">
        <callback name="show">
          <source-position filename="plugins/download_activatable.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/download_activatable.h"
                   line="53">a #LifereaDownloadActivatable.</doc>
              <type name="DownloadActivatable"
                    c:type="LifereaDownloadActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="FeedList"
           c:symbol-prefix="feedlist"
           c:type="FeedList"
           parent="GObject.Object"
           glib:type-name="FeedList"
           glib:get-type="feedlist_get_type"
           glib:type-struct="FeedListClass">
      <source-position filename="feedlist.h" line="34"/>
      <function name="add_folder" c:identifier="feedlist_add_folder">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="152">Adds a folder to the feed list without any user interaction.</doc>
        <source-position filename="feedlist.h" line="158"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="154">the title of the new folder.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="add_subscription"
                c:identifier="feedlist_add_subscription"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="125">Adds a new subscription to the feed list. Does not check for duplicates.
Non-interactive.</doc>
        <source-position filename="feedlist.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="subscription" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="127">the subscription to add</doc>
            <type c:type="subscriptionPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="add_subscription_by_url"
                c:identifier="feedlist_add_subscription_by_url">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="134">Adds a new subscription to the feed list. Does not check for duplicates.
Is interactive.</doc>
        <source-position filename="feedlist.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="136">the subscription URL to add</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="add_subscription_check_duplicate"
                c:identifier="feedlist_add_subscription_check_duplicate"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="143">Adds a new subscription to the feed list, but checks first if there are
subscriptions with the same URL. Opens a confirmation dialog if needed.</doc>
        <source-position filename="feedlist.h" line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="subscription" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="145">the subscription to add</doc>
            <type c:type="subscriptionPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="create"
                c:identifier="feedlist_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="36">Set up the feed list.</doc>
        <source-position filename="feedlist.h" line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="41">the feed list instance</doc>
          <type name="FeedList" c:type="FeedList*"/>
        </return-value>
        <parameters>
          <parameter name="feedListView"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="find_node" c:identifier="feedlist_find_node">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="110">Search trough list of subscriptions for a node matching exactly
to an criteria defined by the find type and comparison string.
Searches recursively from a given parent node or the root node.
Always returns just the first occurence in traversal order.</doc>
        <source-position filename="feedlist.h" line="123"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="121">a Node *or NULL</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="112">parent node to traverse from (or NULL)</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="113">NODE_BY_(URL|FOLDER_TITLE|ID)</doc>
            <type name="feedListFindType" c:type="feedListFindType"/>
          </parameter>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="114">string to compare to</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="find_unread_feed"
                c:identifier="feedlist_find_unread_feed"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="267">Tries to find the first node with an unread item in the given folder.</doc>
        <source-position filename="feedlist.h" line="275"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="273">a found node or NULL</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="269">the folder to search</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_new_item_count"
                c:identifier="feedlist_get_new_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="63">Query overall number of new items.

Note: result might be slightly off, but error
won't aggregate over time.</doc>
        <source-position filename="feedlist.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="71">overall number of new items.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="get_root" c:identifier="feedlist_get_root">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="95">Helper function to query the feed list root node.</doc>
        <source-position filename="feedlist.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="100">the feed list root node</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
      </function>
      <function name="get_selected" c:identifier="feedlist_get_selected">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="45">Get currently selected feed list node</doc>
        <source-position filename="feedlist.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="50">selected node (or NULL)</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
      </function>
      <function name="get_unread_item_count"
                c:identifier="feedlist_get_unread_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="54">Query overall number of unread items.</doc>
        <source-position filename="feedlist.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="59">overall number of unread items.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="is_writable" c:identifier="feedlist_is_writable">
        <source-position filename="feedlist.h" line="231"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="mark_all_read" c:identifier="feedlist_mark_all_read">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="233">Triggers a recursive mark-all-read on the given node
and updates the feed list afterwards.</doc>
        <source-position filename="feedlist.h" line="241"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="235">the node to start with</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_items" c:identifier="feedlist_new_items">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="277">To be called when node subscription update gained new items.</doc>
        <source-position filename="feedlist.h" line="283"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="newCount" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="279">number of new and unread items</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_added" c:identifier="feedlist_node_added">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="160">Notifies the feed list controller that a new node
was added to the feed list. This method will insert
the new node into the feed list view and select
the new node.

This method is used for all node types (feeds, folders...).

Before calling this method the node must be given
a parent node using node_set_parent().</doc>
        <source-position filename="feedlist.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="162">the new node</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_imported" c:identifier="feedlist_node_imported">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="177">Notifies the feed list controller that a new node
was added to the feed list. Similar to feedlist_node_added()
the new node will be added to the feed list but the
selection won't be changed.

This method is used for all node types (feeds, folders...).

Before calling this method the node must be given
a parent node using node_set_parent().</doc>
        <source-position filename="feedlist.h" line="192"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="179">the new node</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_removed" c:identifier="feedlist_node_removed">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="202">Notifies the feed list controller that an existing
node was removed from it's source (feed list subtree)
and is to be destroyed and to be removed from the
feed list view.</doc>
        <source-position filename="feedlist.h" line="212"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="204">the removed node</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_was_updated"
                c:identifier="feedlist_node_was_updated">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="84">To be called when a feed is updated and has
new or dropped items forcing a node unread count
update for all affected nodes in the feed list.</doc>
        <source-position filename="feedlist.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="86">the updated node</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_node" c:identifier="feedlist_remove_node">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="194">Removes the given node from the feed list.</doc>
        <source-position filename="feedlist.h" line="200"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="196">the node to remove</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="reset_new_item_count"
                c:identifier="feedlist_reset_new_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="75">Reset the global feed list new item counter.

TODO: use signal instead</doc>
        <source-position filename="feedlist.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="reset_update_counters"
                c:identifier="feedlist_reset_update_counters"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="222">Resets the update counter of all childs of the given node</doc>
        <source-position filename="feedlist.h" line="229"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="224">the node (or NULL for whole feed list)</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="schedule_save"
                c:identifier="feedlist_schedule_save"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="214">Schedules a save requests for the feed list within the next 5s.
Triggers state saving for all feed list sources.</doc>
        <source-position filename="feedlist.h" line="220"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <glib:signal name="items-updated" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="new-items" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="node-updated" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="FeedListClass"
            c:type="FeedListClass"
            glib:is-gtype-struct-for="FeedList">
      <source-position filename="feedlist.h" line="34"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="IS_FEED" c:identifier="IS_FEED" introspectable="0">
      <source-position filename="node_provider.h" line="115"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FOLDER"
                    c:identifier="IS_FOLDER"
                    introspectable="0">
      <source-position filename="node_provider.h" line="116"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ITEMLIST"
                    c:identifier="IS_ITEMLIST"
                    introspectable="0">
      <source-position filename="itemlist.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ITEMLIST_CLASS"
                    c:identifier="IS_ITEMLIST_CLASS"
                    introspectable="0">
      <source-position filename="itemlist.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NETWORK_MONITOR"
                    c:identifier="IS_NETWORK_MONITOR"
                    introspectable="0">
      <source-position filename="net_monitor.h" line="49"/>
      <parameters>
        <parameter name="object">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NETWORK_MONITOR_CLASS"
                    c:identifier="IS_NETWORK_MONITOR_CLASS"
                    introspectable="0">
      <source-position filename="net_monitor.h" line="50"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NEWSBIN"
                    c:identifier="IS_NEWSBIN"
                    introspectable="0">
      <source-position filename="node_provider.h" line="117"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NODE_SOURCE"
                    c:identifier="IS_NODE_SOURCE"
                    introspectable="0">
      <source-position filename="node_provider.h" line="119"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VFOLDER"
                    c:identifier="IS_VFOLDER"
                    introspectable="0">
      <source-position filename="node_provider.h" line="118"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ITEMLIST" c:identifier="ITEMLIST" introspectable="0">
      <source-position filename="itemlist.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ITEMLIST_CLASS"
                    c:identifier="ITEMLIST_CLASS"
                    introspectable="0">
      <source-position filename="itemlist.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Item"
           c:symbol-prefix="item"
           c:type="LifereaItem"
           parent="GObject.Object"
           glib:type-name="LifereaItem"
           glib:get-type="liferea_item_get_type"
           glib:type-struct="ItemClass">
      <source-position filename="item.h" line="33"/>
      <constructor name="new" c:identifier="item_new">
        <doc xml:space="preserve"
             filename="item.h"
             line="85">Allocates a new item structure.</doc>
        <source-position filename="item.h" line="91"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="89">the new structure</doc>
          <type name="Item" c:type="LifereaItem*"/>
        </return-value>
      </constructor>
      <function name="load" c:identifier="item_load">
        <doc xml:space="preserve"
             filename="item.h"
             line="93">Returns the item structure for the given item id or
NULL if no such item does exist. The caller has to free
the item with item_unload() once it is not used anymore.</doc>
        <source-position filename="item.h" line="103"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="item.h"
               line="101">item structure</doc>
          <type name="Item" c:type="LifereaItem*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="95">item id to load</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </function>
      <method name="copy" c:identifier="item_copy">
        <doc xml:space="preserve"
             filename="item.h"
             line="108">Method to create a copy of an item. The copy will be
linked to the original item to allow state update
propagation (to be used with vfolders).</doc>
        <source-position filename="item.h" line="118"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="116">copy of the item.</doc>
          <type name="Item" c:type="LifereaItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="110">the item to copy</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_author" c:identifier="item_get_author">
        <doc xml:space="preserve"
             filename="item.h"
             line="182">Returns the resolved author for the item</doc>
        <source-position filename="item.h" line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="188">pointer to string in GSList meta data</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="184">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_base_url" c:identifier="item_get_base_url">
        <doc xml:space="preserve"
             filename="item.h"
             line="120">Returns the base URL for the given item.</doc>
        <source-position filename="item.h" line="128"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="126">base URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="122">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description" c:identifier="item_get_description">
        <doc xml:space="preserve"
             filename="item.h"
             line="146">Returns the description of the item.</doc>
        <source-position filename="item.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="148">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="item_get_id">
        <source-position filename="item.h" line="136"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="134">the id of the item.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="132">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source" c:identifier="item_get_source">
        <doc xml:space="preserve"
             filename="item.h"
             line="154">Returns the source of the item.</doc>
        <source-position filename="item.h" line="160"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="156">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_teaser" c:identifier="item_get_teaser">
        <doc xml:space="preserve"
             filename="item.h"
             line="162">Create a plain text teaser from the item description</doc>
        <source-position filename="item.h" line="170"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="168">newly allocated string to be free'd using g_free() (or NULL)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="164">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text_direction" c:identifier="item_get_text_direction">
        <doc xml:space="preserve"
             filename="item.h"
             line="248">Returns the text direction of the item based on title or description.</doc>
        <source-position filename="item.h" line="254"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="250">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="item_get_title">
        <doc xml:space="preserve"
             filename="item.h"
             line="138">Returns the title of the item.</doc>
        <source-position filename="item.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="140">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="make_link" c:identifier="item_make_link">
        <doc xml:space="preserve"
             filename="item.h"
             line="172">Returns the resolved link for the item.</doc>
        <source-position filename="item.h" line="180"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="178">newly allocated URI to be free'd using g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="174">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description" c:identifier="item_set_description">
        <doc xml:space="preserve"
             filename="item.h"
             line="201">Sets the item description. If called more than once it
will merge the new description against the old one deciding
on the best to keep.</doc>
        <source-position filename="item.h" line="210"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="203">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="204">the content</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id" c:identifier="item_set_id">
        <doc xml:space="preserve"
             filename="item.h"
             line="221">Sets the item id</doc>
        <source-position filename="item.h" line="228"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="223">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve" filename="item.h" line="224">the id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source" c:identifier="item_set_source">
        <doc xml:space="preserve"
             filename="item.h"
             line="212">Sets the item source</doc>
        <source-position filename="item.h" line="219"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="214">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="215">the source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time" c:identifier="item_set_time">
        <doc xml:space="preserve"
             filename="item.h"
             line="230">Sets the item time. Always use this when a valid date was
supplied for the item!</doc>
        <source-position filename="item.h" line="238"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="232">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
          <parameter name="time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="233">the time</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="item_set_title">
        <doc xml:space="preserve"
             filename="item.h"
             line="192">Sets the item title</doc>
        <source-position filename="item.h" line="199"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="194">the item</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="195">the title</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_json" c:identifier="item_to_json" introspectable="0">
        <source-position filename="item.h" line="246"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="244">JSON string (to be free'd using g_free())</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="242">the item to serialize</doc>
            <type name="Item" c:type="LifereaItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="id">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="readStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="popupStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="updateStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="flagStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="hasEnclosure">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="isHidden">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="title">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="source">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="sourceId">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="validGuid">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="validTime">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="description">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="metadata">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="tmpdata">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="time">
        <type name="gint64" c:type="gint64"/>
      </field>
      <field name="commentFeedId">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parentItemId">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="isComment">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="nodeId">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parentNodeId">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="sourceNr">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="remoteReadStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="remoteFlagStatus">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </class>
    <record name="ItemClass"
            c:type="LifereaItemClass"
            glib:is-gtype-struct-for="Item">
      <source-position filename="item.h" line="33"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ItemList"
           c:symbol-prefix="itemlist"
           c:type="ItemList"
           parent="GObject.Object"
           glib:type-name="ItemList"
           glib:get-type="itemlist_get_type"
           glib:type-struct="ItemListClass">
      <source-position filename="itemlist.h" line="53"/>
      <function name="add_search_result"
                c:identifier="itemlist_add_search_result"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="203">Register a search result item loader.</doc>
        <source-position filename="itemlist.h" line="210"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="205">the search result item loader</doc>
            <type c:type="ItemLoader*"/>
          </parameter>
        </parameters>
      </function>
      <function name="create"
                c:identifier="itemlist_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="57">Set up the item list.</doc>
        <source-position filename="itemlist.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="62">the item list instance</doc>
          <type name="ItemList" c:type="ItemList*"/>
        </return-value>
      </function>
      <function name="get_displayed_node"
                c:identifier="itemlist_get_displayed_node">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="66">Returns the currently displayed node.</doc>
        <source-position filename="itemlist.h" line="73"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="71">displayed node (or NULL)</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
      </function>
      <function name="get_selected"
                c:identifier="itemlist_get_selected"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="75">Returns the currently selected and displayed item.</doc>
        <source-position filename="itemlist.h" line="82"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="80">displayed item (or NULL) to be free'd using item_unload()</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
      </function>
      <function name="get_selected_id" c:identifier="itemlist_get_selected_id">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="84">Returns the id of the currently selected item.</doc>
        <source-position filename="itemlist.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="89">displayed item id (or 0)</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
      </function>
      <function name="load" c:identifier="itemlist_load">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="104">Loads the passed nodes items into the item list.</doc>
        <source-position filename="itemlist.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="106">the node</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="merge_itemset"
                c:identifier="itemlist_merge_itemset"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="93">To be called whenever a feed was updated. If it is a somehow
displayed feed it is loaded this method decides if the
and how the item list GUI needs to be updated.</doc>
        <source-position filename="itemlist.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="itemSet" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="95">the item set to be merged</doc>
            <type name="itemSetPtr" c:type="itemSetPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_all_items"
                c:identifier="itemlist_remove_all_items"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="161">To be called whenever the user wants to remove
all items of a node. Item list selection will be
resetted. All items are removed immediately.</doc>
        <source-position filename="itemlist.h" line="169"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="163">the node whose item list is to be removed</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_item"
                c:identifier="itemlist_remove_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="139">To be called whenever the user wants to remove
a single item. If necessary the item will be unselected.
The item will be removed immediately.</doc>
        <source-position filename="itemlist.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="141">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_items"
                c:identifier="itemlist_remove_items"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="149">To be called whenever some of the items of an item set
are to be removed. In difference to itemlist_remove_item()
this function will remove all items first and update the
GUI once.</doc>
        <source-position filename="itemlist.h" line="159"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="itemSet" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="151">the item set from which items are to be removed</doc>
            <type name="itemSetPtr" c:type="itemSetPtr"/>
          </parameter>
          <parameter name="items" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="152">the items to be removed</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </function>
      <function name="select_next_unread"
                c:identifier="itemlist_select_next_unread">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="179">Tries to select the next unread item that is currently in the
item list. Or does nothing if there are no unread items left.</doc>
        <source-position filename="itemlist.h" line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="selection_changed"
                c:identifier="itemlist_selection_changed"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="171">Called from GUI when item list selection changes.</doc>
        <source-position filename="itemlist.h" line="177"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="173">new selected item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="toggle_flag"
                c:identifier="itemlist_toggle_flag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="187">Toggle the flag of the given item.</doc>
        <source-position filename="itemlist.h" line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="189">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="toggle_read_status"
                c:identifier="itemlist_toggle_read_status"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="195">Toggle the read status of the given item.</doc>
        <source-position filename="itemlist.h" line="201"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="197">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="unload" c:identifier="itemlist_unload">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="112">Clears the item list.</doc>
        <source-position filename="itemlist.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update_item" c:identifier="itemlist_update_item">
        <source-position filename="itemlist.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ItemListPrivate" c:type="ItemListPrivate*"/>
      </field>
      <glib:signal name="item-updated" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ItemListClass"
            c:type="ItemListClass"
            glib:is-gtype-struct-for="ItemList">
      <source-position filename="itemlist.h" line="53"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ItemListPrivate"
            c:type="ItemListPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="itemlist.h" line="40"/>
    </record>
    <class name="ItemListView"
           c:symbol-prefix="item_list_view"
           c:type="ItemListView"
           parent="GObject.Object"
           glib:type-name="ItemListView"
           glib:get-type="item_list_view_get_type"
           glib:type-struct="ItemListViewClass">
      <source-position filename="ui/item_list_view.h" line="37"/>
      <function name="create"
                c:identifier="item_list_view_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="39">Create a new ItemListView instance.</doc>
        <source-position filename="ui/item_list_view.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="45">the ItemListView instance</doc>
          <type name="ItemListView" c:type="ItemListView*"/>
        </return-value>
        <parameters>
          <parameter name="wide" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="41">TRUE if ItemListView should be optimized for wide view(itemview-&gt;priv-&gt;currentLayoutMode == NODE_VIEW_MODE_WIDE)</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <method name="add_item"
              c:identifier="item_list_view_add_item"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="106">Add an item to an ItemListView. This method is expensive and
is to be used only for new items that need to be inserted
by background updates.</doc>
        <source-position filename="ui/item_list_view.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="108">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="109">the item to add</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="item_list_view_clear"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="137">Remove all items and resets a ItemListView.</doc>
        <source-position filename="ui/item_list_view.h" line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="139">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="contains_id" c:identifier="item_list_view_contains_id">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="76">Checks whether the given id is in the ItemListView.</doc>
        <source-position filename="ui/item_list_view.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="83">TRUE if the item is in the ItemListView</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="78">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="79">the item id</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="enable_favicon_column"
              c:identifier="item_list_view_enable_favicon_column">
        <source-position filename="ui/item_list_view.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_unread_item"
              c:identifier="item_list_view_find_unread_item"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="207">Finds and selects the next unread item starting at the given
item in a ItemListView according to the current GtkTreeView sorting order.</doc>
        <source-position filename="ui/item_list_view.h" line="217"/>
        <return-value nullable="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="215">unread item (or NULL)</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="209">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="startId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="210">0 or the item id to start from</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_widget" c:identifier="item_list_view_get_widget">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="49">Returns the GtkWidget used by the ItemListView instance.</doc>
        <source-position filename="ui/item_list_view.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="54">a GtkWidget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_cursor" c:identifier="item_list_view_move_cursor">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="58">Moves the cursor in the item list step times.
Negative value means moving backwards.</doc>
        <source-position filename="ui/item_list_view.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="60">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="step" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="61">move distance</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="move_cursor_to_first"
              c:identifier="item_list_view_move_cursor_to_first">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="68">Moves the cursor to the first element.</doc>
        <source-position filename="ui/item_list_view.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="70">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_item"
              c:identifier="item_list_view_remove_item"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="117">Remove an item from an ItemListView. This method is expensive
and is to be used only for items removed by background updates
(usually cache drops).</doc>
        <source-position filename="ui/item_list_view.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="119">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="120">the item to remove</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </method>
      <method name="select"
              c:identifier="item_list_view_select"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="97">Selects the given item (if it is in the ItemListView).</doc>
        <source-position filename="ui/item_list_view.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="99">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="100">the item to select</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_column"
              c:identifier="item_list_view_set_sort_column">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="87">Changes the sorting type (and direction).</doc>
        <source-position filename="ui/item_list_view.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="89">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="sortType" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="90">new sort type</doc>
            <type name="nodeViewSortType" c:type="nodeViewSortType"/>
          </parameter>
          <parameter name="sortReversed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="91">TRUE for ascending order</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="update"
              c:identifier="item_list_view_update"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="145">Update the ItemListView with the newly added items. To be called
after doing a batch of item_list_view_add_item() calls.</doc>
        <source-position filename="ui/item_list_view.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="147">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_all_items"
              c:identifier="item_list_view_update_all_items"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="238">Update all items of the ItemListView. To be used after
initial batch loading.</doc>
        <source-position filename="ui/item_list_view.h" line="245"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="240">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_item"
              c:identifier="item_list_view_update_item"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/item_list_view.h"
             line="229">Update a single item of a ItemListView</doc>
        <source-position filename="ui/item_list_view.h" line="236"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="ilv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="231">the ItemListView</doc>
            <type name="ItemListView" c:type="ItemListView*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="232">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ItemListViewClass"
            c:type="ItemListViewClass"
            glib:is-gtype-struct-for="ItemListView">
      <source-position filename="ui/item_list_view.h" line="37"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ItemView"
           c:symbol-prefix="itemview"
           c:type="ItemView"
           parent="GObject.Object"
           glib:type-name="ItemView"
           glib:get-type="itemview_get_type"
           glib:type-struct="ItemViewClass">
      <source-position filename="ui/itemview.h" line="45"/>
      <function name="add_item"
                c:identifier="itemview_add_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="85">Adds an item to the view for rendering. The item must belong
to the item set that was announced with itemview_set_displayed_node().

TODO: use item merger signal instead</doc>
        <source-position filename="ui/itemview.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="87">the item to add</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="clear" c:identifier="itemview_clear" introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="47">Removes all currently loaded items from the item view.</doc>
        <source-position filename="ui/itemview.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="create"
                c:identifier="itemview_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="217">Creates the item view singleton instance.</doc>
        <source-position filename="ui/itemview.h" line="225"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="223">the item view instance</doc>
          <type name="ItemView" c:type="ItemView*"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="219">parent window widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </function>
      <function name="do_zoom" c:identifier="itemview_do_zoom">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="237">Requests the item view to change zoom level.</doc>
        <source-position filename="ui/itemview.h" line="243"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="zoom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="239">1 for zoom in, -1 for zoom out, 0 for reset</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="find_unread_item"
                c:identifier="itemview_find_unread_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="166">Finds the next unread item.</doc>
        <source-position filename="ui/itemview.h" line="174"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="172">the item found (or NULL)</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
        <parameters>
          <parameter name="startId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="168">the item id to start at (or NULL for starting at the top)</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_effective_layout"
                c:identifier="itemview_get_effective_layout">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="76">Returns the effective layout mode. Never returns NODE_VIEW_MODE_AUTO.</doc>
        <source-position filename="ui/itemview.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="81">the effective layout mode (NODE_VIEW_MODE_*)</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="get_layout" c:identifier="itemview_get_layout">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="208">Returns the viewing mode property of the currently displayed item set.</doc>
        <source-position filename="ui/itemview.h" line="215"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="213">viewing mode (0 = normal, 1 = wide, 2 = auto)</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="launch_URL" c:identifier="itemview_launch_URL">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="227">Launch the given URL in the currently active HTML view.</doc>
        <source-position filename="ui/itemview.h" line="235"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="229">the link to load</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="internal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="230">TRUE if internal browsing is to be enforced</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="move_cursor" c:identifier="itemview_move_cursor">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="184">Moves the cursor in the item list step times.
Negative value means moving backwards.</doc>
        <source-position filename="ui/itemview.h" line="191"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="step" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="186">moving steps</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </function>
      <function name="move_cursor_to_first"
                c:identifier="itemview_move_cursor_to_first">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="193">Moves the cursor in the item list to the first element.</doc>
        <source-position filename="ui/itemview.h" line="198"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="remove_item"
                c:identifier="itemview_remove_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="96">Removes a given item from the view.

TODO: use item merger signal instead</doc>
        <source-position filename="ui/itemview.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="98">the item to remove</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="scroll" c:identifier="itemview_scroll">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="176">Paging/skimming the item view. If possible scrolls
down otherwise it triggers Next-Unread.</doc>
        <source-position filename="ui/itemview.h" line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="select_enclosure"
                c:identifier="itemview_select_enclosure">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="115">Selects the nth enclosure in the enclosure list view currently presented.</doc>
        <source-position filename="ui/itemview.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="117">the position to select</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <function name="select_item"
                c:identifier="itemview_select_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="106">Selects a given item in the view. The item must be
added using itemview_add_item before selecting.</doc>
        <source-position filename="ui/itemview.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="108">the item to select</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_displayed_node"
                c:identifier="itemview_set_displayed_node"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="54">Prepares the view for displaying items of the given node.</doc>
        <source-position filename="ui/itemview.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="56">the node whose items are to be presented</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_layout" c:identifier="itemview_set_layout">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="200">Switches the layout for the given viewing mode.</doc>
        <source-position filename="ui/itemview.h" line="206"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="newMode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="202">new view mode (NODE_VIEW_MODE_*)</doc>
            <type name="nodeViewType" c:type="nodeViewType"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_mode" c:identifier="itemview_set_mode">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="68">Set/unset the display mode of the item view.</doc>
        <source-position filename="ui/itemview.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="70">item view mode constant</doc>
            <type name="itemViewMode" c:type="itemViewMode"/>
          </parameter>
        </parameters>
      </function>
      <function name="style_update" c:identifier="itemview_style_update">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="245">Invokes a change of the href attribute in WebView's &lt;link&gt; tag</doc>
        <source-position filename="ui/itemview.h" line="250"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update"
                c:identifier="itemview_update"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="156">Refreshes the item view. Needs to be called after each
add, remove or update of one or more items.

TODO: register for signal at item merger instead</doc>
        <source-position filename="ui/itemview.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update_all_items"
                c:identifier="itemview_update_all_items">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="139">Requests updating the rendering of a all displayed items.</doc>
        <source-position filename="ui/itemview.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update_item"
                c:identifier="itemview_update_item"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="131">Requests updating the rendering of a given item.</doc>
        <source-position filename="ui/itemview.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="133">the item to update</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_node_info"
                c:identifier="itemview_update_node_info"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="146">Requests updating the rendering of the node info view.

TODO: register for signal at feed merger instead</doc>
        <source-position filename="ui/itemview.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="148">the node whose info view is to be updated</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </function>
      <method name="open_next_enclosure"
              c:identifier="itemview_open_next_enclosure">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="123">Selects and open the next enclosure in the list.</doc>
        <source-position filename="ui/itemview.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/itemview.h"
                 line="125">The ItemView</doc>
            <type name="ItemView" c:type="ItemView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="html-view" transfer-ownership="none">
        <type name="Browser"/>
      </property>
      <property name="item-list-view" transfer-ownership="none">
        <type name="ItemListView"/>
      </property>
    </class>
    <record name="ItemViewClass"
            c:type="ItemViewClass"
            glib:is-gtype-struct-for="ItemView">
      <source-position filename="ui/itemview.h" line="45"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="NETWORK_MONITOR"
                    c:identifier="NETWORK_MONITOR"
                    introspectable="0">
      <source-position filename="net_monitor.h" line="47"/>
      <parameters>
        <parameter name="object">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NETWORK_MONITOR_CLASS"
                    c:identifier="NETWORK_MONITOR_CLASS"
                    introspectable="0">
      <source-position filename="net_monitor.h" line="48"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NETWORK_MONITOR_GET_CLASS"
                    c:identifier="NETWORK_MONITOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="net_monitor.h" line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NODE_PROVIDER"
                    c:identifier="NODE_PROVIDER"
                    introspectable="0">
      <source-position filename="node_provider.h" line="81"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="NODE_SOURCE_MAX_AUTH_FAILURES"
              value="3"
              c:type="NODE_SOURCE_MAX_AUTH_FAILURES">
      <source-position filename="node_source.h" line="95"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="NODE_SOURCE_TYPE"
                    c:identifier="NODE_SOURCE_TYPE"
                    introspectable="0">
      <source-position filename="node_source.h" line="244"/>
      <parameters>
        <parameter name="n">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="NODE_SOURCE_TYPE_DUMMY_ID"
              value="fl_dummy"
              c:type="NODE_SOURCE_TYPE_DUMMY_ID">
      <source-position filename="node_source.h" line="246"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="NetworkMonitor"
           c:symbol-prefix="network_monitor"
           c:type="NetworkMonitor"
           parent="GObject.Object"
           glib:type-name="NetworkMonitor"
           glib:get-type="network_monitor_get_type"
           glib:type-struct="NetworkMonitorClass">
      <source-position filename="net_monitor.h" line="42"/>
      <function name="get"
                c:identifier="network_monitor_get"
                introspectable="0">
        <doc xml:space="preserve"
             filename="net_monitor.h"
             line="53">Returns the network monitor object. Creates it if
necessary first.

@returns the network monitor</doc>
        <source-position filename="net_monitor.h" line="61"/>
        <return-value>
          <type name="NetworkMonitor" c:type="NetworkMonitor*"/>
        </return-value>
      </function>
      <function name="is_online" c:identifier="network_monitor_is_online">
        <doc xml:space="preserve"
             filename="net_monitor.h"
             line="72">Queries the online status.

@return TRUE if online</doc>
        <source-position filename="net_monitor.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="proxy_changed"
                c:identifier="network_monitor_proxy_changed"
                introspectable="0">
        <doc xml:space="preserve"
             filename="net_monitor.h"
             line="81">Called by networking when proxy was changed.</doc>
        <source-position filename="net_monitor.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="set_online" c:identifier="network_monitor_set_online">
        <doc xml:space="preserve"
             filename="net_monitor.h"
             line="63">Sets the online status according to mode.

@param mode	TRUE for online, FALSE for offline</doc>
        <source-position filename="net_monitor.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="NetworkMonitorPrivate" c:type="NetworkMonitorPrivate*"/>
      </field>
      <glib:signal name="online-status-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="proxy-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="NetworkMonitorClass"
            c:type="NetworkMonitorClass"
            glib:is-gtype-struct-for="NetworkMonitor">
      <source-position filename="net_monitor.h" line="42"/>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="NetworkMonitorPrivate"
            c:type="NetworkMonitorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="net_monitor.h" line="31"/>
    </record>
    <class name="Node"
           c:symbol-prefix="node"
           c:type="Node"
           parent="GObject.Object"
           glib:type-name="Node"
           glib:get-type="node_get_type"
           glib:type-struct="NodeClass">
      <source-position filename="node.h" line="47"/>
      <constructor name="new" c:identifier="node_new">
        <doc xml:space="preserve"
             filename="node.h"
             line="83">Creates a new node structure.</doc>
        <source-position filename="node.h" line="91"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="89">the new node</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="85">the node provider name (e.g. "feed")</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="from_id" c:identifier="node_from_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="103">Node *lookup by node id. Will report an error if the queried
id does not exist.</doc>
        <source-position filename="node.h" line="112"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="110">the node with the given id (or NULL)</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="105">the node id to look up</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_used_id" c:identifier="node_is_used_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="93">Can be used to check whether an id is used or not.</doc>
        <source-position filename="node.h" line="101"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="99">the node with the given id (or NULL)</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="95">the node id to check</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_id" c:identifier="node_new_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="282">Returns a new unused unique node id.</doc>
        <source-position filename="node.h" line="289"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="287">new id (to be free'd using g_free)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <method name="auto_update_subscription"
              c:identifier="node_auto_update_subscription">
        <doc xml:space="preserve"
             filename="node.h"
             line="174">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
        <source-position filename="node.h" line="181"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="176">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_add_child_feed" c:identifier="node_can_add_child_feed">
        <doc xml:space="preserve"
             filename="node.h"
             line="377">Query whether a feed be added to the given node.</doc>
        <source-position filename="node.h" line="385"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="383">TRUE if a feed can be added</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="379">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_add_child_folder"
              c:identifier="node_can_add_child_folder">
        <doc xml:space="preserve"
             filename="node.h"
             line="387">Query whether a folder be added to the given node.</doc>
        <source-position filename="node.h" line="395"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="393">TRUE if a folder can be added</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="389">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="foreach_child_full" c:identifier="node_foreach_child_full">
        <doc xml:space="preserve"
             filename="node.h"
             line="413">Do not call this method directly! Do use
node_foreach_child() or node_foreach_child_data()!</doc>
        <source-position filename="node.h" line="423"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="415">the node whose children should be processed</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="416">the function to process all found elements</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="417">0 if func should be called without user_data, 1 if func should be called with user_data</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="418">specifies the second argument that func should be passed</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_base_url" c:identifier="node_get_base_url">
        <doc xml:space="preserve"
             filename="node.h"
             line="366">Returns the base URL for the given node.
If it is a mixed item set NULL will be returned.</doc>
        <source-position filename="node.h" line="375"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="373">base URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="368">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_favicon_file" c:identifier="node_get_favicon_file">
        <doc xml:space="preserve"
             filename="node.h"
             line="271">Returns the name of the favicon cache file for the given node.
If there is no favicon a default icon file name will be returned.</doc>
        <source-position filename="node.h" line="280"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="278">a file name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="273">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="node_get_icon" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="249">Returns an appropriate icon for the given node. If the node
is unavailable the "unavailable" icon will be returned. If
the node is available an existing favicon or the node type
specific default icon will be returned.</doc>
        <source-position filename="node.h" line="259"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="257">a pixmap or NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="node_get_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="291">Query the unique id string of the node.</doc>
        <source-position filename="node.h" line="299"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="297">id string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="293">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_itemset"
              c:identifier="node_get_itemset"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="326">Loads all items of the given node into memory.
The caller needs to free the item set using itemset_free()</doc>
        <source-position filename="node.h" line="335"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node.h"
               line="333">the item set</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="328">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_large_icon"
              c:identifier="node_get_large_icon"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="261">Returns a large icon for the node. Does not return any default
icons like node_get_icon() does.</doc>
        <source-position filename="node.h" line="269"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="267">a pixmap or NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="node_get_title">
        <doc xml:space="preserve"
             filename="node.h"
             line="204">Query the node's title for the feed list.</doc>
        <source-position filename="node.h" line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="210">the title</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="206">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_ancestor" c:identifier="node_is_ancestor">
        <doc xml:space="preserve"
             filename="node.h"
             line="193">Determines whether node1 is an ancestor of node2</doc>
        <source-position filename="node.h" line="202"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="200">TRUE if node1 is ancestor of node2</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="node1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="195">the possible ancestor</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="node2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="196">the possible child</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_icon" c:identifier="node_load_icon">
        <doc xml:space="preserve"
             filename="node.h"
             line="345">Load node icon in memory. Should be called only once on startup
and when the node icon has changed.</doc>
        <source-position filename="node.h" line="352"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="347">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="mark_all_read"
              c:identifier="node_mark_all_read"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="232">Recursively marks all items of the given node as read.</doc>
        <source-position filename="node.h" line="238"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="234">the node to process</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="provider_get_name" c:identifier="node_provider_get_name">
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="83">Maps node type to string. For feed nodes
it maps to the feed type string.</doc>
        <source-position filename="node_provider.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="90">type string (or NULL if unknown)</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_provider.h"
                 line="85">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="provider_is" c:identifier="node_provider_is">
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="104">Test whether a node belongs to of a given provider type name</doc>
        <source-position filename="node_provider.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="111">TRUE if node is of the given type</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_provider.h"
                 line="106">the node to check</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_provider.h"
                 line="107">the node provider name to test for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="node_remove">
        <doc xml:space="preserve"
             filename="node.h"
             line="138">Removes all data associated with the given node.</doc>
        <source-position filename="node.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="140">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reparent" c:identifier="node_reparent">
        <doc xml:space="preserve"
             filename="node.h"
             line="128">Set a node's new parent and update UI. If a node already has a parent,
it will be removed from its parent children list.</doc>
        <source-position filename="node.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="130">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="new_parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="131">nodes new parent</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset_update_counter"
              c:identifier="node_reset_update_counter">
        <doc xml:space="preserve"
             filename="node.h"
             line="183">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
        <source-position filename="node.h" line="191"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="185">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="now" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="186">the current timestamp</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="node_save">
        <doc xml:space="preserve"
             filename="node.h"
             line="310">Saves the given node to cache.</doc>
        <source-position filename="node.h" line="316"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="312">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_items_to_file"
              c:identifier="node_save_items_to_file"
              throws="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="397">Exports all items in this node as a RSS2 feed.</doc>
        <source-position filename="node.h" line="405"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="399">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="400">the destination file name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_data" c:identifier="node_set_data">
        <doc xml:space="preserve"
             filename="node.h"
             line="146">Attaches a data structure to the given node.</doc>
        <source-position filename="node.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="148">the node to attach to</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="149">the structure</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon" c:identifier="node_set_icon" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="240">Assigns a new pixmaps as the favicon representing this node.</doc>
        <source-position filename="node.h" line="247"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="242">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="243">a pixmap or NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id" c:identifier="node_set_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="301">Set the unique id string of the node.</doc>
        <source-position filename="node.h" line="308"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="303">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="304">the id string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parent" c:identifier="node_set_parent">
        <doc xml:space="preserve"
             filename="node.h"
             line="114">Sets a nodes parent. If no parent node is given the
parent node of the currently selected feed or the
selected folder will be used.

To be used before calling feedlist_node_added()</doc>
        <source-position filename="node.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="116">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="117">the parent node (optional can be NULL)</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="118">insert position (optional can be 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_column" c:identifier="node_set_sort_column">
        <doc xml:space="preserve"
             filename="node.h"
             line="354">Change/Set the sort column of a given node.</doc>
        <source-position filename="node.h" line="364"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="362">TRUE if the passed settings were different from the previous ones</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="356">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="sortColumn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="357">sort column id</doc>
            <type name="nodeViewSortType" c:type="nodeViewSortType"/>
          </parameter>
          <parameter name="reversed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="358">TRUE if order should be reversed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subscription" c:identifier="node_set_subscription">
        <doc xml:space="preserve"
             filename="node.h"
             line="155">Attaches the subscription to the given node.</doc>
        <source-position filename="node.h" line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="157">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="subscription"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="158">the subscription</doc>
            <type name="gpointer" c:type="subscription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="node_set_title">
        <doc xml:space="preserve"
             filename="node.h"
             line="214">Sets the node's title for the feed list.</doc>
        <source-position filename="node.h" line="221"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="216">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="217">the title</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_add_folder"
              c:identifier="node_source_add_folder"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="341">Called when a new folder is to be added to a node source feed list.</doc>
        <source-position filename="node_source.h" line="350"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_source.h"
               line="348">a new node representing the new folder</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="343">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="344">the folder title</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_add_subscription"
              c:identifier="node_source_add_subscription"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="321">Called when a new subscription has been added to the node source.</doc>
        <source-position filename="node_source.h" line="330"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_source.h"
               line="328">a new node intialized with the new subscription</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="323">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="subscription"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="324">the new subscription</doc>
            <type name="gpointer" c:type="subscription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_auto_update"
              c:identifier="node_source_auto_update"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="311">Request the source to update its subscription list and
the child subscriptions if necessary according to the
update interval of the source.</doc>
        <source-position filename="node_source.h" line="319"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="313">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="source_convert_to_local"
              c:identifier="node_source_convert_to_local"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="399">Converts all subscriptions to default source subscriptions.</doc>
        <source-position filename="node_source.h" line="405"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="401">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="source_find_or_create_folder"
              c:identifier="node_source_find_or_create_folder"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="362">Find a folder by the name under parent or create it.

If a node source doesn't provide ids the category display name should be
used as id. The worst thing happening then is to evenly named categories
being merged into one (which the user can easily workaround by renaming
on the remote side).</doc>
        <source-position filename="node_source.h" line="377"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_source.h"
               line="375">a valid Node</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <instance-parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="364">Parent folder (or source root node)</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="365">Folder/category id (or NULL)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="366">Folder display name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_item_mark_read"
              c:identifier="node_source_item_mark_read"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="379">Called when the read state of an item changes.</doc>
        <source-position filename="node_source.h" line="387"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="381">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="382">the affected item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="newState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="383">the new item read state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_item_set_flag"
              c:identifier="node_source_item_set_flag">
        <source-position filename="node_source.h" line="397"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="newState" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_new"
              c:identifier="node_source_new"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="268">Creates a new source and assigns it to the given new node.
To be used to prepare a source node before adding it to the
feed list. This method takes care of setting the proper source
subscription type and setting up the subscription if url != NULL.
The caller needs set additional auth info for the subscription.</doc>
        <source-position filename="node_source.h" line="280"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="270">a newly created node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="271">the node source provider id</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="272">subscription URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_remove_node"
              c:identifier="node_source_remove_node"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="332">Called when an existing subscription is to be removed from a node source.</doc>
        <source-position filename="node_source.h" line="339"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="334">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="335">the child node to remove</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_root_from_node"
              c:identifier="node_source_root_from_node"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="248">Get the root node of a feed list source for any given child node.</doc>
        <source-position filename="node_source.h" line="256"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_source.h"
               line="254">node source root node</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="250">any child node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="source_set_auth_token"
              c:identifier="node_source_set_auth_token"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="291">Store any type of authentication token (e.g. a cookie or session id)

FIXME: maybe drop this in favour of node metadata</doc>
        <source-position filename="node_source.h" line="300"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="293">a node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="294">a string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_set_state"
              c:identifier="node_source_set_state"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="282">Change state of the node source by node</doc>
        <source-position filename="node_source.h" line="289"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="284">the node source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="newState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="285">the new state</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_to_json"
              c:identifier="node_source_to_json"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="407">Add source specific data to the json builder.</doc>
        <source-position filename="node_source.h" line="414"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="409">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="410">the json builder</doc>
            <type name="Json.Builder" c:type="JsonBuilder*"/>
          </parameter>
        </parameters>
      </method>
      <method name="source_update"
              c:identifier="node_source_update"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="302">Force the source to update its subscription list and
the child subscriptions themselves.</doc>
        <source-position filename="node_source.h" line="309"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="304">the source node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="source_update_folder"
              c:identifier="node_source_update_folder"
              introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="352">Called to update a nodes folder. If current folder != given folder
the node will be reparented.</doc>
        <source-position filename="node_source.h" line="360"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="354">any node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="355">the target folder</doc>
            <type name="Node" c:type="Node*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_json" c:identifier="node_to_json">
        <doc xml:space="preserve"
             filename="node.h"
             line="318">Returns a JSON representation of the node to be free'd with g_free()</doc>
        <source-position filename="node.h" line="324"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="320">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_counters" c:identifier="node_update_counters">
        <doc xml:space="preserve"
             filename="node.h"
             line="223">Update the number of items and unread items of a node from
the DB. This method ensures propagation to parent folders.</doc>
        <source-position filename="node.h" line="230"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="225">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_favicon" c:identifier="node_update_favicon">
        <doc xml:space="preserve"
             filename="node.h"
             line="337">Called when updating favicons is requested.</doc>
        <source-position filename="node.h" line="343"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="339">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_subscription"
              c:identifier="node_update_subscription">
        <doc xml:space="preserve"
             filename="node.h"
             line="164">Helper function to be used with node_foreach_child()
to mass-update subscriptions.</doc>
        <source-position filename="node.h" line="172"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="166">the node</doc>
            <type name="Node" c:type="Node*"/>
          </instance-parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="167">update flags</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="data">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="subscription">
        <type name="gpointer" c:type="subscription*"/>
      </field>
      <field name="provider">
        <type name="gpointer" c:type="nodeProvider*"/>
      </field>
      <field name="source">
        <type name="gpointer" c:type="nodeSource*"/>
      </field>
      <field name="iconFile">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parent">
        <type name="Node" c:type="Node*"/>
      </field>
      <field name="children">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="id">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="itemCount">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="unreadCount">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="popupCount">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="newCount">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="title">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="icon">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="available">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="expanded">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="sortColumn">
        <type name="nodeViewSortType" c:type="nodeViewSortType"/>
      </field>
      <field name="sortReversed">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="needsUpdate">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="needsRecount">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </class>
    <record name="NodeClass"
            c:type="NodeClass"
            glib:is-gtype-struct-for="Node">
      <source-position filename="node.h" line="47"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <interface name="NodeSourceActivatable"
               c:symbol-prefix="node_source_activatable"
               c:type="LifereaNodeSourceActivatable"
               glib:type-name="LifereaNodeSourceActivatable"
               glib:get-type="liferea_node_source_activatable_get_type"
               glib:type-struct="NodeSourceActivatableInterface">
      <source-position filename="plugins/node_source_activatable.h" line="38"/>
      <prerequisite name="Activatable"/>
    </interface>
    <record name="NodeSourceActivatableInterface"
            c:type="LifereaNodeSourceActivatableInterface"
            glib:is-gtype-struct-for="NodeSourceActivatable">
      <source-position filename="plugins/node_source_activatable.h" line="38"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
    </record>
    <interface name="NodeSourceProvider"
               c:symbol-prefix="node_source_provider"
               c:type="NodeSourceProvider"
               glib:type-name="NodeSourceProvider"
               glib:get-type="node_source_provider_get_type"
               glib:type-struct="NodeSourceProviderInterface">
      <source-position filename="node_source.h" line="227"/>
    </interface>
    <record name="NodeSourceProviderInterface"
            c:type="NodeSourceProviderInterface"
            glib:is-gtype-struct-for="NodeSourceProvider">
      <source-position filename="node_source.h" line="227"/>
      <field name="parent_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="id">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="name">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="capabilities">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="feedSubscriptionType">
        <type name="subscriptionTypePtr" c:type="subscriptionTypePtr"/>
      </field>
      <field name="sourceSubscriptionType">
        <type name="subscriptionTypePtr" c:type="subscriptionTypePtr"/>
      </field>
      <field name="source_new">
        <callback name="source_new">
          <source-position filename="node_source.h" line="120"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="source_delete">
        <callback name="source_delete">
          <source-position filename="node_source.h" line="128"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_import">
        <callback name="source_import">
          <source-position filename="node_source.h" line="135"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_export">
        <callback name="source_export">
          <source-position filename="node_source.h" line="142"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_get_feedlist">
        <callback name="source_get_feedlist">
          <source-position filename="node_source.h" line="150"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_auto_update">
        <callback name="source_auto_update">
          <source-position filename="node_source.h" line="157"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="free">
        <callback name="free">
          <source-position filename="node_source.h" line="163"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="item_set_flag">
        <callback name="item_set_flag">
          <source-position filename="node_source.h" line="171"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="itemPtr" c:type="itemPtr"/>
            </parameter>
            <parameter name="newState" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="item_mark_read">
        <callback name="item_mark_read">
          <source-position filename="node_source.h" line="179"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="itemPtr" c:type="itemPtr"/>
            </parameter>
            <parameter name="newState" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_folder" introspectable="0">
        <callback name="add_folder" introspectable="0">
          <source-position filename="node_source.h" line="187"/>
          <return-value>
            <type name="Node" c:type="Node*"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_subscription" introspectable="0">
        <callback name="add_subscription" introspectable="0">
          <source-position filename="node_source.h" line="203"/>
          <return-value>
            <type name="Node" c:type="Node*"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="subscription" transfer-ownership="none">
              <type name="gpointer" c:type="subscription*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_node">
        <callback name="remove_node">
          <source-position filename="node_source.h" line="210"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="convert_to_local">
        <callback name="convert_to_local">
          <source-position filename="node_source.h" line="217"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reparent_node">
        <callback name="reparent_node">
          <source-position filename="node_source.h" line="225"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="oldParent" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="newParent" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="SUBSCRIPTION_TYPE"
                    c:identifier="SUBSCRIPTION_TYPE"
                    introspectable="0">
      <source-position filename="subscription_type.h" line="66"/>
      <parameters>
        <parameter name="subscription">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Shell"
           c:symbol-prefix="shell"
           c:type="LifereaShell"
           parent="GObject.Object"
           glib:type-name="LifereaShell"
           glib:get-type="liferea_shell_get_type"
           glib:type-struct="ShellClass">
      <source-position filename="ui/liferea_shell.h" line="43"/>
      <function name="create"
                c:identifier="liferea_shell_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="64">Set up the Liferea main window.</doc>
        <source-position filename="ui/liferea_shell.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="66">the GtkApplication to attach the main window to</doc>
            <type name="Gtk.Application" c:type="GtkApplication*"/>
          </parameter>
          <parameter name="overrideWindowState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="67">optional parameter for window state (or NULL)
@pluginsDisabled		1 if plugins are not to be loaded</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pluginsDisabled" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="destroy"
                c:identifier="liferea_shell_destroy"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="74">Destroys the global liferea_shell object.</doc>
        <source-position filename="ui/liferea_shell.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="get_window" c:identifier="liferea_shell_get_window">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="147">Returns the Liferea main window.</doc>
        <source-position filename="ui/liferea_shell.h" line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_shell.h"
               line="152">the main window widget found or NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </function>
      <function name="lookup" c:identifier="liferea_shell_lookup">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="45">Searches the glade XML UI tree for the given widget
name and returns the found widget.</doc>
        <source-position filename="ui/liferea_shell.h" line="54"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="ui/liferea_shell.h"
               line="52">the widget found or NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="47">the widget name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="rebuild_css" c:identifier="liferea_shell_rebuild_css">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="156">Invokes a rebuild of the WebView CSS.</doc>
        <source-position filename="ui/liferea_shell.h" line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="save_position"
                c:identifier="liferea_shell_save_position">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="56">Save the position of the Liferea main window.</doc>
        <source-position filename="ui/liferea_shell.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="set_important_status_bar"
                c:identifier="liferea_shell_set_important_status_bar"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="138">Similar to liferea_shell_set_status_message(), but ensures
that messages stay visible and avoids that those messages
are overwritten by unimportant ones.</doc>
        <source-position filename="ui/liferea_shell.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="set_status_bar"
                c:identifier="liferea_shell_set_status_bar"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="131">Sets the status bar text. Takes printf() like parameters.</doc>
        <source-position filename="ui/liferea_shell.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="set_toolbar_style"
                c:identifier="liferea_shell_set_toolbar_style">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="95">Sets the toolbar to a particular style</doc>
        <source-position filename="ui/liferea_shell.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="toolbar_style" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="97">text string containing the type of style to use</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="show_window" c:identifier="liferea_shell_show_window">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="81">Show the main window.</doc>
        <source-position filename="ui/liferea_shell.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="toggle_visibility"
                c:identifier="liferea_shell_toggle_visibility">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="88">Toggles main window visibility.</doc>
        <source-position filename="ui/liferea_shell.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update_history_actions"
                c:identifier="liferea_shell_update_history_actions"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="112">Update item history menu actions and toolbar buttons.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="update_item_menu"
                c:identifier="liferea_shell_update_item_menu"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="121">Update the sensitivity of options affecting single items.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="123">TRUE if item actions are to be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_toolbar"
                c:identifier="liferea_shell_update_toolbar"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="103">According to the preferences this function enables/disables the toolbar.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <property name="browser-tabs" transfer-ownership="none">
        <type name="BrowserTabs"/>
      </property>
      <property name="builder" transfer-ownership="none">
        <type name="Gtk.Builder"/>
      </property>
      <property name="feed-list" transfer-ownership="none">
        <type name="FeedList"/>
      </property>
      <property name="item-list" transfer-ownership="none">
        <type name="ItemList"/>
      </property>
      <property name="item-view" transfer-ownership="none">
        <type name="ItemView"/>
      </property>
    </class>
    <interface name="ShellActivatable"
               c:symbol-prefix="shell_activatable"
               c:type="LifereaShellActivatable"
               glib:type-name="LifereaShellActivatable"
               glib:get-type="liferea_shell_activatable_get_type"
               glib:type-struct="ShellActivatableInterface">
      <source-position filename="plugins/liferea_shell_activatable.h"
                       line="38"/>
      <prerequisite name="Activatable"/>
      <virtual-method name="update_state" invoker="update_state">
        <doc xml:space="preserve"
             filename="plugins/liferea_shell_activatable.h"
             line="40">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <source-position filename="plugins/liferea_shell_activatable.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_shell_activatable.h"
                 line="42">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="update_state"
              c:identifier="liferea_shell_activatable_update_state">
        <doc xml:space="preserve"
             filename="plugins/liferea_shell_activatable.h"
             line="40">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <source-position filename="plugins/liferea_shell_activatable.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="plugins/liferea_shell_activatable.h"
                 line="42">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="shell"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Shell"/>
      </property>
    </interface>
    <record name="ShellActivatableInterface"
            c:type="LifereaShellActivatableInterface"
            glib:is-gtype-struct-for="ShellActivatable">
      <source-position filename="plugins/liferea_shell_activatable.h"
                       line="38"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <source-position filename="plugins/liferea_shell_activatable.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="plugins/liferea_shell_activatable.h"
                   line="42">A #LifereaShellActivatable.</doc>
              <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ShellClass"
            c:type="LifereaShellClass"
            glib:is-gtype-struct-for="Shell">
      <source-position filename="ui/liferea_shell.h" line="43"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="UpdateJob"
           c:symbol-prefix="update_job"
           c:type="UpdateJob"
           parent="GObject.Object"
           glib:type-name="UpdateJob"
           glib:get-type="update_job_get_type"
           glib:type-struct="UpdateJobClass">
      <source-position filename="update_job.h" line="41"/>
      <constructor name="new" c:identifier="update_job_new" introspectable="0">
        <doc xml:space="preserve"
             filename="update_job.h"
             line="56">Executes the given request. The request might be
delayed if other requests are pending.</doc>
        <source-position filename="update_job.h" line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="update_job.h"
               line="67">a new update job</doc>
          <type name="UpdateJob" c:type="UpdateJob*"/>
        </return-value>
        <parameters>
          <parameter name="owner"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="58">request owner (allows cancelling)</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="request" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="59">the request to execute</doc>
            <type name="UpdateRequest" c:type="UpdateRequest*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="60">result processing callback</doc>
            <type name="update_result_cb" c:type="update_result_cb"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="61">result processing callback parameters</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="62">request/result processing flags</doc>
            <type name="updateFlags" c:type="updateFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="cancel_by_owner"
                c:identifier="update_job_cancel_by_owner"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update_job_queue.h"
             line="37">Cancel all pending requests for the given owner.</doc>
        <source-position filename="update_job_queue.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="owner"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="39">pointer passed in update_request_new()</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="queue_add" c:identifier="update_job_queue_add">
        <doc xml:space="preserve"
             filename="update_job_queue.h"
             line="28">Queues the given job. The job might be delayed if other requests are pending.</doc>
        <source-position filename="update_job_queue.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="job"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="30">the job to queue</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="31">request/result processing flags</doc>
            <type name="updateFlags" c:type="updateFlags"/>
          </parameter>
        </parameters>
      </function>
      <function name="queue_get_count"
                c:identifier="update_job_queue_get_count"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update_job_queue.h"
             line="53">Query current count and max count of subscriptions in update queue</doc>
        <source-position filename="update_job_queue.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="55">gint ref to pass back nr of subscriptions in update</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="maxcount" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="56">gint ref to pass back max nr of subscriptions in update</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </function>
      <function name="queue_remove"
                c:identifier="update_job_queue_remove"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update_job_queue.h"
             line="45">Removes the given job from the job queue. To be used when deleting jobs.</doc>
        <source-position filename="update_job_queue.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="job"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="update_job_queue.h"
                 line="47">the update job</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="execute"
              c:identifier="update_job_execute"
              introspectable="0">
        <doc xml:space="preserve"
             filename="update_job.h"
             line="75">Called by job queue when a job is to be actually processed.</doc>
        <source-position filename="update_job.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="77">the update job</doc>
            <type name="UpdateJob" c:type="UpdateJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="finished" c:identifier="update_job_finished">
        <doc xml:space="preserve"
             filename="update_job.h"
             line="83">To be called when an update job has been executed. Triggers
the job specific result processing callback.</doc>
        <source-position filename="update_job.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update_job.h"
                 line="85">the update job</doc>
            <type name="UpdateJob" c:type="UpdateJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="update_job_get_state">
        <doc xml:space="preserve"
             filename="update_job.h"
             line="92">@returns update job state (see enum request_state)
Method to query the update state of currently processed jobs.</doc>
        <source-position filename="update_job.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update_job.h"
               line="98">enum state</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="UpdateJob" c:type="UpdateJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="request">
        <type name="UpdateRequest" c:type="UpdateRequest*"/>
      </field>
      <field name="result">
        <type name="UpdateResult" c:type="UpdateResult*"/>
      </field>
      <field name="owner">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="callback">
        <type name="update_result_cb" c:type="update_result_cb"/>
      </field>
      <field name="user_data">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="flags">
        <type name="updateFlags" c:type="updateFlags"/>
      </field>
      <field name="state">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="cmd">
        <type name="updateCommandState" c:type="updateCommandState"/>
      </field>
    </class>
    <record name="UpdateJobClass"
            c:type="UpdateJobClass"
            glib:is-gtype-struct-for="UpdateJob">
      <source-position filename="update_job.h" line="41"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="UpdateRequest"
           c:symbol-prefix="update_request"
           c:type="UpdateRequest"
           parent="GObject.Object"
           glib:type-name="UpdateRequest"
           glib:get-type="update_request_get_type"
           glib:type-struct="UpdateRequestClass">
      <source-position filename="update.h" line="71"/>
      <constructor name="new" c:identifier="update_request_new">
        <doc xml:space="preserve"
             filename="update.h"
             line="150">Creates a new request structure.</doc>
        <source-position filename="update.h" line="160"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="update.h"
               line="158">a new request GObject to be passed to update_execute_request()</doc>
          <type name="UpdateRequest" c:type="UpdateRequest*"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="152">URI to download</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="153">a previous update state of the requested URL (or NULL) will not be owned, but copied!</doc>
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="154">update options to be used (or NULL) will not be owned but copied!</doc>
            <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="allow_commands"
              c:identifier="update_request_allow_commands">
        <doc xml:space="preserve"
             filename="update.h"
             line="181">Allows *this* request to run local commands.

At first it may look this flag should be in updateOptions, but we can
take a safer path: feed commands are restricted to a few use cases while
options are propagated to downstream requests (feed enrichment, comments,
etc.), so it is a good idea to prevent these from running commands in the
local system via tricky URLs without needing to validate these options
everywhere (which is error-prone).</doc>
        <source-position filename="update.h" line="195"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="request" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="183">the update request</doc>
            <type name="UpdateRequest" c:type="UpdateRequest*"/>
          </instance-parameter>
          <parameter name="allowCommands" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="184">TRUE if the request can run commands, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auth_value"
              c:identifier="update_request_set_auth_value">
        <doc xml:space="preserve"
             filename="update.h"
             line="172">Sets a custom authorization header value.</doc>
        <source-position filename="update.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="request" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="174">the update request</doc>
            <type name="UpdateRequest" c:type="UpdateRequest*"/>
          </instance-parameter>
          <parameter name="authValue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="175">the authorization header value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source" c:identifier="update_request_set_source">
        <doc xml:space="preserve"
             filename="update.h"
             line="162">Sets the source for an updateRequest. Only use this when the source
is not known at update_request_new() calling time.</doc>
        <source-position filename="update.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="request" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="164">the update request</doc>
            <type name="UpdateRequest" c:type="UpdateRequest*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="165">the new source URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="source">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="postdata">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="authValue">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="options">
        <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
      </field>
      <field name="filtercmd">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="updateState">
        <type name="updateStatePtr" c:type="updateStatePtr"/>
      </field>
      <field name="allowCommands">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </class>
    <record name="UpdateRequestClass"
            c:type="UpdateRequestClass"
            glib:is-gtype-struct-for="UpdateRequest">
      <source-position filename="update.h" line="71"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="UpdateResult"
           c:symbol-prefix="update_result"
           c:type="UpdateResult"
           parent="GObject.Object"
           glib:type-name="UpdateResult"
           glib:get-type="update_result_get_type"
           glib:type-struct="UpdateResultClass">
      <source-position filename="update.h" line="199"/>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="source">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="httpstatus">
        <type name="gint" c:type="int"/>
      </field>
      <field name="data">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="size">
        <type name="gsize" c:type="size_t"/>
      </field>
      <field name="contentType">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="filterErrors">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="updateState">
        <type name="updateStatePtr" c:type="updateStatePtr"/>
      </field>
    </class>
    <record name="UpdateResultClass"
            c:type="UpdateResultClass"
            glib:is-gtype-struct-for="UpdateResult">
      <source-position filename="update.h" line="199"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function name="auth_has_active_store"
              c:identifier="liferea_auth_has_active_store">
      <doc xml:space="preserve"
           filename="auth.h"
           line="26">Method to query whether there is an active password store.

@returns TRUE if there is a password store</doc>
      <source-position filename="auth.h" line="33"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="auth_info_from_store"
              c:identifier="liferea_auth_info_from_store">
      <doc xml:space="preserve"
           filename="auth.h"
           line="35">@param authId		a node id
@param username
@param password

Allow plugins to provide authentication infos</doc>
      <source-position filename="auth.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="authId" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="username" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="password" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="auth_info_query" c:identifier="liferea_auth_info_query">
      <doc xml:space="preserve"
           filename="auth.h"
           line="55">Return auth information for a given node. Each extension able to
supply a user name and password for the given id is to synchronously call
liferea_auth_info_from_store() to set them.

@param authId		a node id
@param username		reference to return username
@param password		reference to return password</doc>
      <source-position filename="auth.h" line="66"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="authId" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="auth_info_store" c:identifier="liferea_auth_info_store">
      <doc xml:space="preserve"
           filename="auth.h"
           line="46">@param subscription		pointer to a subscription

Save given authentication info of a given subscription into password store (if available).</doc>
      <source-position filename="auth.h" line="53"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="subscription"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="download_show" c:identifier="download_show">
      <source-position filename="download.h" line="28"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="download_url" c:identifier="download_url">
      <source-position filename="download.h" line="26"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="url" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <record name="enclosure" c:type="enclosure">
      <source-position filename="enclosure.h" line="32"/>
      <field name="url" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="mime" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="size" writable="1">
        <type name="gssize" c:type="gssize"/>
      </field>
      <field name="downloaded" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <function name="free" c:identifier="enclosure_free" introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="77">Free all memory associated with the enclosure.</doc>
        <source-position filename="enclosure.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enclosure" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="79">the enclosure</doc>
            <type name="enclosurePtr" c:type="enclosurePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="from_string"
                c:identifier="enclosure_from_string"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="34">Parses enclosure description.</doc>
        <source-position filename="enclosure.h" line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="40">new enclosure structure (to be free'd using enclosure_free)</doc>
          <type name="enclosurePtr" c:type="enclosurePtr"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="36">the enclosure description</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_url" c:identifier="enclosure_get_url">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="67">Get URL from enclosure string</doc>
        <source-position filename="enclosure.h" line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="73">URL string, free after use</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="69">enclosure string to parse</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_string"
                c:identifier="enclosure_to_string"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="57">Serialize enclosure to string.</doc>
        <source-position filename="enclosure.h" line="65"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="63">new string (to be free'd using g_free)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="enclosure" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="59">the enclosure</doc>
            <type name="enclosurePtr" c:type="const enclosurePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="values_to_string"
                c:identifier="enclosure_values_to_string">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="44">Serialize enclosure infos to string.</doc>
        <source-position filename="enclosure.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="53">new string (to be free'd using g_free)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="46">the enclosure URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="mime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="47">the MIME type (optional, can be NULL)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="48">the enclosure size (optional, can be 0, and also -1)</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="downloaded" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="49">downloading state (TRUE=downloaded)</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="enclosurePtr"
            c:type="enclosurePtr"
            disguised="1"
            pointer="1">
      <source-position filename="enclosure.h" line="32"/>
    </record>
    <function name="enclosure_free"
              c:identifier="enclosure_free"
              moved-to="enclosure.free"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="77">Free all memory associated with the enclosure.</doc>
      <source-position filename="enclosure.h" line="83"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="enclosure" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="79">the enclosure</doc>
          <type name="enclosurePtr" c:type="enclosurePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_from_string"
              c:identifier="enclosure_from_string"
              moved-to="enclosure.from_string"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="34">Parses enclosure description.</doc>
      <source-position filename="enclosure.h" line="42"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="40">new enclosure structure (to be free'd using enclosure_free)</doc>
        <type name="enclosurePtr" c:type="enclosurePtr"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="36">the enclosure description</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_get_url"
              c:identifier="enclosure_get_url"
              moved-to="enclosure.get_url">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="67">Get URL from enclosure string</doc>
      <source-position filename="enclosure.h" line="75"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="73">URL string, free after use</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="69">enclosure string to parse</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_to_string"
              c:identifier="enclosure_to_string"
              moved-to="enclosure.to_string"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="57">Serialize enclosure to string.</doc>
      <source-position filename="enclosure.h" line="65"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="63">new string (to be free'd using g_free)</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="enclosure" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="59">the enclosure</doc>
          <type name="enclosurePtr" c:type="const enclosurePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_values_to_string"
              c:identifier="enclosure_values_to_string"
              moved-to="enclosure.values_to_string">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="44">Serialize enclosure infos to string.</doc>
      <source-position filename="enclosure.h" line="55"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="53">new string (to be free'd using g_free)</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="url" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="46">the enclosure URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="mime" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="47">the MIME type (optional, can be NULL)</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="48">the enclosure size (optional, can be 0, and also -1)</doc>
          <type name="gssize" c:type="gssize"/>
        </parameter>
        <parameter name="downloaded" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="49">downloading state (TRUE=downloaded)</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="feedListFindType" c:type="feedListFindType">
      <source-position filename="feedlist.h" line="108"/>
      <member name="ode_by_url" value="0" c:identifier="NODE_BY_URL">
      </member>
      <member name="ode_by_id" value="1" c:identifier="NODE_BY_ID">
      </member>
      <member name="older_by_title" value="2" c:identifier="FOLDER_BY_TITLE">
      </member>
    </enumeration>
    <function-macro name="feedlist_foreach"
                    c:identifier="feedlist_foreach"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="feedlist.h"
           line="245">Helper function to recursivly call node methods for all
nodes in the feed list. This method is just a wrapper for
node_foreach_child().</doc>
      <source-position filename="feedlist.h" line="253"/>
      <parameters>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="247">the function to process all found elements</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="feedlist_foreach_data"
                    c:identifier="feedlist_foreach_data"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="feedlist.h"
           line="255">Helper function to recursivly call node methods for all
nodes in the feed list. This method is just a wrapper for
node_foreach_child_data().</doc>
      <source-position filename="feedlist.h" line="265"/>
      <parameters>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="257">the function to process all found elements</doc>
        </parameter>
        <parameter name="user_data">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="258">specifies the second argument that func should be passed</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function name="icon_create_from_file"
              c:identifier="icon_create_from_file">
      <doc xml:space="preserve"
           filename="ui/icons.h"
           line="68">Takes a file name relative to "pixmaps" directory and tries to load the
image into a GdkPixbuf. Can be used to load icons not in lifereaIcon
on demand.</doc>
      <source-position filename="ui/icons.h" line="78"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="ui/icons.h"
             line="76">a new pixbuf or NULL</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/icons.h"
               line="70">the name of the file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="icon_find_pixmap_file"
              c:identifier="icon_find_pixmap_file">
      <doc xml:space="preserve"
           filename="ui/icons.h"
           line="58">Takes a file name relative to "pixmaps" directory and returns it's path.</doc>
      <source-position filename="ui/icons.h" line="66"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="ui/icons.h"
             line="64">file path or NULL</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/icons.h"
               line="60">the name of the file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="icon_get" c:identifier="icon_get">
      <doc xml:space="preserve"
           filename="ui/icons.h"
           line="48">Returns a GIcon for the requested item.</doc>
      <source-position filename="ui/icons.h" line="56"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="ui/icons.h" line="54">GIcon</doc>
        <type name="Gio.Icon" c:type="const GIcon*"/>
      </return-value>
      <parameters>
        <parameter name="icon" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/icons.h"
               line="50">the icon</doc>
          <type name="lifereaIcon" c:type="lifereaIcon"/>
        </parameter>
      </parameters>
    </function>
    <function name="icons_load" c:identifier="icons_load" introspectable="0">
      <doc xml:space="preserve"
           filename="ui/icons.h"
           line="38">Load all icons from theme and Liferea pixmaps.

Must be called once before icon_get() may be used!
Must be called only after GTK theme was initialized!</doc>
      <source-position filename="ui/icons.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <callback name="itemActionFunc">
      <source-position filename="itemset.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="itemPtr" c:type="itemPtr" disguised="1" pointer="1">
      <source-position filename="item.h" line="83"/>
    </record>
    <record name="itemSet" c:type="itemSet">
      <source-position filename="itemset.h" line="40"/>
      <field name="rules" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="anyMatch" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="ids" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="nodeId" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <record name="itemSetPtr" c:type="itemSetPtr" disguised="1" pointer="1">
      <source-position filename="itemset.h" line="40"/>
    </record>
    <enumeration name="itemViewMode" c:type="itemViewMode">
      <source-position filename="ui/itemview.h" line="66"/>
      <member name="single_item" value="0" c:identifier="ITEMVIEW_SINGLE_ITEM">
      </member>
      <member name="node_info" value="1" c:identifier="ITEMVIEW_NODE_INFO">
      </member>
    </enumeration>
    <function-macro name="item_unload"
                    c:identifier="item_unload"
                    introspectable="0">
      <source-position filename="item.h" line="106"/>
      <parameters>
        <parameter name="a">
        </parameter>
      </parameters>
    </function-macro>
    <function name="itemset_add_rule"
              c:identifier="itemset_add_rule"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemset.h"
           line="81">Method that creates and adds a rule to an item set. To be used
on loading time, when creating searches or when editing
search folder properties.</doc>
      <source-position filename="itemset.h" line="92"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="itemSet" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="83">the item set</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </parameter>
        <parameter name="ruleId" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="84">id string for this rule type</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="85">argument string for this rule</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="additive" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="86">indicates positive or negative logic</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="itemset_check_item"
              c:identifier="itemset_check_item"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemset.h"
           line="70">Checks if the given item matches the rules of the given item set.</doc>
      <source-position filename="itemset.h" line="79"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="itemset.h"
             line="77">TRUE if the item matches the rules of the item set</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="itemSet" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="72">the itemSet</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </parameter>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="73">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="itemset_foreach"
              c:identifier="itemset_foreach"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemset.h"
           line="46">Calls the given callback for each of the items in the item set.</doc>
      <source-position filename="itemset.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="itemSet" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="48">the item set</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </parameter>
        <parameter name="callback" transfer-ownership="none" closure="2">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="49">the callback</doc>
          <type name="itemActionFunc" c:type="itemActionFunc"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="50">an optional user-defined pointer to be passed to the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="itemset_free"
              c:identifier="itemset_free"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemset.h"
           line="94">Frees the given item set and all items it contains.</doc>
      <source-position filename="itemset.h" line="100"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="itemSet" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="96">the item set to free</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="itemset_merge_items"
              c:identifier="itemset_merge_items"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemset.h"
           line="56">Merges the given item set into the item set of
the given node. Used for node updating.</doc>
      <source-position filename="itemset.h" line="68"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="itemset.h"
             line="66">the number of new merged items</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="itemSet" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="58">the item set to merge into</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </parameter>
        <parameter name="items" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="59">a list of items to merge</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="allowUpdates" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="60">TRUE if older items may be replaced</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="markAsRead" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemset.h"
               line="61">TRUE if all new items should be marked as read</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="lifereaIcon" c:type="lifereaIcon">
      <source-position filename="ui/icons.h" line="36"/>
      <member name="con_unread" value="0" c:identifier="ICON_UNREAD">
      </member>
      <member name="con_flag" value="1" c:identifier="ICON_FLAG">
      </member>
      <member name="con_unavailable" value="2" c:identifier="ICON_UNAVAILABLE">
      </member>
      <member name="con_default" value="3" c:identifier="ICON_DEFAULT">
      </member>
      <member name="con_folder" value="4" c:identifier="ICON_FOLDER">
      </member>
      <member name="con_vfolder" value="5" c:identifier="ICON_VFOLDER">
      </member>
      <member name="con_newsbin" value="6" c:identifier="ICON_NEWSBIN">
      </member>
      <member name="ax_icons" value="7" c:identifier="MAX_ICONS">
      </member>
    </enumeration>
    <callback name="nodeActionDataFunc">
      <source-position filename="node.h" line="411"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="Node" c:type="Node*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="nodeActionFunc">
      <source-position filename="node.h" line="410"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="Node" c:type="Node*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="nodeProvider" c:type="nodeProvider">
      <source-position filename="node_provider.h" line="79"/>
      <field name="capabilities" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="id" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="icon" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="import">
        <callback name="import">
          <source-position filename="node_provider.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="cur" transfer-ownership="none">
              <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
            </parameter>
            <parameter name="trusted" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="export">
        <callback name="export">
          <source-position filename="node_provider.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
            <parameter name="cur" transfer-ownership="none">
              <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
            </parameter>
            <parameter name="trusted" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load" introspectable="0">
        <callback name="load" introspectable="0">
          <source-position filename="node_provider.h" line="64"/>
          <return-value>
            <type name="itemSetPtr" c:type="itemSetPtr"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <source-position filename="node_provider.h" line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_counters">
        <callback name="update_counters">
          <source-position filename="node_provider.h" line="66"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove">
        <callback name="remove">
          <source-position filename="node_provider.h" line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="request_add">
        <callback name="request_add">
          <source-position filename="node_provider.h" line="68"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
        </callback>
      </field>
      <field name="request_properties">
        <callback name="request_properties">
          <source-position filename="node_provider.h" line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="free">
        <callback name="free">
          <source-position filename="node_provider.h" line="78"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="Node" c:type="Node*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <function name="by_name"
                c:identifier="node_provider_by_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="94">Maps node type string to type constant.</doc>
        <source-position filename="node_provider.h" line="102"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="100">node type</doc>
          <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_provider.h"
                 line="96">the node type as string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="request_add" c:identifier="node_provider_request_add">
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="121">Interactive node adding (e.g. feed menu-&gt;new subscription),
launches some dialog that upon success adds a feed of the
given type.</doc>
        <source-position filename="node_provider.h" line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="129">TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_provider.h"
                 line="123">the node provider</doc>
            <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="nodeProviderPtr"
            c:type="nodeProviderPtr"
            disguised="1"
            pointer="1">
      <source-position filename="node_provider.h" line="79"/>
    </record>
    <record name="nodeSource" c:type="nodeSource">
      <source-position filename="node_source.h" line="240"/>
      <field name="type" writable="1">
        <type name="NodeSourceProviderInterface"
              c:type="NodeSourceProviderInterface*"/>
      </field>
      <field name="root" writable="1">
        <type name="Node" c:type="Node*"/>
      </field>
      <field name="actionQueue" writable="1">
        <type name="GLib.Queue" c:type="GQueue*"/>
      </field>
      <field name="loginState" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="authToken" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="authFailures" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="api" introspectable="0" writable="1">
        <type c:type="googleReaderApi"/>
      </field>
      <function name="get_provider"
                c:identifier="node_source_get_provider"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="425">implementation of the node type interface</doc>
        <source-position filename="node_source.h" line="430"/>
        <return-value>
          <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
        </return-value>
      </function>
      <function name="setup_root"
                c:identifier="node_source_setup_root"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="258">Scans the source type list for the root source provider.
If found creates a new root source and starts it's import.</doc>
        <source-position filename="node_source.h" line="266"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node_source.h"
               line="264">a newly created root node</doc>
          <type name="Node" c:type="Node*"/>
        </return-value>
      </function>
      <function name="type_register" c:identifier="node_source_type_register">
        <doc xml:space="preserve"
             filename="node_source.h"
             line="416">Registers a new node source type. Needs to be called before feed list import!
To be used only via NodeSourceTypeActivatable</doc>
        <source-position filename="node_source.h" line="423"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node_source.h"
                 line="418">the type interface to register</doc>
            <type name="NodeSourceProviderInterface"
                  c:type="NodeSourceProviderInterface*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <bitfield name="nodeSourceCapability" c:type="nodeSourceCapability">
      <source-position filename="node_source.h" line="67"/>
      <member name="is_root"
              value="1"
              c:identifier="NODE_SOURCE_CAPABILITY_IS_ROOT">
      </member>
      <member name="dynamic_creation"
              value="2"
              c:identifier="NODE_SOURCE_CAPABILITY_DYNAMIC_CREATION">
      </member>
      <member name="writable_feedlist"
              value="4"
              c:identifier="NODE_SOURCE_CAPABILITY_WRITABLE_FEEDLIST">
      </member>
      <member name="add_feed"
              value="8"
              c:identifier="NODE_SOURCE_CAPABILITY_ADD_FEED">
      </member>
      <member name="add_folder"
              value="16"
              c:identifier="NODE_SOURCE_CAPABILITY_ADD_FOLDER">
      </member>
      <member name="hierarchic_feedlist"
              value="32"
              c:identifier="NODE_SOURCE_CAPABILITY_HIERARCHIC_FEEDLIST">
      </member>
      <member name="item_state_sync"
              value="64"
              c:identifier="NODE_SOURCE_CAPABILITY_ITEM_STATE_SYNC">
      </member>
      <member name="convert_to_local"
              value="128"
              c:identifier="NODE_SOURCE_CAPABILITY_CONVERT_TO_LOCAL">
      </member>
      <member name="google_reader_api"
              value="256"
              c:identifier="NODE_SOURCE_CAPABILITY_GOOGLE_READER_API">
      </member>
      <member name="can_login"
              value="512"
              c:identifier="NODE_SOURCE_CAPABILITY_CAN_LOGIN">
      </member>
      <member name="reparent_node"
              value="1024"
              c:identifier="NODE_SOURCE_CAPABILITY_REPARENT_NODE">
      </member>
    </bitfield>
    <record name="nodeSourcePtr"
            c:type="nodeSourcePtr"
            disguised="1"
            pointer="1">
      <source-position filename="node_source.h" line="240"/>
    </record>
    <bitfield name="nodeSourceState" c:type="nodeSourceState">
      <source-position filename="node_source.h" line="76"/>
      <member name="none" value="1" c:identifier="NODE_SOURCE_STATE_NONE">
      </member>
      <member name="in_progress"
              value="2"
              c:identifier="NODE_SOURCE_STATE_IN_PROGRESS">
      </member>
      <member name="active" value="4" c:identifier="NODE_SOURCE_STATE_ACTIVE">
      </member>
      <member name="no_auth"
              value="8"
              c:identifier="NODE_SOURCE_STATE_NO_AUTH">
      </member>
      <member name="migrate"
              value="16"
              c:identifier="NODE_SOURCE_STATE_MIGRATE">
      </member>
    </bitfield>
    <bitfield name="nodeSourceUpdate" c:type="nodeSourceUpdate">
      <source-position filename="node_source.h" line="89"/>
      <member name="list"
              value="65536"
              c:identifier="NODE_SOURCE_UPDATE_ONLY_LIST">
      </member>
      <member name="login"
              value="131072"
              c:identifier="NODE_SOURCE_UPDATE_ONLY_LOGIN">
      </member>
    </bitfield>
    <enumeration name="nodeViewSortType" c:type="nodeViewSortType">
      <source-position filename="node_view.h" line="35"/>
      <member name="time" value="0" c:identifier="NODE_VIEW_SORT_BY_TIME">
      </member>
      <member name="title" value="1" c:identifier="NODE_VIEW_SORT_BY_TITLE">
      </member>
      <member name="parent" value="2" c:identifier="NODE_VIEW_SORT_BY_PARENT">
      </member>
      <member name="state" value="3" c:identifier="NODE_VIEW_SORT_BY_STATE">
      </member>
    </enumeration>
    <enumeration name="nodeViewType" c:type="nodeViewType">
      <source-position filename="node_view.h" line="28"/>
      <member name="normal" value="0" c:identifier="NODE_VIEW_MODE_NORMAL">
      </member>
      <member name="wide" value="1" c:identifier="NODE_VIEW_MODE_WIDE">
      </member>
      <member name="auto" value="2" c:identifier="NODE_VIEW_MODE_AUTO">
      </member>
    </enumeration>
    <function-macro name="node_foreach_child"
                    c:identifier="node_foreach_child"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="425">Helper function to call node methods for all
children of a given node. The given function may
modify the children list.</doc>
      <source-position filename="node.h" line="434"/>
      <parameters>
        <parameter name="node">
          <doc xml:space="preserve"
               filename="node.h"
               line="427">node pointer whose children should be processed</doc>
        </parameter>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="node.h"
               line="428">the function to process all found elements</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="node_foreach_child_data"
                    c:identifier="node_foreach_child_data"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="436">Helper function to call node methods for all
children of a given node. The given function may
modify the children list.</doc>
      <source-position filename="node.h" line="446"/>
      <parameters>
        <parameter name="node">
          <doc xml:space="preserve"
               filename="node.h"
               line="438">node pointer whose children should be processed</doc>
        </parameter>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="node.h"
               line="439">the function to process all found elements</doc>
        </parameter>
        <parameter name="user_data">
          <doc xml:space="preserve"
               filename="node.h"
               line="440">specifies the second argument that func should be passed</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function name="node_provider_by_name"
              c:identifier="node_provider_by_name"
              moved-to="nodeProvider.by_name"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node_provider.h"
           line="94">Maps node type string to type constant.</doc>
      <source-position filename="node_provider.h" line="102"/>
      <return-value>
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="100">node type</doc>
        <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="96">the node type as string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_provider_request_add"
              c:identifier="node_provider_request_add"
              moved-to="nodeProvider.request_add">
      <doc xml:space="preserve"
           filename="node_provider.h"
           line="121">Interactive node adding (e.g. feed menu-&gt;new subscription),
launches some dialog that upon success adds a feed of the
given type.</doc>
      <source-position filename="node_provider.h" line="131"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node_provider.h"
             line="129">TRUE on success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="provider" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_provider.h"
               line="123">the node provider</doc>
          <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_get_provider"
              c:identifier="node_source_get_provider"
              moved-to="nodeSource.get_provider"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node_source.h"
           line="425">implementation of the node type interface</doc>
      <source-position filename="node_source.h" line="430"/>
      <return-value>
        <type name="nodeProviderPtr" c:type="nodeProviderPtr"/>
      </return-value>
    </function>
    <function name="node_source_setup_root"
              c:identifier="node_source_setup_root"
              moved-to="nodeSource.setup_root"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node_source.h"
           line="258">Scans the source type list for the root source provider.
If found creates a new root source and starts it's import.</doc>
      <source-position filename="node_source.h" line="266"/>
      <return-value>
        <doc xml:space="preserve"
             filename="node_source.h"
             line="264">a newly created root node</doc>
        <type name="Node" c:type="Node*"/>
      </return-value>
    </function>
    <function name="node_source_type_register"
              c:identifier="node_source_type_register"
              moved-to="nodeSource.type_register">
      <doc xml:space="preserve"
           filename="node_source.h"
           line="416">Registers a new node source type. Needs to be called before feed list import!
To be used only via NodeSourceTypeActivatable</doc>
      <source-position filename="node_source.h" line="423"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="iface" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node_source.h"
               line="418">the type interface to register</doc>
          <type name="NodeSourceProviderInterface"
                c:type="NodeSourceProviderInterface*"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_action_launch_item_in_browser"
              c:identifier="on_action_launch_item_in_browser">
      <source-position filename="ui/item_list_view.h" line="180"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_action_launch_item_in_external_browser"
              c:identifier="on_action_launch_item_in_external_browser">
      <source-position filename="ui/item_list_view.h" line="190"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_action_launch_item_in_tab"
              c:identifier="on_action_launch_item_in_tab">
      <source-position filename="ui/item_list_view.h" line="185"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_action_remove_item"
              c:identifier="on_action_remove_item"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="197">Removes the selected item from the selected feed.</doc>
      <source-position filename="ui/item_list_view.h" line="205"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="199">The activated action.</doc>
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="200">The item id as a GVariant of type "t", or NULL for the selected item.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="201">Unused.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_next_read_item_activate"
              c:identifier="on_next_read_item_activate"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemlist.h"
           line="126">Menu callback to select the next read item from the item history</doc>
      <source-position filename="itemlist.h" line="131"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_next_unread_item_activate"
              c:identifier="on_next_unread_item_activate"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="219">Searches the displayed feed and then all feeds for an unread
item. If one it found, it is displayed.</doc>
      <source-position filename="ui/item_list_view.h" line="227"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="221">The action that was activated.</doc>
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="222">Unused.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_popup_copy_URL_clipboard"
              c:identifier="on_popup_copy_URL_clipboard"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="247">Copies the selected items URL to the clipboard.</doc>
      <source-position filename="ui/item_list_view.h" line="252"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_popup_social_bm_item_selected"
              c:identifier="on_popup_social_bm_item_selected"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="254">Bookmarks the selected item to social bookmark service.</doc>
      <source-position filename="ui/item_list_view.h" line="259"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_prev_read_item_activate"
              c:identifier="on_prev_read_item_activate"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemlist.h"
           line="119">Menu callback to select the previously read item from the item history</doc>
      <source-position filename="itemlist.h" line="124"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_remove_items_activate"
              c:identifier="on_remove_items_activate">
      <source-position filename="ui/item_list_view.h" line="195"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_toggle_item_flag"
              c:identifier="on_toggle_item_flag"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="167">Toggles the flag of the selected item. This is called from a menu.</doc>
      <source-position filename="ui/item_list_view.h" line="175"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="169">The activated action.</doc>
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="170">The item id as a GVariant of type "t", or NULL for the selected item.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="171">unused</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_toggle_unread_status"
              c:identifier="on_toggle_unread_status"
              introspectable="0">
      <doc xml:space="preserve"
           filename="ui/item_list_view.h"
           line="156">Toggles the unread status of the selected item. This is called from
a menu.</doc>
      <source-position filename="ui/item_list_view.h" line="165"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="158">The activated action.</doc>
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="parameter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="159">The item id as a GVariant of type "t", or NULL for the selected item.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="160">unused</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="request_state" c:type="request_state">
      <source-position filename="update_job.h" line="36"/>
      <member name="pending" value="0" c:identifier="JOB_STATE_PENDING">
      </member>
      <member name="processing" value="1" c:identifier="JOB_STATE_PROCESSING">
      </member>
      <member name="finished" value="2" c:identifier="JOB_STATE_FINISHED">
      </member>
    </enumeration>
    <record name="socialSite" c:type="socialSite">
      <source-position filename="social.h" line="33"/>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="url" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="title" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="titleFirst" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <record name="socialSitePtr"
            c:type="socialSitePtr"
            disguised="1"
            pointer="1">
      <source-position filename="social.h" line="33"/>
    </record>
    <function name="social_add_bookmark"
              c:identifier="social_add_bookmark"
              introspectable="0">
      <doc xml:space="preserve"
           filename="social.h"
           line="88">Add a social bookmark for the link of the given item</doc>
      <source-position filename="social.h" line="94"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="90">the item</doc>
          <type name="itemPtr" c:type="const itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="social_free" c:identifier="social_free" introspectable="0">
      <doc xml:space="preserve"
           filename="social.h"
           line="42">Frees social bookmarking structures</doc>
      <source-position filename="social.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="social_get_bookmark_site"
              c:identifier="social_get_bookmark_site">
      <source-position filename="social.h" line="101"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="social.h"
             line="99">the name of the currently configured social bookmarking site.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="social_get_bookmark_url"
              c:identifier="social_get_bookmark_url">
      <doc xml:space="preserve"
           filename="social.h"
           line="77">Returns a social bookmarking link for the configured site</doc>
      <source-position filename="social.h" line="86"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="social.h"
             line="84">new URL string</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="link" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="79">the link to encode (mandatory)</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="80">the title to encode (mandatory)</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="social_init" c:identifier="social_init" introspectable="0">
      <doc xml:space="preserve"
           filename="social.h"
           line="35">Initialize social bookmarking support.</doc>
      <source-position filename="social.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="social_register_bookmark_site"
              c:identifier="social_register_bookmark_site">
      <doc xml:space="preserve"
           filename="social.h"
           line="57">Add a new site to the social bookmarking site list. Note that
the URL needs to have at least one '{url}' placeholder and optionally
a '{title}' placeholder.</doc>
      <source-position filename="social.h" line="66"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="59">descriptive name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="url" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="60">valid HTTP GET URL with one or two %s format codes</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="social_set_bookmark_site"
              c:identifier="social_set_bookmark_site">
      <doc xml:space="preserve"
           filename="social.h"
           line="49">Change the site used for bookmarking.</doc>
      <source-position filename="social.h" line="55"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="51">name of the site</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="social_unregister_bookmark_site"
              c:identifier="social_unregister_bookmark_site">
      <doc xml:space="preserve"
           filename="social.h"
           line="68">Removes a site from the social bookmarking site list. Does nothing
if the given name is not in the list</doc>
      <source-position filename="social.h" line="75"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="70">descriptive name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <record name="subscriptionType" c:type="subscriptionType">
      <source-position filename="subscription_type.h" line="64"/>
      <field name="prepare_update_request" introspectable="0">
        <callback name="prepare_update_request" introspectable="0">
          <source-position filename="subscription_type.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="subscription" transfer-ownership="none">
              <type c:type="subscriptionPtr"/>
            </parameter>
            <parameter name="request" transfer-ownership="none">
              <type name="UpdateRequest" c:type="UpdateRequest*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="process_update_result" introspectable="0">
        <callback name="process_update_result" introspectable="0">
          <source-position filename="subscription_type.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="subscription" transfer-ownership="none">
              <type c:type="subscriptionPtr"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="UpdateResult" c:type="const UpdateResult* const"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="updateFlags" c:type="updateFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="subscriptionTypePtr"
            c:type="subscriptionTypePtr"
            disguised="1"
            pointer="1">
      <source-position filename="subscription_type.h" line="64"/>
    </record>
    <record name="updateCommandState" c:type="updateCommandState">
      <source-position filename="update.h" line="96"/>
      <field name="pid" writable="1">
        <type name="GLib.Pid" c:type="GPid"/>
      </field>
      <field name="timeout_id" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="io_watch_id" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="child_watch_id" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="fd" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="stdout_ch" writable="1">
        <type name="GLib.IOChannel" c:type="GIOChannel*"/>
      </field>
    </record>
    <bitfield name="updateFlags" c:type="updateFlags">
      <source-position filename="update.h" line="46"/>
      <member name="reset_title"
              value="1"
              c:identifier="UPDATE_REQUEST_RESET_TITLE">
      </member>
      <member name="priority_high"
              value="2"
              c:identifier="UPDATE_REQUEST_PRIORITY_HIGH">
      </member>
      <member name="no_feed" value="4" c:identifier="UPDATE_REQUEST_NO_FEED">
      </member>
    </bitfield>
    <record name="updateOptions" c:type="updateOptions">
      <source-position filename="update.h" line="53"/>
      <field name="username" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="password" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="dontUseProxy" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <function name="copy"
                c:identifier="update_options_copy"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update.h"
             line="132">Copies the given update options.</doc>
        <source-position filename="update.h" line="140"/>
        <return-value>
          <doc xml:space="preserve"
               filename="update.h"
               line="138">a new update options structure (to be free'd using update_options_free())</doc>
          <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
        </return-value>
        <parameters>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="134">the options to copy</doc>
            <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="free"
                c:identifier="update_options_free"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update.h"
             line="142">Frees the given update options</doc>
        <source-position filename="update.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="144">the update options</doc>
            <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="updateOptionsPtr"
            c:type="updateOptionsPtr"
            disguised="1"
            pointer="1">
      <source-position filename="update.h" line="53"/>
    </record>
    <record name="updateState" c:type="updateState">
      <source-position filename="update.h" line="66"/>
      <field name="lastModified" writable="1">
        <type name="glong" c:type="glong"/>
      </field>
      <field name="lastPoll" writable="1">
        <type name="gint64" c:type="gint64"/>
      </field>
      <field name="lastFaviconPoll" writable="1">
        <type name="gint64" c:type="gint64"/>
      </field>
      <field name="cookies" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="etag" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="maxAgeMinutes" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="synFrequency" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="synPeriod" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="timeToLive" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <function name="copy"
                c:identifier="update_state_copy"
                introspectable="0">
        <doc xml:space="preserve"
             filename="update.h"
             line="105">Copy update state</doc>
        <source-position filename="update.h" line="110"/>
        <return-value>
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="free" c:identifier="update_state_free">
        <doc xml:space="preserve"
             filename="update.h"
             line="124">Frees the given update state.</doc>
        <source-position filename="update.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="updateState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="update.h"
                 line="126">the update state</doc>
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_cache_maxage"
                c:identifier="update_state_get_cache_maxage">
        <source-position filename="update.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_cookies" c:identifier="update_state_get_cookies">
        <source-position filename="update.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_etag" c:identifier="update_state_get_etag">
        <source-position filename="update.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_lastmodified"
                c:identifier="update_state_get_lastmodified">
        <source-position filename="update.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="update_state_new" introspectable="0">
        <doc xml:space="preserve"
             filename="update.h"
             line="98">Create new update state</doc>
        <source-position filename="update.h" line="103"/>
        <return-value>
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </return-value>
      </function>
      <function name="set_cache_maxage"
                c:identifier="update_state_set_cache_maxage">
        <source-position filename="update.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
          <parameter name="maxage" transfer-ownership="none">
            <type name="gint" c:type="const gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_cookies" c:identifier="update_state_set_cookies">
        <source-position filename="update.h" line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
          <parameter name="cookies" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_etag" c:identifier="update_state_set_etag">
        <source-position filename="update.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
          <parameter name="etag" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_lastmodified"
                c:identifier="update_state_set_lastmodified">
        <source-position filename="update.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="updateStatePtr" c:type="updateStatePtr"/>
          </parameter>
          <parameter name="lastmodified" transfer-ownership="none">
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="updateStatePtr"
            c:type="updateStatePtr"
            disguised="1"
            pointer="1">
      <source-position filename="update.h" line="66"/>
    </record>
    <function name="update_deinit"
              c:identifier="update_deinit"
              introspectable="0">
      <doc xml:space="preserve"
           filename="update_job_queue.h"
           line="72">Stops all update processing and frees all used memory.</doc>
      <source-position filename="update_job_queue.h" line="77"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="update_init" c:identifier="update_init" introspectable="0">
      <doc xml:space="preserve"
           filename="update_job_queue.h"
           line="62">Initialises the download subsystem.

Must be called before gtk_init() and after thread initialization
as threads are used and for proper network-manager initialization.</doc>
      <source-position filename="update_job_queue.h" line="70"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="update_options_copy"
              c:identifier="update_options_copy"
              moved-to="updateOptions.copy"
              introspectable="0">
      <doc xml:space="preserve"
           filename="update.h"
           line="132">Copies the given update options.</doc>
      <source-position filename="update.h" line="140"/>
      <return-value>
        <doc xml:space="preserve"
             filename="update.h"
             line="138">a new update options structure (to be free'd using update_options_free())</doc>
        <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
      </return-value>
      <parameters>
        <parameter name="options" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update.h"
               line="134">the options to copy</doc>
          <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_options_free"
              c:identifier="update_options_free"
              moved-to="updateOptions.free"
              introspectable="0">
      <doc xml:space="preserve"
           filename="update.h"
           line="142">Frees the given update options</doc>
      <source-position filename="update.h" line="148"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="options" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update.h"
               line="144">the update options</doc>
          <type name="updateOptionsPtr" c:type="updateOptionsPtr"/>
        </parameter>
      </parameters>
    </function>
    <callback name="update_result_cb">
      <doc xml:space="preserve"
           filename="update.h"
           line="214">Generic update result processing callback type.
This callback must not free the result structure. It will be
free'd by the download system after the callback returns.</doc>
      <source-position filename="update.h" line="224"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="result" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update.h"
               line="216">the update result</doc>
          <type name="UpdateResult" c:type="const UpdateResult* const"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="update.h"
               line="217">update processing callback data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update.h"
               line="218">update processing flags</doc>
          <type name="updateFlags" c:type="updateFlags"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="update_result_new"
                    c:identifier="update_result_new"
                    introspectable="0">
      <source-position filename="update.h" line="226"/>
    </function-macro>
    <function name="update_state_copy"
              c:identifier="update_state_copy"
              moved-to="updateState.copy"
              introspectable="0">
      <doc xml:space="preserve"
           filename="update.h"
           line="105">Copy update state</doc>
      <source-position filename="update.h" line="110"/>
      <return-value>
        <type name="updateStatePtr" c:type="updateStatePtr"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_free"
              c:identifier="update_state_free"
              moved-to="updateState.free">
      <doc xml:space="preserve"
           filename="update.h"
           line="124">Frees the given update state.</doc>
      <source-position filename="update.h" line="130"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="updateState" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="update.h"
               line="126">the update state</doc>
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_get_cache_maxage"
              c:identifier="update_state_get_cache_maxage"
              moved-to="updateState.get_cache_maxage">
      <source-position filename="update.h" line="118"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_get_cookies"
              c:identifier="update_state_get_cookies"
              moved-to="updateState.get_cookies">
      <source-position filename="update.h" line="121"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_get_etag"
              c:identifier="update_state_get_etag"
              moved-to="updateState.get_etag">
      <source-position filename="update.h" line="115"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_get_lastmodified"
              c:identifier="update_state_get_lastmodified"
              moved-to="updateState.get_lastmodified">
      <source-position filename="update.h" line="112"/>
      <return-value transfer-ownership="none">
        <type name="glong" c:type="glong"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_new"
              c:identifier="update_state_new"
              moved-to="updateState.new"
              introspectable="0">
      <doc xml:space="preserve"
           filename="update.h"
           line="98">Create new update state</doc>
      <source-position filename="update.h" line="103"/>
      <return-value>
        <type name="updateStatePtr" c:type="updateStatePtr"/>
      </return-value>
    </function>
    <function name="update_state_set_cache_maxage"
              c:identifier="update_state_set_cache_maxage"
              moved-to="updateState.set_cache_maxage">
      <source-position filename="update.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
        <parameter name="maxage" transfer-ownership="none">
          <type name="gint" c:type="const gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_set_cookies"
              c:identifier="update_state_set_cookies"
              moved-to="updateState.set_cookies">
      <source-position filename="update.h" line="122"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
        <parameter name="cookies" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_set_etag"
              c:identifier="update_state_set_etag"
              moved-to="updateState.set_etag">
      <source-position filename="update.h" line="116"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
        <parameter name="etag" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="update_state_set_lastmodified"
              c:identifier="update_state_set_lastmodified"
              moved-to="updateState.set_lastmodified">
      <source-position filename="update.h" line="113"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="updateStatePtr" c:type="updateStatePtr"/>
        </parameter>
        <parameter name="lastmodified" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
