<?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="Infinity" version="0.7"/>
  <package name="libinfgtk-0.7"/>
  <namespace name="InfGtk"
             version="0.7"
             shared-library="libinfgtk-0.7.so.0"
             c:identifier-prefixes="InfGtk"
             c:symbol-prefixes="inf_gtk">
    <function-macro name="ACCOUNT_CREATION_DIALOG"
                    c:identifier="INF_GTK_ACCOUNT_CREATION_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-account-creation-dialog.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_CREATION_DIALOG_CLASS"
                    c:identifier="INF_GTK_ACCOUNT_CREATION_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-account-creation-dialog.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_CREATION_DIALOG_GET_CLASS"
                    c:identifier="INF_GTK_ACCOUNT_CREATION_DIALOG_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-account-creation-dialog.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACL_SHEET_VIEW"
                    c:identifier="INF_GTK_ACL_SHEET_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-acl-sheet-view.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACL_SHEET_VIEW_CLASS"
                    c:identifier="INF_GTK_ACL_SHEET_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-acl-sheet-view.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACL_SHEET_VIEW_GET_CLASS"
                    c:identifier="INF_GTK_ACL_SHEET_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-acl-sheet-view.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="AccountCreationDialog"
           c:symbol-prefix="account_creation_dialog"
           c:type="InfGtkAccountCreationDialog"
           parent="Gtk.Dialog"
           glib:type-name="InfGtkAccountCreationDialog"
           glib:get-type="inf_gtk_account_creation_dialog_get_type"
           glib:type-struct="AccountCreationDialogClass">
      <doc xml:space="preserve"
           filename="inf-gtk-account-creation-dialog.h"
           line="61">#InfGtkAccountCreationDialog is an opaque data type. You should only access
it via the public API functions.</doc>
      <source-position filename="inf-gtk-account-creation-dialog.h" line="59"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new"
                   c:identifier="inf_gtk_account_creation_dialog_new">
        <doc xml:space="preserve"
             filename="inf-gtk-account-creation-dialog.c"
             line="728">Creates a new #InfGtkAccountCreationDialog, which can be used to generate
a new account on the infinote directory represented by the given browser.</doc>
        <source-position filename="inf-gtk-account-creation-dialog.h"
                         line="76"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-account-creation-dialog.c"
               line="738">A new #InfGtkAccountCreationDialog. Free with
gtk_widget_destroy() when no longer needed.</doc>
          <type name="AccountCreationDialog"
                c:type="InfGtkAccountCreationDialog*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="730">Parent #GtkWindow of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="dialog_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="731">Flags for the dialog, see #GtkDialogFlags.</doc>
            <type name="Gtk.DialogFlags" c:type="GtkDialogFlags"/>
          </parameter>
          <parameter name="io" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="732">A #InfIo object to schedule asynchronous operations.</doc>
            <type name="Infinity.Io" c:type="InfIo*"/>
          </parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="733">The #InfBrowser for which to create a new account.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="account_created">
        <doc xml:space="preserve"
             filename="inf-gtk-account-creation-dialog.h"
             line="44">Default signal handler for the
#InfGtkAccountCreationDialog::account-created signal.</doc>
        <source-position filename="inf-gtk-account-creation-dialog.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="AccountCreationDialog"
                  c:type="InfGtkAccountCreationDialog*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="InfGnutls.X509PrivKey" c:type="gnutls_x509_privkey_t"/>
          </parameter>
          <parameter name="chain" transfer-ownership="none">
            <type name="Infinity.CertificateChain"
                  c:type="InfCertificateChain*"/>
          </parameter>
          <parameter name="account" transfer-ownership="none">
            <type name="Infinity.AclAccount" c:type="const InfAclAccount*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="set_browser"
              c:identifier="inf_gtk_account_creation_dialog_set_browser"
              glib:set-property="browser">
        <doc xml:space="preserve"
             filename="inf-gtk-account-creation-dialog.c"
             line="770">Changes the browser for which to create a new account.</doc>
        <source-position filename="inf-gtk-account-creation-dialog.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dlg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="772">A #InfGtkAccountCreationDialog.</doc>
            <type name="AccountCreationDialog"
                  c:type="InfGtkAccountCreationDialog*"/>
          </instance-parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="773">The #InfBrowser for which to create a new account, or %NULL.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
        </parameters>
      </method>
      <property name="browser"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_browser">
        <type name="Infinity.Browser"/>
      </property>
      <property name="io"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Infinity.Io"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
      <glib:signal name="account-created" when="last">
        <doc xml:space="preserve"
             filename="inf-gtk-account-creation-dialog.c"
             line="695">This signal is emitted whenever a new account has been created with the
dialog. Along with the created account, the login credentials are
provided. Note that the private key is owned by the dialog, and will be
deleted after the signal was emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="698">A newly generated private key that the user certificate is
signed with.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="certificate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="700">A certificate signed by the server associated to the new
account.</doc>
            <type name="Infinity.CertificateChain"/>
          </parameter>
          <parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-account-creation-dialog.c"
                 line="702">The newly created account.</doc>
            <type name="Infinity.AclAccount"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AccountCreationDialogClass"
            c:type="InfGtkAccountCreationDialogClass"
            glib:is-gtype-struct-for="AccountCreationDialog">
      <doc xml:space="preserve"
           filename="inf-gtk-account-creation-dialog.h"
           line="42">This structure contains the default signal handlers for the
#InfGtkAccountCreationDialog class.</doc>
      <source-position filename="inf-gtk-account-creation-dialog.h" line="59"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="account_created">
        <doc xml:space="preserve"
             filename="inf-gtk-account-creation-dialog.h"
             line="44">Default signal handler for the
#InfGtkAccountCreationDialog::account-created signal.</doc>
        <callback name="account_created">
          <source-position filename="inf-gtk-account-creation-dialog.h"
                           line="55"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="AccountCreationDialog"
                    c:type="InfGtkAccountCreationDialog*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="InfGnutls.X509PrivKey"
                    c:type="gnutls_x509_privkey_t"/>
            </parameter>
            <parameter name="chain" transfer-ownership="none">
              <type name="Infinity.CertificateChain"
                    c:type="InfCertificateChain*"/>
            </parameter>
            <parameter name="account" transfer-ownership="none">
              <type name="Infinity.AclAccount" c:type="const InfAclAccount*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="AclSheetView"
           c:symbol-prefix="acl_sheet_view"
           c:type="InfGtkAclSheetView"
           parent="Gtk.Grid"
           glib:type-name="InfGtkAclSheetView"
           glib:get-type="inf_gtk_acl_sheet_view_get_type"
           glib:type-struct="AclSheetViewClass">
      <doc xml:space="preserve"
           filename="inf-gtk-acl-sheet-view.h"
           line="57">#InfGtkAclSheetView is an opaque data type. You should only access it via the
public API functions.</doc>
      <source-position filename="inf-gtk-acl-sheet-view.h" line="55"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="inf_gtk_acl_sheet_view_new">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="570">Creates a new #InfGtkAclSheetView. To show a sheet in the view, call
inf_gtk_acl_sheet_view_set_sheet().</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-acl-sheet-view.c"
               line="576">A new #InfGtkAclSheetView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="sheet_changed">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.h"
             line="43">Default signal handler for the
#InfGtkAclSheetView::sheet-changed signal.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_editable"
              c:identifier="inf_gtk_acl_sheet_view_get_editable"
              glib:get-property="editable">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="680">Returns whether the sheet being displayed by @view can be edited by the
user or not.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-acl-sheet-view.c"
               line="687">%TRUE when the sheet can be edited or %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="682">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_permission_mask"
              c:identifier="inf_gtk_acl_sheet_view_get_permission_mask"
              glib:get-property="permission-mask">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="829">Returns a #InfAclMask specifies which permissions are currently being
shown by @view.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-acl-sheet-view.c"
               line="836">A #InfAclMask owned by @view. It must not be
freed.</doc>
          <type name="Infinity.AclMask" c:type="const InfAclMask*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="831">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sheet"
              c:identifier="inf_gtk_acl_sheet_view_get_sheet"
              glib:get-property="sheet">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="639">Returns the sheet that is currently being displayed by @view, or %NULL if
there is no sheet displayed.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="79"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="inf-gtk-acl-sheet-view.c"
               line="646">A #InfAclSheet owned by @view, or
%NULL.</doc>
          <type name="Infinity.AclSheet" c:type="const InfAclSheet*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="641">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_default"
              c:identifier="inf_gtk_acl_sheet_view_get_show_default"
              glib:get-property="show-default">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="726">Returns whether the "default" column is shown.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-acl-sheet-view.c"
               line="732">%TRUE if the "default" column is shown or %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="728">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_editable"
              c:identifier="inf_gtk_acl_sheet_view_set_editable"
              glib:set-property="editable">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="656">Sets whether the sheet being displayed by @view can be edited by the user
or not.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="82"/>
        <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="inf-gtk-acl-sheet-view.c"
                 line="658">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="659">Whether to make the sheet editable or not.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_permission_mask"
              c:identifier="inf_gtk_acl_sheet_view_set_permission_mask"
              glib:set-property="permission-mask">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="748">Sets which permissions of the sheet to show. Only the permissions that
are enabled in @mask ar being shown. By default all permissions are shown.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="96"/>
        <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="inf-gtk-acl-sheet-view.c"
                 line="750">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
          <parameter name="mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="751">A #InfAclMask with the permissions to show.</doc>
            <type name="Infinity.AclMask" c:type="const InfAclMask*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sheet"
              c:identifier="inf_gtk_acl_sheet_view_set_sheet"
              glib:set-property="sheet">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="586">Sets the @sheet to be displayed by @view.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="75"/>
        <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="inf-gtk-acl-sheet-view.c"
                 line="588">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
          <parameter name="sheet"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="589">The #InfAclSheet to show, or %NULL.</doc>
            <type name="Infinity.AclSheet" c:type="const InfAclSheet*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_default"
              c:identifier="inf_gtk_acl_sheet_view_set_show_default"
              glib:set-property="show-default">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="696">Specifies whether the "default" column is shown, and whether it is
allowed to change certain permissions to the default value or not. The
ACL sheet for the default account of a directory's root node is not
allowed to have default permissions. In this case this function should be
called to hide the default column from the user interface.</doc>
        <source-position filename="inf-gtk-acl-sheet-view.h" line="89"/>
        <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="inf-gtk-acl-sheet-view.c"
                 line="698">A #InfGtkAclSheetView.</doc>
            <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-acl-sheet-view.c"
                 line="699">Whether to show the default column.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="editable"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_editable"
                getter="get_editable"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="permission-mask"
                writable="1"
                transfer-ownership="none"
                setter="set_permission_mask"
                getter="get_permission_mask">
        <type name="Infinity.AclMask"/>
      </property>
      <property name="sheet"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_sheet"
                getter="get_sheet">
        <type name="Infinity.AclSheet"/>
      </property>
      <property name="show-default"
                writable="1"
                transfer-ownership="none"
                setter="set_show_default"
                getter="get_show_default"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
      <glib:signal name="sheet-changed" when="last">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.c"
             line="499">This signal is emitted when the #InfAclSheet displayed by @view was
changed by the user.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AclSheetViewClass"
            c:type="InfGtkAclSheetViewClass"
            glib:is-gtype-struct-for="AclSheetView">
      <doc xml:space="preserve"
           filename="inf-gtk-acl-sheet-view.h"
           line="41">This structure contains the default signal handlers for the
#InfGtkAclSheetView class.</doc>
      <source-position filename="inf-gtk-acl-sheet-view.h" line="55"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="sheet_changed">
        <doc xml:space="preserve"
             filename="inf-gtk-acl-sheet-view.h"
             line="43">Default signal handler for the
#InfGtkAclSheetView::sheet-changed signal.</doc>
        <callback name="sheet_changed">
          <source-position filename="inf-gtk-acl-sheet-view.h" line="54"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="AclSheetView" c:type="InfGtkAclSheetView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="BROWSER_MODEL"
                    c:identifier="INF_GTK_BROWSER_MODEL"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_FILTER"
                    c:identifier="INF_GTK_BROWSER_MODEL_FILTER"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-filter.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_FILTER_CLASS"
                    c:identifier="INF_GTK_BROWSER_MODEL_FILTER_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-filter.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_FILTER_GET_CLASS"
                    c:identifier="INF_GTK_BROWSER_MODEL_FILTER_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-filter.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_GET_IFACE"
                    c:identifier="INF_GTK_BROWSER_MODEL_GET_IFACE"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model.h" line="35"/>
      <parameters>
        <parameter name="inst">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_SORT"
                    c:identifier="INF_GTK_BROWSER_MODEL_SORT"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-sort.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_SORT_CLASS"
                    c:identifier="INF_GTK_BROWSER_MODEL_SORT_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-sort.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_MODEL_SORT_GET_CLASS"
                    c:identifier="INF_GTK_BROWSER_MODEL_SORT_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-sort.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_STORE"
                    c:identifier="INF_GTK_BROWSER_STORE"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-store.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_STORE_CLASS"
                    c:identifier="INF_GTK_BROWSER_STORE_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-store.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_STORE_GET_CLASS"
                    c:identifier="INF_GTK_BROWSER_STORE_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-store.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_VIEW"
                    c:identifier="INF_GTK_BROWSER_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-view.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_VIEW_CLASS"
                    c:identifier="INF_GTK_BROWSER_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-view.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BROWSER_VIEW_GET_CLASS"
                    c:identifier="INF_GTK_BROWSER_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-view.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="BrowserModel"
               c:symbol-prefix="browser_model"
               c:type="InfGtkBrowserModel"
               glib:type-name="InfGtkBrowserModel"
               glib:get-type="inf_gtk_browser_model_get_type"
               glib:type-struct="BrowserModelInterface">
      <doc xml:space="preserve"
           filename="inf-gtk-browser-model.h"
           line="39">#InfGtkBrowserModel is an opaque data type. You should only access it
via the public API functions.</doc>
      <source-position filename="inf-gtk-browser-model.h" line="147"/>
      <prerequisite name="Gtk.TreeModel"/>
      <virtual-method name="browser_iter_to_tree_iter"
                      invoker="browser_iter_to_tree_iter">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="183">Sets @tree_iter to point to the same node @iter refers to
within the model. If @browser is not known to @model, i.e. its connection
was never added to @model, then the function returns %FALSE and
@tree_iter is left untouched.

If @iter is %NULL, the function sets @tree_iter to point to the top
level entry representing @browser.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="143"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-model.c"
               line="198">Whether @tree_iter was set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="185">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="186">A #InfBrowser.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="187">A #InfBrowserIter pointing into @browser, or %NULL.</doc>
            <type name="Infinity.BrowserIter" c:type="const InfBrowserIter*"/>
          </parameter>
          <parameter name="tree_iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="188">A #GtkTreeIter that will be set by this function.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="resolve" invoker="resolve">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="155">Resolves @info and adds the resulting connection to the model. If that
connection is already contained, the original (newly resolved) entry
is removed in favor of the existing entry whose browser might already
have explored (parts of) the server's directory.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="157">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="discovery" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="158">A #InfDiscovery added to @store.</doc>
            <type name="Infinity.Discovery" c:type="InfDiscovery*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="159">A #InfDiscoveryInfo discovered by @discovery.</doc>
            <type name="Infinity.DiscoveryInfo" c:type="InfDiscoveryInfo*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_browser" invoker="set_browser">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="119">Emits the #InfGtkBrowserModel::set-browser signal. This is supposed to only
be called by implementations of #InfGtkBrowserModel whenever they set or
unset a browser on a row.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="121">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="122">A #GtkTreePath to a top-level row.</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="123">A #GtkTreeIter pointing to the same row.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
          <parameter name="old_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="124">The browser which was set at this row before.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="new_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="125">The new #InfBrowser to set for this row.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="browser_iter_to_tree_iter"
              c:identifier="inf_gtk_browser_model_browser_iter_to_tree_iter">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="183">Sets @tree_iter to point to the same node @iter refers to
within the model. If @browser is not known to @model, i.e. its connection
was never added to @model, then the function returns %FALSE and
@tree_iter is left untouched.

If @iter is %NULL, the function sets @tree_iter to point to the top
level entry representing @browser.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-model.c"
               line="198">Whether @tree_iter was set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="185">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="186">A #InfBrowser.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="187">A #InfBrowserIter pointing into @browser, or %NULL.</doc>
            <type name="Infinity.BrowserIter" c:type="const InfBrowserIter*"/>
          </parameter>
          <parameter name="tree_iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="188">A #GtkTreeIter that will be set by this function.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="resolve" c:identifier="inf_gtk_browser_model_resolve">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="155">Resolves @info and adds the resulting connection to the model. If that
connection is already contained, the original (newly resolved) entry
is removed in favor of the existing entry whose browser might already
have explored (parts of) the server's directory.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="157">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="discovery" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="158">A #InfDiscovery added to @store.</doc>
            <type name="Infinity.Discovery" c:type="InfDiscovery*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="159">A #InfDiscoveryInfo discovered by @discovery.</doc>
            <type name="Infinity.DiscoveryInfo" c:type="InfDiscoveryInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_browser"
              c:identifier="inf_gtk_browser_model_set_browser">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="119">Emits the #InfGtkBrowserModel::set-browser signal. This is supposed to only
be called by implementations of #InfGtkBrowserModel whenever they set or
unset a browser on a row.</doc>
        <source-position filename="inf-gtk-browser-model.h" line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="121">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="122">A #GtkTreePath to a top-level row.</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="123">A #GtkTreeIter pointing to the same row.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
          <parameter name="old_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="124">The browser which was set at this row before.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="new_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="125">The new #InfBrowser to set for this row.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="set-browser" when="last">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.c"
             line="86">This signal is emitted every time the #InfBrowser for one of the
model's top-level entries change. This means either that a completely
new item was inserted, that an item providing only a discovery has
been resolved (see inf_gtk_browser_model_resolve()), or that a
top-level entry has been removed.

During emission of the signal the actual value in the model might
either be the old or the new browser.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="89">A #GtkTreePath pointing to the item with a new browesr.</doc>
            <type name="Gtk.TreePath"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="90">A #GtkTreeIter pointing to the item with a new browser.</doc>
            <type name="Gtk.TreeIter"/>
          </parameter>
          <parameter name="old_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="91">The previous #InfBrowser.</doc>
            <type name="Infinity.Browser"/>
          </parameter>
          <parameter name="new_browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="92">The new #InfBrowser.</doc>
            <type name="Infinity.Browser"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <enumeration name="BrowserModelColumn" c:type="InfGtkBrowserModelColumn">
      <doc xml:space="preserve"
           filename="inf-gtk-browser-model.h"
           line="80">The various #GtkTreeModel columns that a tree model implementing
#InfGtkBrowserModel must support.</doc>
      <source-position filename="inf-gtk-browser-model.h" line="112"/>
      <member name="col_discovery_info"
              value="0"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_DISCOVERY_INFO">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="82">The #InfDiscoveryInfo of a
discovered toplevel item, or %NULL if the item was not discovered.</doc>
      </member>
      <member name="col_discovery"
              value="1"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_DISCOVERY">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="84">The #InfDiscovery object that the
item has been discovered with, if any.</doc>
      </member>
      <member name="col_browser"
              value="2"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_BROWSER">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="86">The #InfBrowser with which this item
is being browsed, or %NULL if no browser is available.</doc>
      </member>
      <member name="col_status"
              value="3"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_STATUS">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="88">The status of this item. This column is
only valid for toplevel items, i.e. for connections to directories.</doc>
      </member>
      <member name="col_name"
              value="4"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_NAME">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="90">The name of the item as a simple string.</doc>
      </member>
      <member name="col_error"
              value="5"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_ERROR">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="91">If an error has occurred with the item,
for example the connection failed, or a node exploration failed, this
column contains a #GError with more error information.</doc>
      </member>
      <member name="col_node"
              value="6"
              c:identifier="INF_GTK_BROWSER_MODEL_COL_NODE">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="94">The #InfBrowserIter pointing to the
corresponding node of the #InfBrowser.</doc>
      </member>
      <member name="num_cols"
              value="7"
              c:identifier="INF_GTK_BROWSER_MODEL_NUM_COLS">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="96">The total number of columns of a
#InfGtkBrowserModel.</doc>
      </member>
    </enumeration>
    <class name="BrowserModelFilter"
           c:symbol-prefix="browser_model_filter"
           c:type="InfGtkBrowserModelFilter"
           parent="Gtk.TreeModelFilter"
           glib:type-name="InfGtkBrowserModelFilter"
           glib:get-type="inf_gtk_browser_model_filter_get_type"
           glib:type-struct="BrowserModelFilterClass">
      <source-position filename="inf-gtk-browser-model-filter.h" line="42"/>
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="BrowserModel"/>
      <constructor name="new" c:identifier="inf_gtk_browser_model_filter_new">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model-filter.c"
             line="271">Creates a new #InfGtkBrowserModelFilter, filtering @child_model.</doc>
        <source-position filename="inf-gtk-browser-model-filter.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-model-filter.c"
               line="277">A new #InfGtkBrowserModelFilter.</doc>
          <type name="BrowserModelFilter" c:type="InfGtkBrowserModelFilter*"/>
        </return-value>
        <parameters>
          <parameter name="child_model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model-filter.c"
                 line="273">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Gtk.TreeModelFilter" c:type="GtkTreeModelFilter"/>
      </field>
    </class>
    <record name="BrowserModelFilterClass"
            c:type="InfGtkBrowserModelFilterClass"
            glib:is-gtype-struct-for="BrowserModelFilter">
      <source-position filename="inf-gtk-browser-model-filter.h" line="42"/>
      <field name="parent_class">
        <type name="Gtk.TreeModelFilterClass"
              c:type="GtkTreeModelFilterClass"/>
      </field>
    </record>
    <record name="BrowserModelInterface"
            c:type="InfGtkBrowserModelInterface"
            glib:is-gtype-struct-for="BrowserModel">
      <doc xml:space="preserve"
           filename="inf-gtk-browser-model.h"
           line="114">This structure contains virtual functions and signal handlers of the
#InfGtkBrowserModel interface.</doc>
      <source-position filename="inf-gtk-browser-model.h" line="147"/>
      <field name="parent" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="set_browser">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="116">Default signal handler of the
#InfGtkBrowserModel::set-browser signal.</doc>
        <callback name="set_browser">
          <source-position filename="inf-gtk-browser-model.h" line="132"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="model" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="121">A #InfGtkBrowserModel.</doc>
              <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="122">A #GtkTreePath to a top-level row.</doc>
              <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="123">A #GtkTreeIter pointing to the same row.</doc>
              <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
            </parameter>
            <parameter name="old_browser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="124">The browser which was set at this row before.</doc>
              <type name="Infinity.Browser" c:type="InfBrowser*"/>
            </parameter>
            <parameter name="new_browser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="125">The new #InfBrowser to set for this row.</doc>
              <type name="Infinity.Browser" c:type="InfBrowser*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="resolve">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="118">Virtual function for resolving a discovered infinote service.</doc>
        <callback name="resolve">
          <source-position filename="inf-gtk-browser-model.h" line="139"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="model" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="157">A #InfGtkBrowserModel.</doc>
              <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
            </parameter>
            <parameter name="discovery" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="158">A #InfDiscovery added to @store.</doc>
              <type name="Infinity.Discovery" c:type="InfDiscovery*"/>
            </parameter>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="159">A #InfDiscoveryInfo discovered by @discovery.</doc>
              <type name="Infinity.DiscoveryInfo" c:type="InfDiscoveryInfo*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="browser_iter_to_tree_iter">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="119">Virtual function for converting a
#InfBrowserIter to a #GtkTreeIter.</doc>
        <callback name="browser_iter_to_tree_iter">
          <source-position filename="inf-gtk-browser-model.h" line="143"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model.c"
                 line="198">Whether @tree_iter was set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="model" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="185">A #InfGtkBrowserModel.</doc>
              <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
            </parameter>
            <parameter name="browser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="186">A #InfBrowser.</doc>
              <type name="Infinity.Browser" c:type="InfBrowser*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="187">A #InfBrowserIter pointing into @browser, or %NULL.</doc>
              <type name="Infinity.BrowserIter"
                    c:type="const InfBrowserIter*"/>
            </parameter>
            <parameter name="tree_iter"
                       direction="out"
                       caller-allocates="1"
                       transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="inf-gtk-browser-model.c"
                   line="188">A #GtkTreeIter that will be set by this function.</doc>
              <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="BrowserModelSort"
           c:symbol-prefix="browser_model_sort"
           c:type="InfGtkBrowserModelSort"
           parent="Gtk.TreeModelSort"
           glib:type-name="InfGtkBrowserModelSort"
           glib:get-type="inf_gtk_browser_model_sort_get_type"
           glib:type-struct="BrowserModelSortClass">
      <source-position filename="inf-gtk-browser-model-sort.h" line="42"/>
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="Gtk.TreeSortable"/>
      <implements name="BrowserModel"/>
      <constructor name="new" c:identifier="inf_gtk_browser_model_sort_new">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model-sort.c"
             line="258">Creates a new #InfGtkBrowserModelSort, sorting @child_model.</doc>
        <source-position filename="inf-gtk-browser-model-sort.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-model-sort.c"
               line="264">A new #InfGtkBrowserModelSort.</doc>
          <type name="BrowserModelSort" c:type="InfGtkBrowserModelSort*"/>
        </return-value>
        <parameters>
          <parameter name="child_model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-model-sort.c"
                 line="260">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Gtk.TreeModelSort" c:type="GtkTreeModelSort"/>
      </field>
    </class>
    <record name="BrowserModelSortClass"
            c:type="InfGtkBrowserModelSortClass"
            glib:is-gtype-struct-for="BrowserModelSort">
      <source-position filename="inf-gtk-browser-model-sort.h" line="42"/>
      <field name="parent_class">
        <type name="Gtk.TreeModelSortClass" c:type="GtkTreeModelSortClass"/>
      </field>
    </record>
    <enumeration name="BrowserModelStatus"
                 glib:type-name="InfGtkBrowserModelStatus"
                 glib:get-type="inf_gtk_browser_model_status_get_type"
                 c:type="InfGtkBrowserModelStatus">
      <doc xml:space="preserve"
           filename="inf-gtk-browser-model.h"
           line="48">The different statuses an item in the #InfGtkBrowserModel can have. The
status of an item is only defined for toplevel items in the tree.</doc>
      <member name="discovered"
              value="1"
              c:identifier="INF_GTK_BROWSER_MODEL_DISCOVERED"
              glib:nick="discovered"
              glib:name="INF_GTK_BROWSER_MODEL_DISCOVERED">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="52">The item was discovered with a
#InfDiscovery, but no attempt has been made at connecting to it.</doc>
      </member>
      <member name="resolving"
              value="2"
              c:identifier="INF_GTK_BROWSER_MODEL_RESOLVING"
              glib:nick="resolving"
              glib:name="INF_GTK_BROWSER_MODEL_RESOLVING">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="54">The item was discovered with a
#InfDiscovery and is currently being resolved, see inf_discovery_resolve().</doc>
      </member>
      <member name="connecting"
              value="4"
              c:identifier="INF_GTK_BROWSER_MODEL_CONNECTING"
              glib:nick="connecting"
              glib:name="INF_GTK_BROWSER_MODEL_CONNECTING">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="59">A connection attempt to the remote site
is currently in progress.</doc>
      </member>
      <member name="connected"
              value="5"
              c:identifier="INF_GTK_BROWSER_MODEL_CONNECTED"
              glib:nick="connected"
              glib:name="INF_GTK_BROWSER_MODEL_CONNECTED">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="61">A connection to the remote site has been
established and its directory can be browsed.</doc>
      </member>
      <member name="error"
              value="6"
              c:identifier="INF_GTK_BROWSER_MODEL_ERROR"
              glib:nick="error"
              glib:name="INF_GTK_BROWSER_MODEL_ERROR">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-model.h"
             line="63">An error has occured with this item. The
column with index %INF_GTK_BROWSER_MODEL_COL_ERROR has more information
about the error that occurred.</doc>
      </member>
    </enumeration>
    <class name="BrowserStore"
           c:symbol-prefix="browser_store"
           c:type="InfGtkBrowserStore"
           parent="GObject.Object"
           glib:type-name="InfGtkBrowserStore"
           glib:get-type="inf_gtk_browser_store_get_type"
           glib:type-struct="BrowserStoreClass">
      <source-position filename="inf-gtk-browser-store.h" line="45"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="BrowserModel"/>
      <constructor name="new" c:identifier="inf_gtk_browser_store_new">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2287">Creates a new #InfGtkBrowserStore.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-store.c"
               line="2295">A new #InfGtkBrowserStore.</doc>
          <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
        </return-value>
        <parameters>
          <parameter name="io" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2289">A #InfIo object for the created #InfcBrowser to schedule timeouts.</doc>
            <type name="Infinity.Io" c:type="InfIo*"/>
          </parameter>
          <parameter name="comm_manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2290">The #InfCommunicationManager with which to explore
remote directories.</doc>
            <type name="Infinity.CommunicationManager"
                  c:type="InfCommunicationManager*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_browser"
              c:identifier="inf_gtk_browser_store_add_browser">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2432">This function adds a browser to the @store. @store will show up
an item for the browser if there is not already one. This allows to
browse the explored part of the browser. The @name parameter must not be
%NULL.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2434">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2435">A #InfBrowser.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2436">Name for the item.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_connection"
              c:identifier="inf_gtk_browser_store_add_connection">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2371">This function adds a connection to the @store. @store will show up
an item for the connection if there is not already one. This allows to
browse the explored parts of the directory of the remote site. If @name
is %NULL, then the #InfXmlConnection:remote-id of the connection will be
used.

The return value is the #InfBrowser for the added connection, or an
existing browser for the connection, if there is any.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-store.c"
               line="2386">An #InfBrowser for the new connection.</doc>
          <type name="Infinity.Browser" c:type="InfBrowser*"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2373">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2374">A #InfXmlConnection.</doc>
            <type name="Infinity.XmlConnection" c:type="InfXmlConnection*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2375">Name for the item, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_discovery"
              c:identifier="inf_gtk_browser_store_add_discovery">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2313">Adds @discovery to @model. The model will then show up discovered
servers.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2315">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="discovery" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2316">A #InfDiscovery not yet added to @model.</doc>
            <type name="Infinity.Discovery" c:type="InfDiscovery*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_connection_error"
              c:identifier="inf_gtk_browser_store_clear_connection_error">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2514">This function clears the error for the entry which belongs to the given
connection.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2516">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2517">A #InfXmlConnection contained in @store.</doc>
            <type name="Infinity.XmlConnection" c:type="InfXmlConnection*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_browser"
              c:identifier="inf_gtk_browser_store_remove_browser">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2470">This function removes the entry for the given browser from @store.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2472">A #InfGtkBrowserStore</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="browser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2473">A #InfBrowser contained in @store.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_connection"
              c:identifier="inf_gtk_browser_store_remove_connection">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2492">This function removes the entry for the given connection from @store.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2494">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2495">A #InfXmlConnection contained in @store.</doc>
            <type name="Infinity.XmlConnection" c:type="InfXmlConnection*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_connection_name"
              c:identifier="inf_gtk_browser_store_set_connection_name">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-store.c"
             line="2583">This function sets the name of @connection.</doc>
        <source-position filename="inf-gtk-browser-store.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2585">A #InfGtkBrowserStore.</doc>
            <type name="BrowserStore" c:type="InfGtkBrowserStore*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2586">A #InfXmlConnection contained in @store.</doc>
            <type name="Infinity.XmlConnection" c:type="InfXmlConnection*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-store.c"
                 line="2587">The new name to set for the connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="communication-manager"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Infinity.CommunicationManager"/>
      </property>
      <property name="io"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Infinity.Io"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="BrowserStoreClass"
            c:type="InfGtkBrowserStoreClass"
            glib:is-gtype-struct-for="BrowserStore">
      <source-position filename="inf-gtk-browser-store.h" line="45"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="BrowserView"
           c:symbol-prefix="browser_view"
           c:type="InfGtkBrowserView"
           parent="Gtk.TreeView"
           glib:type-name="InfGtkBrowserView"
           glib:get-type="inf_gtk_browser_view_get_type"
           glib:type-struct="BrowserViewClass">
      <source-position filename="inf-gtk-browser-view.h" line="60"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="inf_gtk_browser_view_new">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-view.c"
             line="2617">Creates a new #InfGtkBrowserView.</doc>
        <source-position filename="inf-gtk-browser-view.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-view.c"
               line="2622">A new #InfGtkBrowserView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_model"
                   c:identifier="inf_gtk_browser_view_new_with_model">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-view.c"
             line="2632">Creates a new #InfGtkBrowserView showing @model.</doc>
        <source-position filename="inf-gtk-browser-view.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-view.c"
               line="2638">A new #InfGtkBrowserView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-view.c"
                 line="2634">A #InfGtkBrowserModel.</doc>
            <type name="BrowserModel" c:type="InfGtkBrowserModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activate">
        <source-position filename="inf-gtk-browser-view.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="BrowserView" c:type="InfGtkBrowserView*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="populate_popup">
        <source-position filename="inf-gtk-browser-view.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="BrowserView" c:type="InfGtkBrowserView*"/>
          </instance-parameter>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gtk.Menu" c:type="GtkMenu*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="selection_changed">
        <source-position filename="inf-gtk-browser-view.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="BrowserView" c:type="InfGtkBrowserView*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_selected"
              c:identifier="inf_gtk_browser_view_get_selected">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-view.c"
             line="2648">Sets @iter to point to the currently selected row in the browser view. If
no row is selected, @iter is left untouched and %FALSE is returned.</doc>
        <source-position filename="inf-gtk-browser-view.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-browser-view.c"
               line="2656">Whether @iter was set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-view.c"
                 line="2650">A #InfGtkBrowserView.</doc>
            <type name="BrowserView" c:type="InfGtkBrowserView*"/>
          </instance-parameter>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-view.c"
                 line="2651">An uninitialized #GtkTreeIter.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected"
              c:identifier="inf_gtk_browser_view_set_selected">
        <doc xml:space="preserve"
             filename="inf-gtk-browser-view.c"
             line="2670">Sets the currently selected row to be @iter. If necessary, rows will be
expanded so that @iter is visible.</doc>
        <source-position filename="inf-gtk-browser-view.h" line="80"/>
        <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="inf-gtk-browser-view.c"
                 line="2672">A #InfGtkBrowserView.</doc>
            <type name="BrowserView" c:type="InfGtkBrowserView*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-browser-view.c"
                 line="2673">A #GtkTreeIter pointing to a row in @view.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <glib:signal name="activate" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.TreeIter"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="populate-popup" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Menu"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selection-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.TreeIter"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BrowserViewClass"
            c:type="InfGtkBrowserViewClass"
            glib:is-gtype-struct-for="BrowserView">
      <source-position filename="inf-gtk-browser-view.h" line="60"/>
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="inf-gtk-browser-view.h" line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="BrowserView" c:type="InfGtkBrowserView*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <source-position filename="inf-gtk-browser-view.h" line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="BrowserView" c:type="InfGtkBrowserView*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="populate_popup">
        <callback name="populate_popup">
          <source-position filename="inf-gtk-browser-view.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="BrowserView" c:type="InfGtkBrowserView*"/>
            </parameter>
            <parameter name="menu" transfer-ownership="none">
              <type name="Gtk.Menu" c:type="GtkMenu*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="CERTIFICATE_DIALOG"
                    c:identifier="INF_GTK_CERTIFICATE_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-dialog.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_DIALOG_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-dialog.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_DIALOG_GET_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_DIALOG_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-dialog.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_MANAGER"
                    c:identifier="INF_GTK_CERTIFICATE_MANAGER"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-manager.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_MANAGER_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-manager.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_MANAGER_GET_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_MANAGER_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-manager.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_VIEW"
                    c:identifier="INF_GTK_CERTIFICATE_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-view.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_VIEW_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-view.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CERTIFICATE_VIEW_GET_CLASS"
                    c:identifier="INF_GTK_CERTIFICATE_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-view.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CHAT" c:identifier="INF_GTK_CHAT" introspectable="0">
      <source-position filename="inf-gtk-chat.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CHAT_CLASS"
                    c:identifier="INF_GTK_CHAT_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-chat.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CHAT_GET_CLASS"
                    c:identifier="INF_GTK_CHAT_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-chat.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION_VIEW"
                    c:identifier="INF_GTK_CONNECTION_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-connection-view.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION_VIEW_CLASS"
                    c:identifier="INF_GTK_CONNECTION_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-connection-view.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION_VIEW_GET_CLASS"
                    c:identifier="INF_GTK_CONNECTION_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-connection-view.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="CertificateDialog"
           c:symbol-prefix="certificate_dialog"
           c:type="InfGtkCertificateDialog"
           parent="Gtk.Dialog"
           glib:type-name="InfGtkCertificateDialog"
           glib:get-type="inf_gtk_certificate_dialog_get_type"
           glib:type-struct="CertificateDialogClass">
      <doc xml:space="preserve"
           filename="inf-gtk-certificate-dialog.h"
           line="52">#InfGtkCertificateDialog is an opaque data type. You should only access
it via the public API functions.</doc>
      <source-position filename="inf-gtk-certificate-dialog.h" line="50"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="inf_gtk_certificate_dialog_new">
        <doc xml:space="preserve"
             filename="inf-gtk-certificate-dialog.c"
             line="587">Creates a new #InfGtkCertificateDialog. A #InfGtkCertificateDialog shows
a warning about a server's certificate to a user, for example when the
issuer is not trusted or the hostname does not match what the certificate
was issued to.</doc>
        <source-position filename="inf-gtk-certificate-dialog.h" line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-certificate-dialog.c"
               line="604">A new #InfGtkCertificateDialog.</doc>
          <type name="CertificateDialog" c:type="InfGtkCertificateDialog*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="589">Parent #GtkWindow of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="dialog_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="590">Flags for the dialog, see #GtkDialogFlags.</doc>
            <type name="Gtk.DialogFlags" c:type="GtkDialogFlags"/>
          </parameter>
          <parameter name="verify_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="591">What certificate warnings to show, see
#InfCertificateVerifyFlags.</doc>
            <type name="Infinity.CertificateVerifyFlags"
                  c:type="InfCertificateVerifyFlags"/>
          </parameter>
          <parameter name="hostname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="593">The host name of the server that provides the certificate.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="certificate_chain" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="594">The certificate chain provided by
the server.</doc>
            <type name="Infinity.CertificateChain"
                  c:type="InfCertificateChain*"/>
          </parameter>
          <parameter name="pinned_certificate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-dialog.c"
                 line="596">The certificate that we had pinned
for this host, or %NULL.</doc>
            <type name="InfGnutls.X509Crt" c:type="gnutls_x509_crt_t"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="certificate-chain"
                writable="1"
                transfer-ownership="none">
        <type name="Infinity.CertificateChain"/>
      </property>
      <property name="hostname"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="pinned-certificate"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="verify-flags"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <type name="Infinity.CertificateVerifyFlags"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="CertificateDialogClass"
            c:type="InfGtkCertificateDialogClass"
            glib:is-gtype-struct-for="CertificateDialog">
      <doc xml:space="preserve"
           filename="inf-gtk-certificate-dialog.h"
           line="42">This structure does not contain any public fields.</doc>
      <source-position filename="inf-gtk-certificate-dialog.h" line="50"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <class name="CertificateManager"
           c:symbol-prefix="certificate_manager"
           c:type="InfGtkCertificateManager"
           parent="Infinity.CertificateVerify"
           glib:type-name="InfGtkCertificateManager"
           glib:get-type="inf_gtk_certificate_manager_get_type"
           glib:type-struct="CertificateManagerClass">
      <source-position filename="inf-gtk-certificate-manager.h" line="43"/>
      <constructor name="new" c:identifier="inf_gtk_certificate_manager_new">
        <doc xml:space="preserve"
             filename="inf-gtk-certificate-manager.c"
             line="343">Creates a new #InfGtkCertificateManager. See #InfCertificateVerify for
details about the certificate verification process.</doc>
        <source-position filename="inf-gtk-certificate-manager.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-certificate-manager.c"
               line="355">A new #InfGtkCertificateManager.</doc>
          <type name="CertificateManager" c:type="InfGtkCertificateManager*"/>
        </return-value>
        <parameters>
          <parameter name="parent_window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-manager.c"
                 line="345">The #GtkWindow to which to make certificate verification
dialogs transient to.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="xmpp_manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-manager.c"
                 line="347">The #InfXmppManager whose #InfXmppConnection&lt;!-- --&gt;s to
manage the certificates for.</doc>
            <type name="Infinity.XmppManager" c:type="InfXmppManager*"/>
          </parameter>
          <parameter name="known_hosts_file"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-manager.c"
                 line="349">Path pointing to a file
that contains pinned certificates, or %NULL.</doc>
            <type name="filename" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="parent-window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Window"/>
      </property>
      <field name="parent">
        <type name="Infinity.CertificateVerify" c:type="InfCertificateVerify"/>
      </field>
    </class>
    <record name="CertificateManagerClass"
            c:type="InfGtkCertificateManagerClass"
            glib:is-gtype-struct-for="CertificateManager">
      <source-position filename="inf-gtk-certificate-manager.h" line="43"/>
      <field name="parent_class">
        <type name="Infinity.CertificateVerifyClass"
              c:type="InfCertificateVerifyClass"/>
      </field>
    </record>
    <class name="CertificateView"
           c:symbol-prefix="certificate_view"
           c:type="InfGtkCertificateView"
           parent="Gtk.Grid"
           glib:type-name="InfGtkCertificateView"
           glib:get-type="inf_gtk_certificate_view_get_type"
           glib:type-struct="CertificateViewClass">
      <source-position filename="inf-gtk-certificate-view.h" line="46"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="inf_gtk_certificate_view_new">
        <doc xml:space="preserve"
             filename="inf-gtk-certificate-view.c"
             line="274">Creates a new #InfGtkCertificateView. To show a certificate, use
inf_gtk_certificate_view_set_certificate() on the returned widget.</doc>
        <source-position filename="inf-gtk-certificate-view.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-certificate-view.c"
               line="280">A new #InfGtkCertificateView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_certificate"
                   c:identifier="inf_gtk_certificate_view_new_with_certificate">
        <doc xml:space="preserve"
             filename="inf-gtk-certificate-view.c"
             line="290">Creates a new #InfGtkCertificateView showing the given certificate. This
is the same as creating a new certificate view and calling
inf_gtk_certificate_view_set_certificate() afterwards.

@cert must not be freed as long as the certificate view is showing it. You
can make the view not showing it anymore by calling
inf_gtk_certificate_view_set_certificate() with %NULL as certificate.</doc>
        <source-position filename="inf-gtk-certificate-view.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-certificate-view.c"
               line="302">A new #InfGtkCertificateView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="cert" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-view.c"
                 line="292">The certificate to show.</doc>
            <type name="InfGnutls.X509Crt" c:type="gnutls_x509_crt_t"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_certificate"
              c:identifier="inf_gtk_certificate_view_set_certificate"
              glib:set-property="certificate">
        <doc xml:space="preserve"
             filename="inf-gtk-certificate-view.c"
             line="318">Shows the given certificate in @view.

@cert must not be freed as long as the certificate view is showing it. You
can make the view not showing it anymore by calling
inf_gtk_certificate_view_set_certificate() with %NULL as certificate.</doc>
        <source-position filename="inf-gtk-certificate-view.h" line="62"/>
        <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="inf-gtk-certificate-view.c"
                 line="320">A #InfGtkCertificateView.</doc>
            <type name="CertificateView" c:type="InfGtkCertificateView*"/>
          </instance-parameter>
          <parameter name="cert" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-certificate-view.c"
                 line="321">The certificate to show.</doc>
            <type name="InfGnutls.X509Crt" c:type="gnutls_x509_crt_t"/>
          </parameter>
        </parameters>
      </method>
      <property name="certificate"
                writable="1"
                transfer-ownership="none"
                setter="set_certificate">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <field name="parent">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
    </class>
    <record name="CertificateViewClass"
            c:type="InfGtkCertificateViewClass"
            glib:is-gtype-struct-for="CertificateView">
      <source-position filename="inf-gtk-certificate-view.h" line="46"/>
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
    </record>
    <class name="Chat"
           c:symbol-prefix="chat"
           c:type="InfGtkChat"
           parent="Gtk.Grid"
           glib:type-name="InfGtkChat"
           glib:get-type="inf_gtk_chat_get_type"
           glib:type-struct="ChatClass">
      <doc xml:space="preserve"
           filename="inf-gtk-chat.h"
           line="52">#InfGtkChat is an opaque data type. You should only access it via the
public API functions.</doc>
      <source-position filename="inf-gtk-chat.h" line="50"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="inf_gtk_chat_new">
        <doc xml:space="preserve"
             filename="inf-gtk-chat.c"
             line="976">Creates a new #InfGtkChat. To show a chat conversation set a session to
show via inf_gtk_chat_set_session().</doc>
        <source-position filename="inf-gtk-chat.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-chat.c"
               line="982">A new #InfGtkChat.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_active_user"
              c:identifier="inf_gtk_chat_get_active_user"
              glib:get-property="active-user">
        <doc xml:space="preserve"
             filename="inf-gtk-chat.c"
             line="1193">Returns the active user for @chat as set with
inf_gtk_chat_set_active_user().</doc>
        <source-position filename="inf-gtk-chat.h" line="78"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="inf-gtk-chat.c"
               line="1200">The chat's active user, or
%NULL if there is none.</doc>
          <type name="Infinity.User" c:type="InfUser*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="1195">A #InfGtkChat.</doc>
            <type name="Chat" c:type="InfGtkChat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_entry" c:identifier="inf_gtk_chat_get_entry">
        <doc xml:space="preserve"
             filename="inf-gtk-chat.c"
             line="1218">Returns the chat's text input entry.</doc>
        <source-position filename="inf-gtk-chat.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-chat.c"
               line="1224">The chat's #GtkEntry. This is owned by the chat,
so you don't need to free it.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="1220">A #InfGtkChat.</doc>
            <type name="Chat" c:type="InfGtkChat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active_user"
              c:identifier="inf_gtk_chat_set_active_user"
              glib:set-property="active-user">
        <doc xml:space="preserve"
             filename="inf-gtk-chat.c"
             line="1077">Sets the active user for the chat. This must be a user in the chat's
session's user table and it must have the %INF_USER_LOCAL flag set, i.e.
you need to have it joined before using inf_session_proxy_join_user().

If an active user is set the chat's text entry is made sensitive and the
user can type chat messages. They are sent to the session as originated by
@user. If @user's status changes to %INF_USER_UNAVAILABLE or the
%INF_USER_LOCAL flag is removed the active user will be unset
automatically.

This cannot be called when the chat has no session set yet.
Use inf_gtk_chat_set_session() first.</doc>
        <source-position filename="inf-gtk-chat.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="1079">A #InfGtkChat.</doc>
            <type name="Chat" c:type="InfGtkChat*"/>
          </instance-parameter>
          <parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="1080">A local #InfUser which joined chat's session.</doc>
            <type name="Infinity.User" c:type="InfUser*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_session"
              c:identifier="inf_gtk_chat_set_session"
              glib:set-property="session">
        <doc xml:space="preserve"
             filename="inf-gtk-chat.c"
             line="992">Sets the chat session to show in the chat widget. If there is a previous
session set the chat view will be cleared before showing the new session.
If the previous session had an active user set it will be unset. If
@session is %NULL this function just clears the chat view and unsets the
active user, if any.</doc>
        <source-position filename="inf-gtk-chat.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="994">A #InfGtkChat.</doc>
            <type name="Chat" c:type="InfGtkChat*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-chat.c"
                 line="995">The #InfChatSession to set.</doc>
            <type name="Infinity.ChatSession" c:type="InfChatSession*"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-user"
                writable="1"
                transfer-ownership="none"
                setter="set_active_user"
                getter="get_active_user">
        <type name="Infinity.User"/>
      </property>
      <property name="session"
                writable="1"
                transfer-ownership="none"
                setter="set_session">
        <type name="Infinity.ChatSession"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
    </class>
    <record name="ChatClass"
            c:type="InfGtkChatClass"
            glib:is-gtype-struct-for="Chat">
      <doc xml:space="preserve"
           filename="inf-gtk-chat.h"
           line="42">This structure does not contain any public fields.</doc>
      <source-position filename="inf-gtk-chat.h" line="50"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
    </record>
    <class name="ConnectionView"
           c:symbol-prefix="connection_view"
           c:type="InfGtkConnectionView"
           parent="Gtk.Grid"
           glib:type-name="InfGtkConnectionView"
           glib:get-type="inf_gtk_connection_view_get_type"
           glib:type-struct="ConnectionViewClass">
      <doc xml:space="preserve"
           filename="inf-gtk-connection-view.h"
           line="51">#InfGtkConnectionView is an opaque data type. You should only access
it via the public API functions.</doc>
      <source-position filename="inf-gtk-connection-view.h" line="49"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="inf_gtk_connection_view_new">
        <doc xml:space="preserve"
             filename="inf-gtk-connection-view.c"
             line="590">Creates a new #InfGtkConnectionView. To show a connection, use
inf_gtk_connection_view_set_connection() on the returned widget.</doc>
        <source-position filename="inf-gtk-connection-view.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-connection-view.c"
               line="596">A new #InfGtkConnectionView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_connection"
                   c:identifier="inf_gtk_connection_view_new_with_connection">
        <doc xml:space="preserve"
             filename="inf-gtk-connection-view.c"
             line="606">Creates a new #InfGtkConnectionView showing the given connection. This
is the same as creating a new connection view and calling
inf_gtk_connection_view_set_connection() afterwards.</doc>
        <source-position filename="inf-gtk-connection-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="inf-gtk-connection-view.c"
               line="614">A new #InfGtkConnectionView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-connection-view.c"
                 line="608">The connection to show.</doc>
            <type name="Infinity.XmppConnection" c:type="InfXmppConnection*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_connection"
              c:identifier="inf_gtk_connection_view_set_connection"
              glib:set-property="connection">
        <doc xml:space="preserve"
             filename="inf-gtk-connection-view.c"
             line="635">Shows the given connection in @view.</doc>
        <source-position filename="inf-gtk-connection-view.h" line="72"/>
        <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="inf-gtk-connection-view.c"
                 line="637">A #InfGtkConnectionView.</doc>
            <type name="ConnectionView" c:type="InfGtkConnectionView*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-connection-view.c"
                 line="638">The connection to show.</doc>
            <type name="Infinity.XmppConnection" c:type="InfXmppConnection*"/>
          </parameter>
        </parameters>
      </method>
      <property name="connection"
                writable="1"
                transfer-ownership="none"
                setter="set_connection">
        <type name="Infinity.XmppConnection"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
    </class>
    <record name="ConnectionViewClass"
            c:type="InfGtkConnectionViewClass"
            glib:is-gtype-struct-for="ConnectionView">
      <doc xml:space="preserve"
           filename="inf-gtk-connection-view.h"
           line="41">This structure does not contain any public fields.</doc>
      <source-position filename="inf-gtk-connection-view.h" line="49"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
    </record>
    <function-macro name="IO" c:identifier="INF_GTK_IO" introspectable="0">
      <source-position filename="inf-gtk-io.h" line="28"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IO_CLASS"
                    c:identifier="INF_GTK_IO_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-io.h" line="29"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IO_GET_CLASS"
                    c:identifier="INF_GTK_IO_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-io.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACCOUNT_CREATION_DIALOG"
                    c:identifier="INF_GTK_IS_ACCOUNT_CREATION_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-account-creation-dialog.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACCOUNT_CREATION_DIALOG_CLASS"
                    c:identifier="INF_GTK_IS_ACCOUNT_CREATION_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-account-creation-dialog.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACL_SHEET_VIEW"
                    c:identifier="INF_GTK_IS_ACL_SHEET_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-acl-sheet-view.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACL_SHEET_VIEW_CLASS"
                    c:identifier="INF_GTK_IS_ACL_SHEET_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-acl-sheet-view.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_MODEL"
                    c:identifier="INF_GTK_IS_BROWSER_MODEL"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_MODEL_FILTER"
                    c:identifier="INF_GTK_IS_BROWSER_MODEL_FILTER"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-filter.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_MODEL_FILTER_CLASS"
                    c:identifier="INF_GTK_IS_BROWSER_MODEL_FILTER_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-filter.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_MODEL_SORT"
                    c:identifier="INF_GTK_IS_BROWSER_MODEL_SORT"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-sort.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_MODEL_SORT_CLASS"
                    c:identifier="INF_GTK_IS_BROWSER_MODEL_SORT_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-model-sort.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_STORE"
                    c:identifier="INF_GTK_IS_BROWSER_STORE"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-store.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_STORE_CLASS"
                    c:identifier="INF_GTK_IS_BROWSER_STORE_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-store.h" line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_VIEW"
                    c:identifier="INF_GTK_IS_BROWSER_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-view.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BROWSER_VIEW_CLASS"
                    c:identifier="INF_GTK_IS_BROWSER_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-browser-view.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_DIALOG"
                    c:identifier="INF_GTK_IS_CERTIFICATE_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-dialog.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_DIALOG_CLASS"
                    c:identifier="INF_GTK_IS_CERTIFICATE_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-dialog.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_MANAGER"
                    c:identifier="INF_GTK_IS_CERTIFICATE_MANAGER"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-manager.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_MANAGER_CLASS"
                    c:identifier="INF_GTK_IS_CERTIFICATE_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-manager.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_VIEW"
                    c:identifier="INF_GTK_IS_CERTIFICATE_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-view.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CERTIFICATE_VIEW_CLASS"
                    c:identifier="INF_GTK_IS_CERTIFICATE_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-certificate-view.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CHAT"
                    c:identifier="INF_GTK_IS_CHAT"
                    introspectable="0">
      <source-position filename="inf-gtk-chat.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CHAT_CLASS"
                    c:identifier="INF_GTK_IS_CHAT_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-chat.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONNECTION_VIEW"
                    c:identifier="INF_GTK_IS_CONNECTION_VIEW"
                    introspectable="0">
      <source-position filename="inf-gtk-connection-view.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONNECTION_VIEW_CLASS"
                    c:identifier="INF_GTK_IS_CONNECTION_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-connection-view.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IO"
                    c:identifier="INF_GTK_IS_IO"
                    introspectable="0">
      <source-position filename="inf-gtk-io.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IO_CLASS"
                    c:identifier="INF_GTK_IS_IO_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-io.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PERMISSIONS_DIALOG"
                    c:identifier="INF_GTK_IS_PERMISSIONS_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-permissions-dialog.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PERMISSIONS_DIALOG_CLASS"
                    c:identifier="INF_GTK_IS_PERMISSIONS_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-permissions-dialog.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Io"
           c:symbol-prefix="io"
           c:type="InfGtkIo"
           parent="GObject.Object"
           glib:type-name="InfGtkIo"
           glib:get-type="inf_gtk_io_get_type"
           glib:type-struct="IoClass">
      <source-position filename="inf-gtk-io.h" line="39"/>
      <implements name="Infinity.Io"/>
      <constructor name="new" c:identifier="inf_gtk_io_new">
        <doc xml:space="preserve"
             filename="inf-gtk-io.c"
             line="695">Creates a new #InfGtkIo.</doc>
        <source-position filename="inf-gtk-io.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-io.c"
               line="700">A new #InfGtkIo. Free with g_object_unref()
when no longer needed.</doc>
          <type name="Io" c:type="InfGtkIo*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="IoClass"
            c:type="InfGtkIoClass"
            glib:is-gtype-struct-for="Io">
      <source-position filename="inf-gtk-io.h" line="39"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="PERMISSIONS_DIALOG"
                    c:identifier="INF_GTK_PERMISSIONS_DIALOG"
                    introspectable="0">
      <source-position filename="inf-gtk-permissions-dialog.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PERMISSIONS_DIALOG_CLASS"
                    c:identifier="INF_GTK_PERMISSIONS_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-permissions-dialog.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PERMISSIONS_DIALOG_GET_CLASS"
                    c:identifier="INF_GTK_PERMISSIONS_DIALOG_GET_CLASS"
                    introspectable="0">
      <source-position filename="inf-gtk-permissions-dialog.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="PermissionsDialog"
           c:symbol-prefix="permissions_dialog"
           c:type="InfGtkPermissionsDialog"
           parent="Gtk.Dialog"
           glib:type-name="InfGtkPermissionsDialog"
           glib:get-type="inf_gtk_permissions_dialog_get_type"
           glib:type-struct="PermissionsDialogClass">
      <doc xml:space="preserve"
           filename="inf-gtk-permissions-dialog.h"
           line="51">#InfGtkPermissionsDialog is an opaque data type. You should only access
it via the public API functions.</doc>
      <source-position filename="inf-gtk-permissions-dialog.h" line="49"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="inf_gtk_permissions_dialog_new">
        <doc xml:space="preserve"
             filename="inf-gtk-permissions-dialog.c"
             line="2955">Creates a new #InfGtkPermissionsDialog, showing the ACL for the node
@iter points to inside @browser. If @browser is %NULL, @iter must be %NULL,
too. In that case no permissions are shown, and the node to be shown can
be set later with inf_gtk_permissions_dialog_set_node().</doc>
        <source-position filename="inf-gtk-permissions-dialog.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="inf-gtk-permissions-dialog.c"
               line="2969">A new #InfGtkPermissionsDialog. Free with
gtk_widget_destroy() when no longer needed.</doc>
          <type name="PermissionsDialog" c:type="InfGtkPermissionsDialog*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="2957">Parent #GtkWindow of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="dialog_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="2958">Flags for the dialog, see #GtkDialogFlags.</doc>
            <type name="Gtk.DialogFlags" c:type="GtkDialogFlags"/>
          </parameter>
          <parameter name="browser"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="2959">The #InfBrowser containing the node to show
permissions for, or %NULL.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="iter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="2961">An iterator pointing to the node to show permissions
for, or %NULL.</doc>
            <type name="Infinity.BrowserIter" c:type="const InfBrowserIter*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_node"
              c:identifier="inf_gtk_permissions_dialog_set_node">
        <doc xml:space="preserve"
             filename="inf-gtk-permissions-dialog.c"
             line="3001">Changes the node the dialog shows permissions for. To unset the node, both
@browser and @iter should be %NULL.</doc>
        <source-position filename="inf-gtk-permissions-dialog.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="3003">A #InfGtkPermissionsDialog.</doc>
            <type name="PermissionsDialog" c:type="InfGtkPermissionsDialog*"/>
          </instance-parameter>
          <parameter name="browser"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="3004">The #InfBrowser containing the node to show
permissions for, or %NULL.</doc>
            <type name="Infinity.Browser" c:type="InfBrowser*"/>
          </parameter>
          <parameter name="iter"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="inf-gtk-permissions-dialog.c"
                 line="3006">An iterator pointing to the node to show permissions
for, or %NULL.</doc>
            <type name="Infinity.BrowserIter" c:type="const InfBrowserIter*"/>
          </parameter>
        </parameters>
      </method>
      <property name="browser"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Infinity.Browser"/>
      </property>
      <property name="browser-iter"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Infinity.BrowserIter"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="PermissionsDialogClass"
            c:type="InfGtkPermissionsDialogClass"
            glib:is-gtype-struct-for="PermissionsDialog">
      <doc xml:space="preserve"
           filename="inf-gtk-permissions-dialog.h"
           line="41">This structure does not contain any public fields.</doc>
      <source-position filename="inf-gtk-permissions-dialog.h" line="49"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <docsection name="inf-gtk-account-creation-dialog">
      <doc xml:space="preserve"
           filename="inf-gtk-account-creation-dialog.c"
           line="20">#InfGtkAccountCreationDialog is a dialog widget which allows to request
creation of a new account on an infinote server. If the
"can-create-acl-account" permission is not granted, the dialog shows an
error message instead.</doc>
    </docsection>
    <docsection name="inf-gtk-acl-sheet-view">
      <doc xml:space="preserve"
           filename="inf-gtk-acl-sheet-view.c"
           line="22">#InfGtkAclSheetView is a widget that can show a #InfAclSheet in the user
interface. Optionally, it also allows the user to edit the sheet.</doc>
    </docsection>
    <docsection name="inf-gtk-browser-model">
      <doc xml:space="preserve"
           filename="inf-gtk-browser-model.c"
           line="20">#InfGtkBrowserModel provides an interface for tree models that are used to
show the contents of infinote directories. All implementations of
#InfGtkBrowserModel also need to implement #GtkTreeModel and can then by
displayed in a #GtkTreeView.

#InfGtkBrowserStore is a reference implementation of this interface,
allowing to add discoveries and browsers to it which it then manages.
Other implementations include #InfGtkBrowserModelSort and
#InfGtkBrowserModelFilter which can be used to sort or filter the list.</doc>
    </docsection>
    <docsection name="inf-gtk-certificate-dialog">
      <doc xml:space="preserve"
           filename="inf-gtk-certificate-dialog.c"
           line="20">#InfGtkCertificateDialog is a dialog that can be shown to a user if the
validation of the server's certificate cannot be performed automatically.
The dialog will present to the user the reason(s) of the validation
failure and might ask whether to fully establish the connection to the
server or not.</doc>
    </docsection>
    <docsection name="inf-gtk-certificate-manager">
      <doc xml:space="preserve"
           filename="inf-gtk-certificate-manager.c"
           line="20">#InfGtkCertificateManager is derived from #InfCertificateVerify, and
as such it verifies server certificates. This class handles the
#InfCertificateVerify::check-certificate signal by showing a
#InfGtkCertificateDialog to the user to let them decide whether or not
to accept the server's certificate.</doc>
    </docsection>
    <docsection name="inf-gtk-chat">
      <doc xml:space="preserve"
           filename="inf-gtk-chat.c"
           line="28">#InfGtkChat is a widget showing a #InfChatSession conversation. Use
inf_gtk_chat_set_session() to set the session whose conversation to show
in the widget. If you have a local user in the session you can also call
inf_gtk_chat_set_active_user(). In this case the input text entry is made
available and messages are sent via that user.</doc>
    </docsection>
    <docsection name="inf-gtk-connection-view">
      <doc xml:space="preserve"
           filename="inf-gtk-connection-view.c"
           line="20">#InfGtkConnectionView is a widget that shows parameters for a given
connection such as the name of the remote host, its IP address, and
encryption information.</doc>
    </docsection>
    <docsection name="inf-gtk-permissions-dialog">
      <doc xml:space="preserve"
           filename="inf-gtk-permissions-dialog.c"
           line="20">#InfGtkPermissionsDialog is a dialog widget which allows to view and
modify the ACL of a node in a infinote directory. It shows a list of all
available users and allows the permissions for each of them to be changed,
using a #InfGtkAclSheetView widget.

If the "can-query-acl" permission is not granted for the local user, the
dialog only shows the permissions for the default user and the local user.
The dialog also comes with a status text to inform the user why certain
functionality is not available.

The dialog class reacts to changes to the ACL in real time, and also if the
node that is being monitored is removed.</doc>
    </docsection>
  </namespace>
</repository>
