<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="libxml2" version="2.0"/>
  <namespace name="Liferea"
             version="3.0"
             shared-library=""
             c:identifier-prefixes="Liferea"
             c:symbol-prefixes="liferea">
    <function-macro name="AUTH_ACTIVATABLE"
                    c:identifier="LIFEREA_AUTH_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="auth_activatable.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTH_ACTIVATABLE_GET_IFACE"
                    c:identifier="LIFEREA_AUTH_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="auth_activatable.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTH_ACTIVATABLE_IFACE"
                    c:identifier="LIFEREA_AUTH_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="auth_activatable.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <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="auth_activatable.h" line="45"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="49">Activates the extension.</doc>
        <source-position filename="auth_activatable.h" line="41"/>
        <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="auth_activatable.h"
                 line="51">A #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="57">Deactivates the extension.</doc>
        <source-position filename="auth_activatable.h" line="42"/>
        <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="auth_activatable.h"
                 line="59">A #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query" invoker="query">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="65">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="auth_activatable.h" line="43"/>
        <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="auth_activatable.h"
                 line="67">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="68">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="auth_activatable.h"
             line="77">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="auth_activatable.h" line="44"/>
        <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="auth_activatable.h"
                 line="79">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="80">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="auth_activatable.h"
                 line="81">the username to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="82">the password to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="liferea_auth_activatable_activate">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="49">Activates the extension.</doc>
        <source-position filename="auth_activatable.h" line="55"/>
        <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="auth_activatable.h"
                 line="51">A #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="liferea_auth_activatable_deactivate">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="57">Deactivates the extension.</doc>
        <source-position filename="auth_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="auth_activatable.h"
                 line="59">A #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="query" c:identifier="liferea_auth_activatable_query">
        <doc xml:space="preserve"
             filename="auth_activatable.h"
             line="65">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="auth_activatable.h" line="74"/>
        <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="auth_activatable.h"
                 line="67">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="68">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="auth_activatable.h"
             line="77">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="auth_activatable.h" line="88"/>
        <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="auth_activatable.h"
                 line="79">a #LifereaAuthActivatable.</doc>
            <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
          </instance-parameter>
          <parameter name="authId" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="80">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="auth_activatable.h"
                 line="81">the username to store</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="auth_activatable.h"
                 line="82">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="auth_activatable.h" line="45"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="auth_activatable.h" line="41"/>
          <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="auth_activatable.h"
                   line="51">A #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="auth_activatable.h" line="42"/>
          <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="auth_activatable.h"
                   line="59">A #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query">
        <callback name="query">
          <source-position filename="auth_activatable.h" line="43"/>
          <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="auth_activatable.h"
                   line="67">a #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
            <parameter name="authId" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="auth_activatable.h"
                   line="68">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="auth_activatable.h" line="44"/>
          <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="auth_activatable.h"
                   line="79">a #LifereaAuthActivatable.</doc>
              <type name="AuthActivatable" c:type="LifereaAuthActivatable*"/>
            </parameter>
            <parameter name="authId" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="auth_activatable.h"
                   line="80">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="auth_activatable.h"
                   line="81">the username to store</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="password" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="auth_activatable.h"
                   line="82">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="182">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="190"/>
        <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="184">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="185">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="163">Allows to query the currently active reader mode setting</doc>
        <source-position filename="ui/liferea_browser.h" line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="169">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="165">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="143">Function to determine the current zoom level.</doc>
        <source-position filename="ui/liferea_browser.h" line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="149">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="145">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="99">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="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_browser.h"
               line="120">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="101">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="102">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="124">Enforces loading of the given URL in the given browser widget.</doc>
        <source-position filename="ui/liferea_browser.h" line="131"/>
        <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="126">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="127">the URL to load</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_finished"
              c:identifier="liferea_browser_load_finished">
        <source-position filename="ui/liferea_browser.h" line="97"/>
        <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="location_changed"
              c:identifier="liferea_browser_location_changed">
        <source-position filename="ui/liferea_browser.h" line="95"/>
        <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="89"/>
        <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="93"/>
        <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="173">Function scrolls down the given HTML view if possible.</doc>
        <source-position filename="ui/liferea_browser.h" line="180"/>
        <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="175">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="153">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="161"/>
        <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="155">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="156">new mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom" c:identifier="liferea_browser_set_zoom">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="133">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="141"/>
        <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="135">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="91"/>
        <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" c:identifier="liferea_browser_update">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="192">Renders item or node info into the given HTML view.

@param browser	HTML view to render to
@param mode		item view mode (see type itemViewMode)</doc>
        <source-position filename="ui/liferea_browser.h" line="200"/>
        <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="mode" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_stylesheet"
              c:identifier="liferea_browser_update_stylesheet">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="202">Update the user stylesheet of the WebView</doc>
        <source-position filename="ui/liferea_browser.h" line="208"/>
        <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="204">the html view</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="write"
              c:identifier="liferea_browser_write"
              introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_browser.h"
             line="71">Method to display the passed HTML source to the HTML widget.</doc>
        <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">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="73">the browser widget to be set</doc>
            <type name="Browser" c:type="LifereaBrowser*"/>
          </instance-parameter>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="74">HTML source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="base" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_browser.h"
                 line="75">base url for resolving relative links</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <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>
    <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="33"/>
      <function name="add_folder" c:identifier="feedlist_add_folder">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="147">Adds a folder to the feed list without any user interaction.</doc>
        <source-position filename="feedlist.h" line="153"/>
        <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="149">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="124">Adds a new subscription to the feed list.</doc>
        <source-position filename="feedlist.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="126">the subscriptions source URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="filter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="127">NULL or the filter for the subscription</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="options"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="128">NULL or the update options</doc>
            <type c:type="updateOptionsPtr"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="129">download request flags</doc>
            <type name="gint" c:type="gint"/>
          </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="135">Adds a new subscription to the feed list, if there are no subscriptions with
the same URL, or opens a confirmation dialog else.</doc>
        <source-position filename="feedlist.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="137">the subscriptions source URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="filter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="138">NULL or the filter for the subscription</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="options"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="139">NULL or the update options</doc>
            <type c:type="updateOptionsPtr"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="140">download request flags</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="create"
                c:identifier="feedlist_create"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="35">Set up the feed list.</doc>
        <source-position filename="feedlist.h" line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="40">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"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="109">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="122"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="120">a nodePtr or NULL</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="111">parent node to traverse from (or NULL)</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="112">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="113">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="262">Tries to find the first node with an unread item in the given folder.</doc>
        <source-position filename="feedlist.h" line="270"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="268">a found node or NULL</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="feedlist.h"
                 line="264">the folder to search</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_new_item_count"
                c:identifier="feedlist_get_new_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="62">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="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="70">overall number of new items.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="get_root"
                c:identifier="feedlist_get_root"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="94">Helper function to query the feed list root node.</doc>
        <source-position filename="feedlist.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="99">the feed list root node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
      </function>
      <function name="get_selected"
                c:identifier="feedlist_get_selected"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="44">Get currently selected feed list node</doc>
        <source-position filename="feedlist.h" line="51"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="49">selected node (or NULL)</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
      </function>
      <function name="get_unread_item_count"
                c:identifier="feedlist_get_unread_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="53">Query overall number of unread items.</doc>
        <source-position filename="feedlist.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="58">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="226"/>
        <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"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="228">Triggers a recursive mark-all-read on the given node
and updates the feed list afterwards.</doc>
        <source-position filename="feedlist.h" line="236"/>
        <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="230">the node to start with</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_items"
                c:identifier="feedlist_new_items"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="272">To be called when node subscription update gained new items.</doc>
        <source-position filename="feedlist.h" line="278"/>
        <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="274">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"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="155">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="170"/>
        <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="157">the new node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_imported"
                c:identifier="feedlist_node_imported"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="172">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="187"/>
        <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="174">the new node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_removed"
                c:identifier="feedlist_node_removed"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="197">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="207"/>
        <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="199">the removed node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="node_was_updated"
                c:identifier="feedlist_node_was_updated"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="83">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="92"/>
        <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="85">the updated node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_node"
                c:identifier="feedlist_remove_node"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="189">Removes the given node from the feed list.</doc>
        <source-position filename="feedlist.h" line="195"/>
        <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="191">the node to remove</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="reset_new_item_count"
                c:identifier="feedlist_reset_new_item_count">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="74">Reset the global feed list new item counter.

TODO: use signal instead</doc>
        <source-position filename="feedlist.h" line="81"/>
        <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="217">Resets the update counter of all childs of the given node</doc>
        <source-position filename="feedlist.h" line="224"/>
        <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="219">the node (or NULL for whole feed list)</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="schedule_save"
                c:identifier="feedlist_schedule_save"
                introspectable="0">
        <doc xml:space="preserve"
             filename="feedlist.h"
             line="209">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="215"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <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="33"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="IS_AUTH_ACTIVATABLE"
                    c:identifier="LIFEREA_IS_AUTH_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="auth_activatable.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </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_LIFEREA_MEDIA_PLAYER_ACTIVATABLE"
                    c:identifier="IS_LIFEREA_MEDIA_PLAYER_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="ui/media_player_activatable.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LIFEREA_NODE_SOURCE_ACTIVATABLE"
                    c:identifier="IS_LIFEREA_NODE_SOURCE_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source_activatable.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NODE_SOURCE"
                    c:identifier="IS_NODE_SOURCE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source.h" line="414"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SHELL_ACTIVATABLE"
                    c:identifier="LIFEREA_IS_SHELL_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="ui/liferea_shell_activatable.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </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="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="225">Register a search result item loader.</doc>
        <source-position filename="itemlist.h" line="232"/>
        <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="227">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"
                introspectable="0">
        <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="gpointer" 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="get_view_mode" c:identifier="itemlist_get_view_mode">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="121">Returns the viewing mode property of the currently displayed item set.</doc>
        <source-position filename="itemlist.h" line="128"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="126">viewing mode (0 = normal, 1 = wide, 2 = combined view)</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="load" c:identifier="itemlist_load" introspectable="0">
        <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"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="106">the node</doc>
            <type name="gpointer" 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="183">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="191"/>
        <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="itemlist.h"
                 line="185">the node whose item list is to be removed</doc>
            <type name="gpointer" 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="161">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="169"/>
        <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="163">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="171">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="181"/>
        <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="173">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="174">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="201">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="207"/>
        <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="193">Called from GUI when item list selection changes.</doc>
        <source-position filename="itemlist.h" line="199"/>
        <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="195">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="209">Toggle the flag of the given item.</doc>
        <source-position filename="itemlist.h" line="215"/>
        <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="211">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="217">Toggle the read status of the given item.</doc>
        <source-position filename="itemlist.h" line="223"/>
        <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="219">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="unload"
                c:identifier="itemlist_unload"
                introspectable="0">
        <doc xml:space="preserve"
             filename="itemlist.h"
             line="112">Clears the item list. Unsets the currently
displayed item set. Optionally marks every item read.</doc>
        <source-position filename="itemlist.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="markRead" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="itemlist.h"
                 line="114">if TRUE all items are marked as read</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_item" c:identifier="itemlist_update_item">
        <source-position filename="itemlist.h" line="158"/>
        <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>
    </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">
      <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="208">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="218"/>
        <return-value nullable="1">
          <doc xml:space="preserve"
               filename="ui/item_list_view.h"
               line="216">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="210">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="211">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="153"/>
        <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>
          <parameter name="hasEnclosures" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/item_list_view.h"
                 line="148">TRUE if at least one item has an enclosure</doc>
            <type name="gboolean" c:type="gboolean"/>
          </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="239">Update all items of the ItemListView. To be used after
initial batch loading.</doc>
        <source-position filename="ui/item_list_view.h" line="246"/>
        <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="241">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="230">Update a single item of a ItemListView</doc>
        <source-position filename="ui/item_list_view.h" line="237"/>
        <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="232">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="233">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="76">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="85"/>
        <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="78">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="199">Creates the item view singleton instance.</doc>
        <source-position filename="ui/itemview.h" line="207"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="205">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="201">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="219">Requests the item view to change zoom level.</doc>
        <source-position filename="ui/itemview.h" line="225"/>
        <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="221">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="157">Finds the next unread item.</doc>
        <source-position filename="ui/itemview.h" line="165"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/itemview.h"
               line="163">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="159">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="launch_URL" c:identifier="itemview_launch_URL">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="209">Launch the given URL in the currently active HTML view.</doc>
        <source-position filename="ui/itemview.h" line="217"/>
        <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="211">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="212">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="175">Moves the cursor in the item list step times.
Negative value means moving backwards.</doc>
        <source-position filename="ui/itemview.h" line="182"/>
        <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="177">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="184">Moves the cursor in the item list to the first element.</doc>
        <source-position filename="ui/itemview.h" line="189"/>
        <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="87">Removes a given item from the view.

TODO: use item merger signal instead</doc>
        <source-position filename="ui/itemview.h" line="95"/>
        <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="89">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="167">Paging/skimming the item view. If possible scrolls
down otherwise it triggers Next-Unread.</doc>
        <source-position filename="ui/itemview.h" line="173"/>
        <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="106">Selects the nth enclosure in the enclosure list view currently presented.</doc>
        <source-position filename="ui/itemview.h" line="112"/>
        <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="108">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="97">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="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="99">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="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_layout" c:identifier="itemview_set_layout">
        <doc xml:space="preserve"
             filename="ui/itemview.h"
             line="191">Switches the layout for the given viewing mode.</doc>
        <source-position filename="ui/itemview.h" line="197"/>
        <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="193">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="227">Invokes a change of the href attribute in WebView's &lt;link&gt; tag</doc>
        <source-position filename="ui/itemview.h" line="232"/>
        <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="147">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="155"/>
        <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="130">Requests updating the rendering of a all displayed items.</doc>
        <source-position filename="ui/itemview.h" line="135"/>
        <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="122">Requests updating the rendering of a given item.</doc>
        <source-position filename="ui/itemview.h" line="128"/>
        <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="124">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="137">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="145"/>
        <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="ui/itemview.h"
                 line="139">the node whose info view is to be updated</doc>
            <type name="gpointer" 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="114">Selects and open the next enclosure in the list.</doc>
        <source-position filename="ui/itemview.h" line="120"/>
        <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="116">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="MEDIA_PLAYER_ACTIVATABLE"
                    c:identifier="LIFEREA_MEDIA_PLAYER_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="ui/media_player_activatable.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MEDIA_PLAYER_ACTIVATABLE_GET_IFACE"
                    c:identifier="LIFEREA_MEDIA_PLAYER_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="ui/media_player_activatable.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MEDIA_PLAYER_ACTIVATABLE_IFACE"
                    c:identifier="LIFEREA_MEDIA_PLAYER_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="ui/media_player_activatable.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="MediaPlayerActivatable"
               c:symbol-prefix="media_player_activatable"
               c:type="LifereaMediaPlayerActivatable"
               glib:type-name="LifereaMediaPlayerActivatable"
               glib:get-type="liferea_media_player_activatable_get_type"
               glib:type-struct="MediaPlayerActivatableInterface">
      <source-position filename="ui/media_player_activatable.h" line="45"/>
      <virtual-method name="activate" invoker="activate">
        <source-position filename="ui/media_player_activatable.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <source-position filename="ui/media_player_activatable.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load" invoker="load">
        <doc xml:space="preserve"
             filename="ui/media_player_activatable.h"
             line="53">Triggers the creation of a suitable media player and loads a list of
enclosures into it.</doc>
        <source-position filename="ui/media_player_activatable.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
          <parameter name="parentWidget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/media_player_activatable.h"
                 line="55">the parent widget for the media player</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="enclosures" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/media_player_activatable.h"
                 line="56">a list of enclosures</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="liferea_media_player_activatable_activate">
        <source-position filename="ui/media_player_activatable.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="liferea_media_player_activatable_deactivate">
        <source-position filename="ui/media_player_activatable.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="liferea_media_player_activatable_load">
        <doc xml:space="preserve"
             filename="ui/media_player_activatable.h"
             line="53">Triggers the creation of a suitable media player and loads a list of
enclosures into it.</doc>
        <source-position filename="ui/media_player_activatable.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="MediaPlayerActivatable"
                  c:type="LifereaMediaPlayerActivatable*"/>
          </instance-parameter>
          <parameter name="parentWidget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/media_player_activatable.h"
                 line="55">the parent widget for the media player</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="enclosures" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/media_player_activatable.h"
                 line="56">a list of enclosures</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="MediaPlayerActivatableInterface"
            c:type="LifereaMediaPlayerActivatableInterface"
            glib:is-gtype-struct-for="MediaPlayerActivatable">
      <source-position filename="ui/media_player_activatable.h" line="45"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="ui/media_player_activatable.h" line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="MediaPlayerActivatable"
                    c:type="LifereaMediaPlayerActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="ui/media_player_activatable.h" line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="MediaPlayerActivatable"
                    c:type="LifereaMediaPlayerActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load">
        <callback name="load">
          <source-position filename="ui/media_player_activatable.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="MediaPlayerActivatable"
                    c:type="LifereaMediaPlayerActivatable*"/>
            </parameter>
            <parameter name="parentWidget" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="ui/media_player_activatable.h"
                   line="55">the parent widget for the media player</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="enclosures" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="ui/media_player_activatable.h"
                   line="56">a list of enclosures</doc>
              <type name="GLib.SList" c:type="GSList*">
                <type name="utf8"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="NODE_SOURCE_ACTIVATABLE"
                    c:identifier="LIFEREA_NODE_SOURCE_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source_activatable.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NODE_SOURCE_ACTIVATABLE_GET_IFACE"
                    c:identifier="LIFEREA_NODE_SOURCE_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source_activatable.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NODE_SOURCE_ACTIVATABLE_IFACE"
                    c:identifier="LIFEREA_NODE_SOURCE_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source_activatable.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="NODE_SOURCE_MAX_AUTH_FAILURES"
              value="3"
              c:type="NODE_SOURCE_MAX_AUTH_FAILURES">
      <source-position filename="fl_sources/node_source.h" line="93"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="NODE_SOURCE_TYPE"
                    c:identifier="NODE_SOURCE_TYPE"
                    introspectable="0">
      <source-position filename="fl_sources/node_source.h" line="239"/>
      <parameters>
        <parameter name="node">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="NODE_SOURCE_TYPE_DUMMY_ID"
              value="fl_dummy"
              c:type="NODE_SOURCE_TYPE_DUMMY_ID">
      <source-position filename="fl_sources/node_source.h" line="241"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <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="fl_sources/node_source_activatable.h"
                       line="44"/>
      <virtual-method name="activate" invoker="activate">
        <source-position filename="fl_sources/node_source_activatable.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="NodeSourceActivatable"
                  c:type="LifereaNodeSourceActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <source-position filename="fl_sources/node_source_activatable.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="NodeSourceActivatable"
                  c:type="LifereaNodeSourceActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="liferea_node_source_activatable_activate">
        <source-position filename="fl_sources/node_source_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">
            <type name="NodeSourceActivatable"
                  c:type="LifereaNodeSourceActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="liferea_node_source_activatable_deactivate">
        <source-position filename="fl_sources/node_source_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">
            <type name="NodeSourceActivatable"
                  c:type="LifereaNodeSourceActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
    </interface>
    <record name="NodeSourceActivatableInterface"
            c:type="LifereaNodeSourceActivatableInterface"
            glib:is-gtype-struct-for="NodeSourceActivatable">
      <source-position filename="fl_sources/node_source_activatable.h"
                       line="44"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="fl_sources/node_source_activatable.h"
                           line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="NodeSourceActivatable"
                    c:type="LifereaNodeSourceActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="fl_sources/node_source_activatable.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="NodeSourceActivatable"
                    c:type="LifereaNodeSourceActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="SHELL_ACTIVATABLE"
                    c:identifier="LIFEREA_SHELL_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="ui/liferea_shell_activatable.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SHELL_ACTIVATABLE_GET_IFACE"
                    c:identifier="LIFEREA_SHELL_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="ui/liferea_shell_activatable.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SHELL_ACTIVATABLE_IFACE"
                    c:identifier="LIFEREA_SHELL_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="ui/liferea_shell_activatable.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <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="180">Returns the Liferea main window.</doc>
        <source-position filename="ui/liferea_shell.h" line="187"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/liferea_shell.h"
               line="185">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="189">Invokes a rebuild of the WebView CSS.</doc>
        <source-position filename="ui/liferea_shell.h" line="194"/>
        <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="171">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="178"/>
        <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="164">Sets the status bar text. Takes printf() like parameters.</doc>
        <source-position filename="ui/liferea_shell.h" line="169"/>
        <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="set_view_mode"
                c:identifier="liferea_shell_set_view_mode">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="196">Changes the view mode programmatically. Used to change the mode when
selecting another feed. Convenience function to trigger the stateful action
set-view-mode.</doc>
        <source-position filename="ui/liferea_shell.h" line="204"/>
        <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/liferea_shell.h"
                 line="198">the new mode</doc>
            <type name="nodeViewType" c:type="nodeViewType"/>
          </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_allitems_actions"
                c:identifier="liferea_shell_update_allitems_actions"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="143">Update the sensitivity of options affecting item sets.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="isNotEmpty" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="145">TRUE if there is a non-empty item set active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="isRead" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="146">TRUE if there are no unread items in the item set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_feed_menu"
                c:identifier="liferea_shell_update_feed_menu"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="121">Update the sensitivity of options affecting single feeds.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="add" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="123">TRUE if subscribing is to be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="124">TRUE if feed actions are to be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="readWrite" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="ui/liferea_shell.h"
                 line="125">TRUE if feed list modifying actions are enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </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="133">Update the sensitivity of options affecting single items.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="141"/>
        <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="135">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>
      <function name="update_update_menu"
                c:identifier="liferea_shell_update_update_menu"
                introspectable="0">
        <doc xml:space="preserve"
             filename="ui/liferea_shell.h"
             line="154">Set the sensitivity of items in the update menu.

TODO: use signal instead</doc>
        <source-position filename="ui/liferea_shell.h" line="162"/>
        <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="156">TRUE if menu options are to be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </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="ui/liferea_shell_activatable.h" line="44"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="60">Activates the extension on the shell property.</doc>
        <source-position filename="ui/liferea_shell_activatable.h" line="41"/>
        <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="ui/liferea_shell_activatable.c"
                 line="62">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="78">Deactivates the extension on the shell property.</doc>
        <source-position filename="ui/liferea_shell_activatable.h" line="42"/>
        <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="ui/liferea_shell_activatable.c"
                 line="80">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_state" invoker="update_state">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="96">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="ui/liferea_shell_activatable.h" line="43"/>
        <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="ui/liferea_shell_activatable.c"
                 line="98">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="liferea_shell_activatable_activate">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="60">Activates the extension on the shell property.</doc>
        <source-position filename="ui/liferea_shell_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="ui/liferea_shell_activatable.c"
                 line="62">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="liferea_shell_activatable_deactivate">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="78">Deactivates the extension on the shell property.</doc>
        <source-position filename="ui/liferea_shell_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="ui/liferea_shell_activatable.c"
                 line="80">A #LifereaShellActivatable.</doc>
            <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_state"
              c:identifier="liferea_shell_activatable_update_state">
        <doc xml:space="preserve"
             filename="ui/liferea_shell_activatable.c"
             line="96">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="ui/liferea_shell_activatable.h" line="52"/>
        <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="ui/liferea_shell_activatable.c"
                 line="98">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="ui/liferea_shell_activatable.h" line="44"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="ui/liferea_shell_activatable.h"
                           line="41"/>
          <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="ui/liferea_shell_activatable.c"
                   line="62">A #LifereaShellActivatable.</doc>
              <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="ui/liferea_shell_activatable.h"
                           line="42"/>
          <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="ui/liferea_shell_activatable.c"
                   line="80">A #LifereaShellActivatable.</doc>
              <type name="ShellActivatable" c:type="LifereaShellActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <source-position filename="ui/liferea_shell_activatable.h"
                           line="43"/>
          <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="ui/liferea_shell_activatable.c"
                   line="98">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>
    <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>
    <record name="encType" c:type="encType">
      <source-position filename="enclosure.h" line="33"/>
      <field name="mime" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="extension" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="cmd" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="permanent" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <record name="encTypePtr" c:type="encTypePtr" disguised="1">
      <source-position filename="enclosure.h" line="33"/>
    </record>
    <record name="enclosure" c:type="enclosure">
      <source-position filename="enclosure.h" line="41"/>
      <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="download"
                c:identifier="enclosure_download"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="137">Downloads a given enclosure URL into a file</doc>
        <source-position filename="enclosure.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="139">ULL or pointer to type structure</doc>
            <type name="encTypePtr" c:type="encTypePtr"/>
          </parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="140">valid HTTP URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="interactive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="141">TRUE if triggered by user interaction</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="free" c:identifier="enclosure_free" introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="96">Free all memory associated with the enclosure.</doc>
        <source-position filename="enclosure.h" line="102"/>
        <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="98">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="43">Parses enclosure description.</doc>
        <source-position filename="enclosure.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="49">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="45">the enclosure description</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_mime" c:identifier="enclosure_get_mime">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="86">Get MIME type from enclosure string</doc>
        <source-position filename="enclosure.h" line="94"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="92">MIME type 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="88">enclosure string to parse</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="76">Get URL from enclosure string</doc>
        <source-position filename="enclosure.h" line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="82">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="78">enclosure string to parse</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="mime_type_add"
                c:identifier="enclosure_mime_type_add"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="113">Adds a new MIME type handling definition.</doc>
        <source-position filename="enclosure.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="115">the new definition</doc>
            <type name="encTypePtr" c:type="encTypePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="mime_type_remove"
                c:identifier="enclosure_mime_type_remove"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="121">Removes an existing MIME type handling definition.
The definition will be free'd by this function.</doc>
        <source-position filename="enclosure.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="enclosure.h"
                 line="123">the definition to remove</doc>
            <type name="encTypePtr" c:type="encTypePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="mime_types_get"
                c:identifier="enclosure_mime_types_get"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="104">Returns all configured enclosure types.</doc>
        <source-position filename="enclosure.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="109">list of encType structures</doc>
          <type name="GLib.SList" c:type="const GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <function name="mime_types_save"
                c:identifier="enclosure_mime_types_save"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="130">Save all MIME type definitions.</doc>
        <source-position filename="enclosure.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="to_string"
                c:identifier="enclosure_to_string"
                introspectable="0">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="66">Serialize enclosure to string.</doc>
        <source-position filename="enclosure.h" line="74"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="72">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="68">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="53">Serialize enclosure infos to string.</doc>
        <source-position filename="enclosure.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="62">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="55">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="56">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="57">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="58">downloading state (TRUE=downloaded)</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="enclosurePtr" c:type="enclosurePtr" disguised="1">
      <source-position filename="enclosure.h" line="41"/>
    </record>
    <function name="enclosure_download"
              c:identifier="enclosure_download"
              moved-to="enclosure.download"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="137">Downloads a given enclosure URL into a file</doc>
      <source-position filename="enclosure.h" line="145"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="139">ULL or pointer to type structure</doc>
          <type name="encTypePtr" c:type="encTypePtr"/>
        </parameter>
        <parameter name="url" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="140">valid HTTP URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="interactive" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="141">TRUE if triggered by user interaction</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_free"
              c:identifier="enclosure_free"
              moved-to="enclosure.free"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="96">Free all memory associated with the enclosure.</doc>
      <source-position filename="enclosure.h" line="102"/>
      <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="98">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="43">Parses enclosure description.</doc>
      <source-position filename="enclosure.h" line="51"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="49">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="45">the enclosure description</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_get_mime"
              c:identifier="enclosure_get_mime"
              moved-to="enclosure.get_mime">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="86">Get MIME type from enclosure string</doc>
      <source-position filename="enclosure.h" line="94"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="92">MIME type 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="88">enclosure string to parse</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="76">Get URL from enclosure string</doc>
      <source-position filename="enclosure.h" line="84"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="82">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="78">enclosure string to parse</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_mime_type_add"
              c:identifier="enclosure_mime_type_add"
              moved-to="enclosure.mime_type_add"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="113">Adds a new MIME type handling definition.</doc>
      <source-position filename="enclosure.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="115">the new definition</doc>
          <type name="encTypePtr" c:type="encTypePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_mime_type_remove"
              c:identifier="enclosure_mime_type_remove"
              moved-to="enclosure.mime_type_remove"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="121">Removes an existing MIME type handling definition.
The definition will be free'd by this function.</doc>
      <source-position filename="enclosure.h" line="128"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="enclosure.h"
               line="123">the definition to remove</doc>
          <type name="encTypePtr" c:type="encTypePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="enclosure_mime_types_get"
              c:identifier="enclosure_mime_types_get"
              moved-to="enclosure.mime_types_get"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="104">Returns all configured enclosure types.</doc>
      <source-position filename="enclosure.h" line="111"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="109">list of encType structures</doc>
        <type name="GLib.SList" c:type="const GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
    </function>
    <function name="enclosure_mime_types_save"
              c:identifier="enclosure_mime_types_save"
              moved-to="enclosure.mime_types_save"
              introspectable="0">
      <doc xml:space="preserve"
           filename="enclosure.h"
           line="130">Save all MIME type definitions.</doc>
      <source-position filename="enclosure.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </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="66">Serialize enclosure to string.</doc>
      <source-position filename="enclosure.h" line="74"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="72">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="68">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="53">Serialize enclosure infos to string.</doc>
      <source-position filename="enclosure.h" line="64"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="enclosure.h"
             line="62">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="55">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="56">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="57">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="58">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="107"/>
      <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="240">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="248"/>
      <parameters>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="242">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="250">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="260"/>
      <parameters>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="252">the function to process all found elements</doc>
        </parameter>
        <parameter name="user_data">
          <doc xml:space="preserve"
               filename="feedlist.h"
               line="253">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="65">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="75"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="ui/icons.h"
             line="73">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="67">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="55">Returns a GIcon for the requested item.</doc>
      <source-position filename="ui/icons.h" line="63"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="ui/icons.h" line="61">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="57">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="45">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="53"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <record name="item" c:type="item">
      <source-position filename="item.h" line="77"/>
      <field name="id" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="readStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="popupStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="updateStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="flagStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="hasEnclosure" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="isHidden" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="title" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="source" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="sourceId" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="validGuid" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="metadata" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="tmpdata" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="time" writable="1">
        <type name="gint64" c:type="gint64"/>
      </field>
      <field name="commentFeedId" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parentItemId" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="isComment" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="nodeId" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parentNodeId" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="sourceNr" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="remoteReadStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="remoteFlagStatus" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <function name="copy" c:identifier="item_copy" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="99">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="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="107">copy of the item.</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="101">the item to copy</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_author"
                c:identifier="item_get_author"
                introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="161">Returns the resolved author for the item</doc>
        <source-position filename="item.h" line="169"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="167">pointer to string in GSList meta data</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="163">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_base_url"
                c:identifier="item_get_base_url"
                introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="111">Returns the base URL for the given item.</doc>
        <source-position filename="item.h" line="119"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="117">base URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="113">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_description" c:identifier="item_get_description">
        <source-position filename="item.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_id" c:identifier="item_get_id">
        <source-position filename="item.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_source" c:identifier="item_get_source">
        <source-position filename="item.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_teaser"
                c:identifier="item_get_teaser"
                introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="141">Create a plain text teaser from the item description</doc>
        <source-position filename="item.h" line="149"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="147">newly allocated string to be free'd using g_free() (or NULL)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="143">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_title" c:identifier="item_get_title">
        <source-position filename="item.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="load" c:identifier="item_load" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="87">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="97"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="item.h"
               line="95">item structure</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="89">item id to load</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </function>
      <function name="make_link"
                c:identifier="item_make_link"
                introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="151">Returns the resolved link for the item.</doc>
        <source-position filename="item.h" line="159"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="157">newly allocated URI to be free'd using g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="153">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="item_new" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="79">Allocates a new item structure.</doc>
        <source-position filename="item.h" line="85"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="item.h"
               line="83">the new structure</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </return-value>
      </function>
      <function name="render" c:identifier="item_render" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="201">Uses item_xml() and adds additional feed info to the item info for rendering

Returns XML string (to be free'd using g_free())</doc>
        <source-position filename="item.h" line="210"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="203">the item to serialize</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="viewMode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="204">the item view mode</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_xml" c:identifier="item_to_xml" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="191">Adds an XML node to the given item.</doc>
        <source-position filename="item.h" line="199"/>
        <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="item.h"
                 line="193">the item to serialize</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="parentNode"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="194">the xmlNodePtr to add to</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="unload" c:identifier="item_unload" introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="121">Free the memory used by an itempointer. The item needs to be
removed from the itemlist before calling this function.</doc>
        <source-position filename="item.h" line="129"/>
        <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="item.h"
                 line="123">the item to unload</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <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">
      <source-position filename="item.h" line="77"/>
    </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>
      <function name="description"
                c:identifier="item_set_description"
                introspectable="0">
        <doc xml:space="preserve"
             filename="item.h"
             line="174">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="184"/>
        <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="item.h"
                 line="176">the item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="item.h"
                 line="177">the content</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="id" c:identifier="item_set_id">
        <source-position filename="item.h" line="189"/>
        <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="id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="source" c:identifier="item_set_source">
        <source-position filename="item.h" line="187"/>
        <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="source" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="title" c:identifier="item_set_title">
        <source-position filename="item.h" line="172"/>
        <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="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="itemSetPtr" c:type="itemSetPtr" disguised="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 name="item_copy"
              c:identifier="item_copy"
              moved-to="item.copy"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="99">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="109"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="item.h"
             line="107">copy of the item.</doc>
        <type name="itemPtr" c:type="itemPtr"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="101">the item to copy</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_author"
              c:identifier="item_get_author"
              moved-to="item.get_author"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="161">Returns the resolved author for the item</doc>
      <source-position filename="item.h" line="169"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="item.h"
             line="167">pointer to string in GSList meta data</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="163">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_base_url"
              c:identifier="item_get_base_url"
              moved-to="item.get_base_url"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="111">Returns the base URL for the given item.</doc>
      <source-position filename="item.h" line="119"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="item.h" line="117">base URL</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="113">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_description"
              c:identifier="item_get_description"
              moved-to="item.get_description">
      <source-position filename="item.h" line="137"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_id"
              c:identifier="item_get_id"
              moved-to="item.get_id">
      <source-position filename="item.h" line="133"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_source"
              c:identifier="item_get_source"
              moved-to="item.get_source">
      <source-position filename="item.h" line="139"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_teaser"
              c:identifier="item_get_teaser"
              moved-to="item.get_teaser"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="141">Create a plain text teaser from the item description</doc>
      <source-position filename="item.h" line="149"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="item.h"
             line="147">newly allocated string to be free'd using g_free() (or NULL)</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="143">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_get_title"
              c:identifier="item_get_title"
              moved-to="item.get_title">
      <source-position filename="item.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_load"
              c:identifier="item_load"
              moved-to="item.load"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="87">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="97"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="item.h"
             line="95">item structure</doc>
        <type name="itemPtr" c:type="itemPtr"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="89">item id to load</doc>
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_make_link"
              c:identifier="item_make_link"
              moved-to="item.make_link"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="151">Returns the resolved link for the item.</doc>
      <source-position filename="item.h" line="159"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="item.h"
             line="157">newly allocated URI to be free'd using g_free()</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve" filename="item.h" line="153">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_new"
              c:identifier="item_new"
              moved-to="item.new"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="79">Allocates a new item structure.</doc>
      <source-position filename="item.h" line="85"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="item.h"
             line="83">the new structure</doc>
        <type name="itemPtr" c:type="itemPtr"/>
      </return-value>
    </function>
    <function name="item_render"
              c:identifier="item_render"
              moved-to="item.render"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="201">Uses item_xml() and adds additional feed info to the item info for rendering

Returns XML string (to be free'd using g_free())</doc>
      <source-position filename="item.h" line="210"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="203">the item to serialize</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
        <parameter name="viewMode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="204">the item view mode</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_set_description"
              c:identifier="item_set_description"
              moved-to="itemSet.description"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="174">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="184"/>
      <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="item.h" line="176">the item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="item.h"
               line="177">the content</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_set_id"
              c:identifier="item_set_id"
              moved-to="itemSet.id">
      <source-position filename="item.h" line="189"/>
      <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="id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_set_source"
              c:identifier="item_set_source"
              moved-to="itemSet.source">
      <source-position filename="item.h" line="187"/>
      <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="source" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_set_title"
              c:identifier="item_set_title"
              moved-to="itemSet.title">
      <source-position filename="item.h" line="172"/>
      <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="title" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_to_xml"
              c:identifier="item_to_xml"
              moved-to="item.to_xml"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="191">Adds an XML node to the given item.</doc>
      <source-position filename="item.h" line="199"/>
      <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="item.h"
               line="193">the item to serialize</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
        <parameter name="parentNode"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="item.h"
               line="194">the xmlNodePtr to add to</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="item_unload"
              c:identifier="item_unload"
              moved-to="item.unload"
              introspectable="0">
      <doc xml:space="preserve"
           filename="item.h"
           line="121">Free the memory used by an itempointer. The item needs to be
removed from the itemlist before calling this function.</doc>
      <source-position filename="item.h" line="129"/>
      <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="item.h"
               line="123">the item to unload</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
      </parameters>
    </function>
    <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="43"/>
      <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_available" value="2" c:identifier="ICON_AVAILABLE">
      </member>
      <member name="con_available_offline"
              value="3"
              c:identifier="ICON_AVAILABLE_OFFLINE">
      </member>
      <member name="con_unavailable" value="4" c:identifier="ICON_UNAVAILABLE">
      </member>
      <member name="con_default" value="5" c:identifier="ICON_DEFAULT">
      </member>
      <member name="con_folder" value="6" c:identifier="ICON_FOLDER">
      </member>
      <member name="con_vfolder" value="7" c:identifier="ICON_VFOLDER">
      </member>
      <member name="con_newsbin" value="8" c:identifier="ICON_NEWSBIN">
      </member>
      <member name="con_empty" value="9" c:identifier="ICON_EMPTY">
      </member>
      <member name="con_empty_offline"
              value="10"
              c:identifier="ICON_EMPTY_OFFLINE">
      </member>
      <member name="con_online" value="11" c:identifier="ICON_ONLINE">
      </member>
      <member name="con_offline" value="12" c:identifier="ICON_OFFLINE">
      </member>
      <member name="con_enclosure" value="13" c:identifier="ICON_ENCLOSURE">
      </member>
      <member name="ax_icons" value="14" c:identifier="MAX_ICONS">
      </member>
    </enumeration>
    <docsection name="liferea_auth_activatable">
      <doc xml:space="preserve"
           filename="auth_activatable.c"
           line="23">#LifereaAuthActivatable is an interface which should be implemented by
extensions that want to provide a password store</doc>
    </docsection>
    <docsection name="liferea_media_player_activatable">
      <doc xml:space="preserve"
           filename="ui/media_player_activatable.c"
           line="23">#LifereaMediaPlayerActivatable is an interface which should be implemented by
extensions that want to provide a media player</doc>
    </docsection>
    <docsection name="liferea_shell_activatable">
      <doc xml:space="preserve"
           filename="ui/liferea_shell_activatable.c"
           line="25">#LifereaShellActivatable is an interface which should be implemented by
extensions that should be activated on the Liferea main window.</doc>
    </docsection>
    <function name="media_player_load"
              c:identifier="liferea_media_player_load">
      <doc xml:space="preserve"
           filename="ui/media_player.h"
           line="27">Triggers the creation of a suitable media player and loads a list of
enclosures into it.</doc>
      <source-position filename="ui/media_player.h" line="35"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parentWidget" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/media_player.h"
               line="29">the parent widget for the media player</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="enclosures" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="ui/media_player.h"
               line="30">a list of enclosure strings</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="utf8"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <record name="node" c:type="node">
      <source-position filename="node.h" line="76"/>
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="subscription" writable="1">
        <type name="gpointer" c:type="subscription*"/>
      </field>
      <field name="type" writable="1">
        <type name="gpointer" c:type="nodeType*"/>
      </field>
      <field name="source" writable="1">
        <type name="gpointer" c:type="nodeSource*"/>
      </field>
      <field name="iconFile" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parent" writable="1">
        <type name="gpointer" c:type="node*"/>
      </field>
      <field name="children" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="id" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="itemCount" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="unreadCount" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="popupCount" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="newCount" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="title" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="icon" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="available" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="expanded" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="viewMode" writable="1">
        <type name="nodeViewType" c:type="nodeViewType"/>
      </field>
      <field name="sortColumn" writable="1">
        <type name="nodeViewSortType" c:type="nodeViewSortType"/>
      </field>
      <field name="sortReversed" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="loadItemLink" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="needsUpdate" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="needsRecount" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <function name="auto_update_subscription"
                c:identifier="node_auto_update_subscription"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="167">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
        <source-position filename="node.h" line="174"/>
        <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="node.h"
                 line="169">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="can_add_child_feed"
                c:identifier="node_can_add_child_feed"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="414">Query whether a feed be added to the given node.</doc>
        <source-position filename="node.h" line="422"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="420">TRUE if a feed can be added</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="416">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="can_add_child_folder"
                c:identifier="node_can_add_child_folder"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="424">Query whether a folder be added to the given node.</doc>
        <source-position filename="node.h" line="432"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="430">TRUE if a folder can be added</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="426">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="default_render"
                c:identifier="node_default_render"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="311">Helper function for generic node rendering. Performs
a generic node serialization to XML and passes the
generated XML source document to the XSLT stylesheet
with the same name as the node type id.</doc>
        <source-position filename="node.h" line="322"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="320">XHTML string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="313">the node to render</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="foreach_child_full"
                c:identifier="node_foreach_child_full">
        <source-position filename="node.h" line="454"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ptr" transfer-ownership="none">
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="params" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="free" c:identifier="node_free" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="303">Frees a given node structure.</doc>
        <source-position filename="node.h" line="309"/>
        <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="node.h"
                 line="305">the node to free</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="from_id" c:identifier="node_from_id" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="96">Node lookup by node id. Will report an error if the queried
id does not exist.</doc>
        <source-position filename="node.h" line="105"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="103">the node with the given id (or NULL)</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="98">the node id to look up</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_base_url"
                c:identifier="node_get_base_url"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="403">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="412"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="410">base URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="405">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_favicon_file"
                c:identifier="node_get_favicon_file"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="264">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="273"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="271">a file name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="266">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_icon"
                c:identifier="node_get_icon"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="242">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="252"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="250">a pixmap or NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_id" c:identifier="node_get_id" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="284">Query the unique id string of the node.</doc>
        <source-position filename="node.h" line="292"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="290">id string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="286">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_itemset"
                c:identifier="node_get_itemset"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="332">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="341"/>
        <return-value>
          <doc xml:space="preserve"
               filename="node.h"
               line="339">the item set</doc>
          <type name="itemSetPtr" c:type="itemSetPtr"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="334">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_large_icon"
                c:identifier="node_get_large_icon"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="254">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="262"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="260">a pixmap or NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_title"
                c:identifier="node_get_title"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="197">Query the node's title for the feed list.</doc>
        <source-position filename="node.h" line="205"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="203">the title</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="199">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_view_mode"
                c:identifier="node_get_view_mode"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="391">Query the effective viewing mode setting of a given mode.
When node viewing mode is set to default it will return the
configured default.</doc>
        <source-position filename="node.h" line="401"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="399">viewing mode (NODE_VIEW_MODE_*)</doc>
          <type name="nodeViewType" c:type="nodeViewType"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="393">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_ancestor"
                c:identifier="node_is_ancestor"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="186">Determines whether node1 is an ancestor of node2</doc>
        <source-position filename="node.h" line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="193">TRUE if node1 is ancestor of node2</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="188">the possible ancestor</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="node2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="189">the possible child</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_used_id"
                c:identifier="node_is_used_id"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="86">Can be used to check whether an id is used or not.</doc>
        <source-position filename="node.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="92">the node with the given id (or NULL)</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="88">the node id to check</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="load_icon"
                c:identifier="node_load_icon"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="361">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="368"/>
        <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="node.h"
                 line="363">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="mark_all_read"
                c:identifier="node_mark_all_read"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="225">Recursively marks all items of the given node as read.</doc>
        <source-position filename="node.h" line="231"/>
        <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="node.h"
                 line="227">the node to process</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="node_new" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="78">Creates a new node structure.</doc>
        <source-position filename="node.h" line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="82">the new node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="nodeType*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_id" c:identifier="node_new_id">
        <doc xml:space="preserve"
             filename="node.h"
             line="275">Returns a new unused unique node id.</doc>
        <source-position filename="node.h" line="282"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="280">new id (to be free'd using g_free)</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="remove" c:identifier="node_remove" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="131">Removes all data associated with the given node.</doc>
        <source-position filename="node.h" line="137"/>
        <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="node.h"
                 line="133">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="render" c:identifier="node_render" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="343">Node content rendering</doc>
        <source-position filename="node.h" line="351"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="node.h"
               line="349">string with node rendered in HTML</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="345">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="reparent"
                c:identifier="node_reparent"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="121">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="129"/>
        <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="node.h"
                 line="123">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="new_parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="124">nodes new parent</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="reset_update_counter"
                c:identifier="node_reset_update_counter"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="176">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
        <source-position filename="node.h" line="184"/>
        <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="node.h"
                 line="178">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="now" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="179">the current timestamp</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
        </parameters>
      </function>
      <function name="save" c:identifier="node_save" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="324">Saves the given node to cache.</doc>
        <source-position filename="node.h" line="330"/>
        <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="node.h"
                 line="326">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="save_items_to_file"
                c:identifier="node_save_items_to_file"
                introspectable="0"
                throws="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="434">Exports all items in this node as a RSS2 feed.</doc>
        <source-position filename="node.h" line="442"/>
        <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="node.h"
                 line="436">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="437">the destination file name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_data"
                c:identifier="node_set_data"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="139">Attaches a data structure to the given node.</doc>
        <source-position filename="node.h" line="146"/>
        <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="node.h"
                 line="141">the node to attach to</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="142">the structure</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_icon"
                c:identifier="node_set_icon"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="233">Assigns a new pixmaps as the favicon representing this node.</doc>
        <source-position filename="node.h" line="240"/>
        <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="node.h"
                 line="235">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="236">a pixmap or NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_id" c:identifier="node_set_id" introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="294">Set the unique id string of the node.</doc>
        <source-position filename="node.h" line="301"/>
        <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="node.h"
                 line="296">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="297">the id string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_parent"
                c:identifier="node_set_parent"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="107">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="119"/>
        <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="node.h"
                 line="109">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="110">the parent node (optional can be NULL)</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="111">insert position (optional can be 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_sort_column"
                c:identifier="node_set_sort_column"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="370">Change/Set the sort column of a given node.</doc>
        <source-position filename="node.h" line="380"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="378">TRUE if the passed settings were different from the previous ones</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="372">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="sortColumn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="373">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="374">TRUE if order should be reversed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_subscription"
                c:identifier="node_set_subscription"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="148">Attaches the subscription to the given node.</doc>
        <source-position filename="node.h" line="155"/>
        <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="node.h"
                 line="150">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="subscription"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="151">the subscription</doc>
            <type name="gpointer" c:type="subscription*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_title"
                c:identifier="node_set_title"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="207">Sets the node's title for the feed list.</doc>
        <source-position filename="node.h" line="214"/>
        <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="node.h"
                 line="209">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="210">the title</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_view_mode"
                c:identifier="node_set_view_mode"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="382">Change/Set the viewing mode of a given node.</doc>
        <source-position filename="node.h" line="389"/>
        <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="node.h"
                 line="384">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="newMode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="385">viewing mode (NODE_VIEW_MODE_*)</doc>
            <type name="nodeViewType" c:type="nodeViewType"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_counters"
                c:identifier="node_update_counters"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="216">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="223"/>
        <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="node.h"
                 line="218">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_favicon"
                c:identifier="node_update_favicon"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="353">Called when updating favicons is requested.</doc>
        <source-position filename="node.h" line="359"/>
        <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="node.h"
                 line="355">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_subscription"
                c:identifier="node_update_subscription"
                introspectable="0">
        <doc xml:space="preserve"
             filename="node.h"
             line="157">Helper function to be used with node_foreach_child()
to mass-update subscriptions.</doc>
        <source-position filename="node.h" line="165"/>
        <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="node.h"
                 line="159">the node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="node.h"
                 line="160">update flags</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <callback name="nodeActionDataFunc">
      <source-position filename="node.h" line="448"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </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="447"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </callback>
    <record name="nodePtr" c:type="nodePtr" disguised="1">
      <source-position filename="node.h" line="76"/>
    </record>
    <record name="nodeSource" c:type="nodeSource">
      <source-position filename="fl_sources/node_source.h" line="236"/>
      <field name="type" writable="1">
        <type name="nodeSourceTypePtr" c:type="nodeSourceTypePtr"/>
      </field>
      <field name="root" writable="1">
        <type name="nodePtr" c:type="nodePtr"/>
      </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>
      <function name="add_folder"
                c:identifier="node_source_add_folder"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="336">Called when a new folder is to be added to a node source feed list.</doc>
        <source-position filename="fl_sources/node_source.h" line="345"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="343">a new node representing the new folder</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="338">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="339">the folder title</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="add_subscription"
                c:identifier="node_source_add_subscription"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="316">Called when a new subscription has been added to the node source.</doc>
        <source-position filename="fl_sources/node_source.h" line="325"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="323">a new node intialized with the new subscription</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="318">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="subscription"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="319">the new subscription</doc>
            <type name="gpointer" c:type="subscription*"/>
          </parameter>
        </parameters>
      </function>
      <function name="auto_update"
                c:identifier="node_source_auto_update"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="306">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="fl_sources/node_source.h" line="314"/>
        <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="fl_sources/node_source.h"
                 line="308">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="convert_to_local"
                c:identifier="node_source_convert_to_local"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="394">Converts all subscriptions to default source subscriptions.</doc>
        <source-position filename="fl_sources/node_source.h" line="400"/>
        <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="fl_sources/node_source.h"
                 line="396">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="find_or_create_folder"
                c:identifier="node_source_find_or_create_folder"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="357">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="fl_sources/node_source.h" line="372"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="370">a valid nodePtr</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="359">Parent folder (or source root node)</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="360">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="fl_sources/node_source.h"
                 line="361">Folder display name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_node_type"
                c:identifier="node_source_get_node_type"
                introspectable="0">
        <source-position filename="fl_sources/node_source.h" line="421"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="419">the node source node type implementation.</doc>
          <type c:type="nodeTypePtr"/>
        </return-value>
      </function>
      <function name="item_mark_read"
                c:identifier="node_source_item_mark_read"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="374">Called when the read state of an item changes.</doc>
        <source-position filename="fl_sources/node_source.h" line="382"/>
        <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="fl_sources/node_source.h"
                 line="376">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="377">the affected item</doc>
            <type name="itemPtr" c:type="itemPtr"/>
          </parameter>
          <parameter name="newState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="378">the new item read state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="item_set_flag" c:identifier="node_source_item_set_flag">
        <source-position filename="fl_sources/node_source.h" line="392"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="nodePtr" c:type="nodePtr"/>
          </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>
      </function>
      <function name="new" c:identifier="node_source_new" introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="263">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="fl_sources/node_source.h" line="275"/>
        <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="fl_sources/node_source.h"
                 line="265">a newly created node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="nodeSourceType" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="266">the node source type</doc>
            <type name="nodeSourceTypePtr" c:type="nodeSourceTypePtr"/>
          </parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="267">subscription URL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove_node"
                c:identifier="node_source_remove_node"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="327">Called when an existing subscription is to be removed from a node source.</doc>
        <source-position filename="fl_sources/node_source.h" line="334"/>
        <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="fl_sources/node_source.h"
                 line="329">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="330">the child node to remove</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="root_from_node"
                c:identifier="node_source_root_from_node"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="243">Get the root node of a feed list source for any given child node.</doc>
        <source-position filename="fl_sources/node_source.h" line="251"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="249">node source root node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="245">any child node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_auth_token"
                c:identifier="node_source_set_auth_token"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="286">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="fl_sources/node_source.h" line="295"/>
        <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="fl_sources/node_source.h"
                 line="288">a node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="289">a string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_state"
                c:identifier="node_source_set_state"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="277">Change state of the node source by node</doc>
        <source-position filename="fl_sources/node_source.h" line="284"/>
        <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="fl_sources/node_source.h"
                 line="279">the node source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="newState" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="280">the new state</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="setup_root"
                c:identifier="node_source_setup_root"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="253">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="fl_sources/node_source.h" line="261"/>
        <return-value>
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="259">a newly created root node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </return-value>
      </function>
      <function name="update"
                c:identifier="node_source_update"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="297">Force the source to update its subscription list and
the child subscriptions themselves.</doc>
        <source-position filename="fl_sources/node_source.h" line="304"/>
        <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="fl_sources/node_source.h"
                 line="299">the source node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
      <function name="update_folder"
                c:identifier="node_source_update_folder"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="347">Called to update a nodes folder. If current folder != given folder
the node will be reparented.</doc>
        <source-position filename="fl_sources/node_source.h" line="355"/>
        <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="fl_sources/node_source.h"
                 line="349">any node</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="350">the target folder</doc>
            <type name="nodePtr" c:type="nodePtr"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <bitfield name="nodeSourceCapability" c:type="nodeSourceCapability">
      <source-position filename="fl_sources/node_source.h" line="65"/>
      <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">
      <source-position filename="fl_sources/node_source.h" line="236"/>
    </record>
    <enumeration name="nodeSourceState" c:type="nodeSourceState">
      <source-position filename="fl_sources/node_source.h" line="74"/>
      <member name="none" value="0" c:identifier="NODE_SOURCE_STATE_NONE">
      </member>
      <member name="in_progress"
              value="1"
              c:identifier="NODE_SOURCE_STATE_IN_PROGRESS">
      </member>
      <member name="active" value="2" c:identifier="NODE_SOURCE_STATE_ACTIVE">
      </member>
      <member name="no_auth"
              value="3"
              c:identifier="NODE_SOURCE_STATE_NO_AUTH">
      </member>
      <member name="migrate"
              value="4"
              c:identifier="NODE_SOURCE_STATE_MIGRATE">
      </member>
    </enumeration>
    <record name="nodeSourceType" c:type="nodeSourceType">
      <source-position filename="fl_sources/node_source.h" line="225"/>
      <field name="id" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="capabilities" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="api" introspectable="0" writable="1">
        <type c:type="googleReaderApi"/>
      </field>
      <field name="feedSubscriptionType" writable="1">
        <type name="subscriptionTypePtr" c:type="subscriptionTypePtr"/>
      </field>
      <field name="sourceSubscriptionType" writable="1">
        <type name="subscriptionTypePtr" c:type="subscriptionTypePtr"/>
      </field>
      <field name="source_type_init">
        <callback name="source_type_init">
          <source-position filename="fl_sources/node_source.h" line="109"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="source_type_deinit">
        <callback name="source_type_deinit">
          <source-position filename="fl_sources/node_source.h" line="110"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="source_new">
        <callback name="source_new">
          <source-position filename="fl_sources/node_source.h" line="118"/>
          <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="fl_sources/node_source.h" line="126"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_import">
        <callback name="source_import">
          <source-position filename="fl_sources/node_source.h" line="133"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_export">
        <callback name="source_export">
          <source-position filename="fl_sources/node_source.h" line="140"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_get_feedlist">
        <callback name="source_get_feedlist">
          <source-position filename="fl_sources/node_source.h" line="148"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_auto_update">
        <callback name="source_auto_update">
          <source-position filename="fl_sources/node_source.h" line="155"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="free">
        <callback name="free">
          <source-position filename="fl_sources/node_source.h" line="161"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="item_set_flag">
        <callback name="item_set_flag">
          <source-position filename="fl_sources/node_source.h" line="169"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </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="fl_sources/node_source.h" line="177"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </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="fl_sources/node_source.h" line="185"/>
          <return-value>
            <type name="nodePtr" c:type="nodePtr"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </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="fl_sources/node_source.h" line="201"/>
          <return-value>
            <type name="nodePtr" c:type="nodePtr"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </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="fl_sources/node_source.h" line="208"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="convert_to_local">
        <callback name="convert_to_local">
          <source-position filename="fl_sources/node_source.h" line="215"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reparent_node">
        <callback name="reparent_node">
          <source-position filename="fl_sources/node_source.h" line="223"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="node" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
            <parameter name="oldParent" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
            <parameter name="newParent" transfer-ownership="none">
              <type name="nodePtr" c:type="nodePtr"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <function name="register"
                c:identifier="node_source_type_register"
                introspectable="0">
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="402">Registers a new node source type. Needs to be called before feed list import!
To be used only via NodeSourceTypeActivatable</doc>
        <source-position filename="fl_sources/node_source.h" line="409"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="fl_sources/node_source.h"
                 line="404">the type to register</doc>
            <type name="nodeSourceTypePtr" c:type="nodeSourceTypePtr"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="nodeSourceTypePtr" c:type="nodeSourceTypePtr" disguised="1">
      <source-position filename="fl_sources/node_source.h" line="225"/>
    </record>
    <bitfield name="nodeSourceUpdate" c:type="nodeSourceUpdate">
      <source-position filename="fl_sources/node_source.h" line="87"/>
      <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="36"/>
      <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="29"/>
      <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="combined" value="2" c:identifier="NODE_VIEW_MODE_COMBINED">
      </member>
      <member name="default" value="3" c:identifier="NODE_VIEW_MODE_DEFAULT">
      </member>
    </enumeration>
    <function name="node_auto_update_subscription"
              c:identifier="node_auto_update_subscription"
              moved-to="node.auto_update_subscription"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="167">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
      <source-position filename="node.h" line="174"/>
      <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="node.h" line="169">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_can_add_child_feed"
              c:identifier="node_can_add_child_feed"
              moved-to="node.can_add_child_feed"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="414">Query whether a feed be added to the given node.</doc>
      <source-position filename="node.h" line="422"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="420">TRUE if a feed can be added</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="416">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_can_add_child_folder"
              c:identifier="node_can_add_child_folder"
              moved-to="node.can_add_child_folder"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="424">Query whether a folder be added to the given node.</doc>
      <source-position filename="node.h" line="432"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="430">TRUE if a folder can be added</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="426">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_default_render"
              c:identifier="node_default_render"
              moved-to="node.default_render"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="311">Helper function for generic node rendering. Performs
a generic node serialization to XML and passes the
generated XML source document to the XSLT stylesheet
with the same name as the node type id.</doc>
      <source-position filename="node.h" line="322"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="node.h"
             line="320">XHTML string</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="313">the node to render</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function-macro name="node_foreach_child"
                    c:identifier="node_foreach_child"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="456">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="465"/>
      <parameters>
        <parameter name="node">
          <doc xml:space="preserve"
               filename="node.h"
               line="458">node pointer whose children should be processed</doc>
        </parameter>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="node.h"
               line="459">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="467">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="477"/>
      <parameters>
        <parameter name="node">
          <doc xml:space="preserve"
               filename="node.h"
               line="469">node pointer whose children should be processed</doc>
        </parameter>
        <parameter name="func">
          <doc xml:space="preserve"
               filename="node.h"
               line="470">the function to process all found elements</doc>
        </parameter>
        <parameter name="user_data">
          <doc xml:space="preserve"
               filename="node.h"
               line="471">specifies the second argument that func should be passed</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function name="node_foreach_child_full"
              c:identifier="node_foreach_child_full"
              moved-to="node.foreach_child_full">
      <source-position filename="node.h" line="454"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ptr" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="params" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_free"
              c:identifier="node_free"
              moved-to="node.free"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="303">Frees a given node structure.</doc>
      <source-position filename="node.h" line="309"/>
      <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="node.h"
               line="305">the node to free</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_from_id"
              c:identifier="node_from_id"
              moved-to="node.from_id"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="96">Node lookup by node id. Will report an error if the queried
id does not exist.</doc>
      <source-position filename="node.h" line="105"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="103">the node with the given id (or NULL)</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="98">the node id to look up</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_base_url"
              c:identifier="node_get_base_url"
              moved-to="node.get_base_url"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="403">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="412"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="node.h" line="410">base URL</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="405">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_favicon_file"
              c:identifier="node_get_favicon_file"
              moved-to="node.get_favicon_file"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="264">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="273"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="271">a file name</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="266">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_icon"
              c:identifier="node_get_icon"
              moved-to="node.get_icon"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="242">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="252"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="250">a pixmap or NULL</doc>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_id"
              c:identifier="node_get_id"
              moved-to="node.get_id"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="284">Query the unique id string of the node.</doc>
      <source-position filename="node.h" line="292"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="node.h" line="290">id string</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="286">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_itemset"
              c:identifier="node_get_itemset"
              moved-to="node.get_itemset"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="332">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="341"/>
      <return-value>
        <doc xml:space="preserve"
             filename="node.h"
             line="339">the item set</doc>
        <type name="itemSetPtr" c:type="itemSetPtr"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="334">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_large_icon"
              c:identifier="node_get_large_icon"
              moved-to="node.get_large_icon"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="254">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="262"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="260">a pixmap or NULL</doc>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_title"
              c:identifier="node_get_title"
              moved-to="node.get_title"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="197">Query the node's title for the feed list.</doc>
      <source-position filename="node.h" line="205"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve" filename="node.h" line="203">the title</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="199">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_get_view_mode"
              c:identifier="node_get_view_mode"
              moved-to="node.get_view_mode"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="391">Query the effective viewing mode setting of a given mode.
When node viewing mode is set to default it will return the
configured default.</doc>
      <source-position filename="node.h" line="401"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="399">viewing mode (NODE_VIEW_MODE_*)</doc>
        <type name="nodeViewType" c:type="nodeViewType"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="393">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_is_ancestor"
              c:identifier="node_is_ancestor"
              moved-to="node.is_ancestor"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="186">Determines whether node1 is an ancestor of node2</doc>
      <source-position filename="node.h" line="195"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="193">TRUE if node1 is ancestor of node2</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="188">the possible ancestor</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="node2" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="189">the possible child</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_is_used_id"
              c:identifier="node_is_used_id"
              moved-to="node.is_used_id"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="86">Can be used to check whether an id is used or not.</doc>
      <source-position filename="node.h" line="94"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="node.h"
             line="92">the node with the given id (or NULL)</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="88">the node id to check</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_load_icon"
              c:identifier="node_load_icon"
              moved-to="node.load_icon"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="361">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="368"/>
      <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="node.h" line="363">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_mark_all_read"
              c:identifier="node_mark_all_read"
              moved-to="node.mark_all_read"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="225">Recursively marks all items of the given node as read.</doc>
      <source-position filename="node.h" line="231"/>
      <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="node.h"
               line="227">the node to process</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_new"
              c:identifier="node_new"
              moved-to="node.new"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="78">Creates a new node structure.</doc>
      <source-position filename="node.h" line="84"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="node.h"
             line="82">the new node</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="type"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="nodeType*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_new_id"
              c:identifier="node_new_id"
              moved-to="node.new_id">
      <doc xml:space="preserve"
           filename="node.h"
           line="275">Returns a new unused unique node id.</doc>
      <source-position filename="node.h" line="282"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="node.h"
             line="280">new id (to be free'd using g_free)</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="node_remove"
              c:identifier="node_remove"
              moved-to="node.remove"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="131">Removes all data associated with the given node.</doc>
      <source-position filename="node.h" line="137"/>
      <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="node.h" line="133">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_render"
              c:identifier="node_render"
              moved-to="node.render"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="343">Node content rendering</doc>
      <source-position filename="node.h" line="351"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="node.h"
             line="349">string with node rendered in HTML</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="345">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_reparent"
              c:identifier="node_reparent"
              moved-to="node.reparent"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="121">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="129"/>
      <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="node.h" line="123">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="new_parent" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="124">nodes new parent</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_reset_update_counter"
              c:identifier="node_reset_update_counter"
              moved-to="node.reset_update_counter"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="176">Helper function to be used with node_foreach_child()
to mass-auto-update subscriptions.</doc>
      <source-position filename="node.h" line="184"/>
      <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="node.h" line="178">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="now" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="179">the current timestamp</doc>
          <type name="guint64" c:type="guint64*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_save"
              c:identifier="node_save"
              moved-to="node.save"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="324">Saves the given node to cache.</doc>
      <source-position filename="node.h" line="330"/>
      <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="node.h" line="326">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_save_items_to_file"
              c:identifier="node_save_items_to_file"
              moved-to="node.save_items_to_file"
              introspectable="0"
              throws="1">
      <doc xml:space="preserve"
           filename="node.h"
           line="434">Exports all items in this node as a RSS2 feed.</doc>
      <source-position filename="node.h" line="442"/>
      <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="node.h" line="436">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="437">the destination file name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_data"
              c:identifier="node_set_data"
              moved-to="node.set_data"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="139">Attaches a data structure to the given node.</doc>
      <source-position filename="node.h" line="146"/>
      <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="node.h"
               line="141">the node to attach to</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="142">the structure</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_icon"
              c:identifier="node_set_icon"
              moved-to="node.set_icon"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="233">Assigns a new pixmaps as the favicon representing this node.</doc>
      <source-position filename="node.h" line="240"/>
      <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="node.h" line="235">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="icon"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="236">a pixmap or NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_id"
              c:identifier="node_set_id"
              moved-to="node.set_id"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="294">Set the unique id string of the node.</doc>
      <source-position filename="node.h" line="301"/>
      <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="node.h" line="296">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="297">the id string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_parent"
              c:identifier="node_set_parent"
              moved-to="node.set_parent"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="107">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="119"/>
      <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="node.h" line="109">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="parent"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="110">the parent node (optional can be NULL)</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="position" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="111">insert position (optional can be 0)</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_sort_column"
              c:identifier="node_set_sort_column"
              moved-to="node.set_sort_column"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="370">Change/Set the sort column of a given node.</doc>
      <source-position filename="node.h" line="380"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="node.h"
             line="378">TRUE if the passed settings were different from the previous ones</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve" filename="node.h" line="372">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="sortColumn" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="373">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="374">TRUE if order should be reversed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_subscription"
              c:identifier="node_set_subscription"
              moved-to="node.set_subscription"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="148">Attaches the subscription to the given node.</doc>
      <source-position filename="node.h" line="155"/>
      <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="node.h" line="150">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="subscription"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="151">the subscription</doc>
          <type name="gpointer" c:type="subscription*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_title"
              c:identifier="node_set_title"
              moved-to="node.set_title"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="207">Sets the node's title for the feed list.</doc>
      <source-position filename="node.h" line="214"/>
      <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="node.h" line="209">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="210">the title</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_set_view_mode"
              c:identifier="node_set_view_mode"
              moved-to="node.set_view_mode"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="382">Change/Set the viewing mode of a given node.</doc>
      <source-position filename="node.h" line="389"/>
      <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="node.h" line="384">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="newMode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="node.h"
               line="385">viewing mode (NODE_VIEW_MODE_*)</doc>
          <type name="nodeViewType" c:type="nodeViewType"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="node_source_activatable">
      <doc xml:space="preserve"
           filename="fl_sources/node_source_activatable.c"
           line="23">#LifereaNodeSourceActivatable is an interface which should be implemented by
extensions that want to a new node source type (usually online news aggregators)</doc>
    </docsection>
    <function name="node_source_add_folder"
              c:identifier="node_source_add_folder"
              moved-to="nodeSource.add_folder"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="336">Called when a new folder is to be added to a node source feed list.</doc>
      <source-position filename="fl_sources/node_source.h" line="345"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="343">a new node representing the new folder</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="338">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="339">the folder title</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_add_subscription"
              c:identifier="node_source_add_subscription"
              moved-to="nodeSource.add_subscription"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="316">Called when a new subscription has been added to the node source.</doc>
      <source-position filename="fl_sources/node_source.h" line="325"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="323">a new node intialized with the new subscription</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="318">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="subscription"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="319">the new subscription</doc>
          <type name="gpointer" c:type="subscription*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_auto_update"
              c:identifier="node_source_auto_update"
              moved-to="nodeSource.auto_update"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="306">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="fl_sources/node_source.h" line="314"/>
      <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="fl_sources/node_source.h"
               line="308">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_convert_to_local"
              c:identifier="node_source_convert_to_local"
              moved-to="nodeSource.convert_to_local"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="394">Converts all subscriptions to default source subscriptions.</doc>
      <source-position filename="fl_sources/node_source.h" line="400"/>
      <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="fl_sources/node_source.h"
               line="396">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_find_or_create_folder"
              c:identifier="node_source_find_or_create_folder"
              moved-to="nodeSource.find_or_create_folder"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="357">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="fl_sources/node_source.h" line="372"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="370">a valid nodePtr</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="359">Parent folder (or source root node)</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="360">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="fl_sources/node_source.h"
               line="361">Folder display name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_get_node_type"
              c:identifier="node_source_get_node_type"
              moved-to="nodeSource.get_node_type"
              introspectable="0">
      <source-position filename="fl_sources/node_source.h" line="421"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="419">the node source node type implementation.</doc>
        <type c:type="nodeTypePtr"/>
      </return-value>
    </function>
    <function name="node_source_item_mark_read"
              c:identifier="node_source_item_mark_read"
              moved-to="nodeSource.item_mark_read"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="374">Called when the read state of an item changes.</doc>
      <source-position filename="fl_sources/node_source.h" line="382"/>
      <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="fl_sources/node_source.h"
               line="376">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="377">the affected item</doc>
          <type name="itemPtr" c:type="itemPtr"/>
        </parameter>
        <parameter name="newState" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="378">the new item read state</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_item_set_flag"
              c:identifier="node_source_item_set_flag"
              moved-to="nodeSource.item_set_flag">
      <source-position filename="fl_sources/node_source.h" line="392"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="nodePtr" c:type="nodePtr"/>
        </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>
    </function>
    <function name="node_source_new"
              c:identifier="node_source_new"
              moved-to="nodeSource.new"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="263">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="fl_sources/node_source.h" line="275"/>
      <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="fl_sources/node_source.h"
               line="265">a newly created node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="nodeSourceType" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="266">the node source type</doc>
          <type name="nodeSourceTypePtr" c:type="nodeSourceTypePtr"/>
        </parameter>
        <parameter name="url" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="267">subscription URL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_remove_node"
              c:identifier="node_source_remove_node"
              moved-to="nodeSource.remove_node"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="327">Called when an existing subscription is to be removed from a node source.</doc>
      <source-position filename="fl_sources/node_source.h" line="334"/>
      <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="fl_sources/node_source.h"
               line="329">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="child" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="330">the child node to remove</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_root_from_node"
              c:identifier="node_source_root_from_node"
              moved-to="nodeSource.root_from_node"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="243">Get the root node of a feed list source for any given child node.</doc>
      <source-position filename="fl_sources/node_source.h" line="251"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="249">node source root node</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="245">any child node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_set_auth_token"
              c:identifier="node_source_set_auth_token"
              moved-to="nodeSource.set_auth_token"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="286">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="fl_sources/node_source.h" line="295"/>
      <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="fl_sources/node_source.h"
               line="288">a node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="token" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="289">a string</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_set_state"
              c:identifier="node_source_set_state"
              moved-to="nodeSource.set_state"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="277">Change state of the node source by node</doc>
      <source-position filename="fl_sources/node_source.h" line="284"/>
      <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="fl_sources/node_source.h"
               line="279">the node source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="newState" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="280">the new state</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </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="fl_sources/node_source.h"
           line="253">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="fl_sources/node_source.h" line="261"/>
      <return-value>
        <doc xml:space="preserve"
             filename="fl_sources/node_source.h"
             line="259">a newly created root node</doc>
        <type name="nodePtr" c:type="nodePtr"/>
      </return-value>
    </function>
    <function name="node_source_type_register"
              c:identifier="node_source_type_register"
              moved-to="nodeSourceType.register"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="402">Registers a new node source type. Needs to be called before feed list import!
To be used only via NodeSourceTypeActivatable</doc>
      <source-position filename="fl_sources/node_source.h" line="409"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="404">the type to register</doc>
          <type name="nodeSourceTypePtr" c:type="nodeSourceTypePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_update"
              c:identifier="node_source_update"
              moved-to="nodeSource.update"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="297">Force the source to update its subscription list and
the child subscriptions themselves.</doc>
      <source-position filename="fl_sources/node_source.h" line="304"/>
      <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="fl_sources/node_source.h"
               line="299">the source node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_source_update_folder"
              c:identifier="node_source_update_folder"
              moved-to="nodeSource.update_folder"
              introspectable="0">
      <doc xml:space="preserve"
           filename="fl_sources/node_source.h"
           line="347">Called to update a nodes folder. If current folder != given folder
the node will be reparented.</doc>
      <source-position filename="fl_sources/node_source.h" line="355"/>
      <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="fl_sources/node_source.h"
               line="349">any node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="folder" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="fl_sources/node_source.h"
               line="350">the target folder</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_update_counters"
              c:identifier="node_update_counters"
              moved-to="node.update_counters"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="216">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="223"/>
      <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="node.h" line="218">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_update_favicon"
              c:identifier="node_update_favicon"
              moved-to="node.update_favicon"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="353">Called when updating favicons is requested.</doc>
      <source-position filename="node.h" line="359"/>
      <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="node.h" line="355">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_update_subscription"
              c:identifier="node_update_subscription"
              moved-to="node.update_subscription"
              introspectable="0">
      <doc xml:space="preserve"
           filename="node.h"
           line="157">Helper function to be used with node_foreach_child()
to mass-update subscriptions.</doc>
      <source-position filename="node.h" line="165"/>
      <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="node.h" line="159">the node</doc>
          <type name="nodePtr" c:type="nodePtr"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="node.h"
               line="160">update flags</doc>
          <type name="gpointer" c:type="gpointer"/>
        </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="181"/>
      <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="191"/>
      <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="186"/>
      <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="198">Removes the selected item from the selected feed.</doc>
      <source-position filename="ui/item_list_view.h" line="206"/>
      <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="200">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="201">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="202">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="148">Menu callback to select the next read item from the item history</doc>
      <source-position filename="itemlist.h" line="153"/>
      <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="220">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="228"/>
      <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="222">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="223">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="248">Copies the selected items URL to the clipboard.</doc>
      <source-position filename="ui/item_list_view.h" line="253"/>
      <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="255">Bookmarks the selected item to social bookmark service.</doc>
      <source-position filename="ui/item_list_view.h" line="260"/>
      <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="141">Menu callback to select the previously read item from the item history</doc>
      <source-position filename="itemlist.h" line="146"/>
      <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="196"/>
      <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="168">Toggles the flag of the selected item. This is called from a menu.</doc>
      <source-position filename="ui/item_list_view.h" line="176"/>
      <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="170">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="171">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="172">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="157">Toggles the unread status of the selected item. This is called from
a menu.</doc>
      <source-position filename="ui/item_list_view.h" line="166"/>
      <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="159">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="160">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="161">unused</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_view_activate"
              c:identifier="on_view_activate"
              introspectable="0">
      <doc xml:space="preserve"
           filename="itemlist.h"
           line="130">Menu callback that toggles the different viewing modes
This is the 'change_state' callback for the "SetViewMode" action.</doc>
      <source-position filename="itemlist.h" line="139"/>
      <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="itemlist.h"
               line="132">the action that emitted the signal</doc>
          <type name="Gio.SimpleAction" c:type="GSimpleAction*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="itemlist.h"
               line="133">string in a GVariant, representing the requested mode.</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="itemlist.h"
               line="134">unused</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <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">
      <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="79">Add a social bookmark for the link of the given item</doc>
      <source-position filename="social.h" line="85"/>
      <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="81">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="92"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="social.h"
             line="90">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="68">Returns a social bookmarking link for the configured site</doc>
      <source-position filename="social.h" line="77"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="social.h"
             line="75">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="70">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="71">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.</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>
        <parameter name="title" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="61">TRUE if site accepts titles (URL must have two %s format codes!)</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="titleFirst" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="social.h"
               line="62">TRUE if title is first format code (title must be TRUE)</doc>
          <type name="gboolean" c:type="gboolean"/>
        </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>
    <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 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="gpointer" c:type="const updateResult* const"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type c:type="updateFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="subscriptionTypePtr"
            c:type="subscriptionTypePtr"
            disguised="1">
      <source-position filename="subscription_type.h" line="64"/>
    </record>
  </namespace>
</repository>
