<?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.0"
            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="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="2.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="2.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="xlib" version="2.0"/>
  <package name="gtk+-2.0"/>
  <namespace name="CryptUI"
             version="0.0"
             shared-library="libcryptui.so.0"
             c:prefix="CryptUI">
    <enumeration name="EncType"
                 doc="Used in key properties to indicate what kind of key it is
Never ever change a values already present. These values are used
across applications, DBus etc..."
                 c:type="CryptUIEncType">
      <member name="ryptui_enctype_none"
              value="0"
              c:identifier="CRYPTUI_ENCTYPE_NONE"/>
      <member name="ryptui_enctype_symmetric"
              value="1"
              c:identifier="CRYPTUI_ENCTYPE_SYMMETRIC"/>
      <member name="ryptui_enctype_public"
              value="2"
              c:identifier="CRYPTUI_ENCTYPE_PUBLIC"/>
      <member name="ryptui_enctype_private"
              value="3"
              c:identifier="CRYPTUI_ENCTYPE_PRIVATE"/>
      <member name="cryptui_enctype_maxvalue"
              value="4"
              c:identifier="_CRYPTUI_ENCTYPE_MAXVALUE"/>
    </enumeration>
    <class name="KeyChooser"
           c:type="CryptUIKeyChooser"
           parent="Gtk.VBox"
           glib:type-name="CryptUIKeyChooser"
           glib:get-type="cryptui_key_chooser_get_type"
           glib:type-struct="KeyChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="cryptui_key_chooser_new"
                   doc="Creates a key chooser widget from a key set.">
        <return-value transfer-ownership="full">
          <type name="KeyChooser" c:type="CryptUIKeyChooser*"/>
        </return-value>
        <parameters>
          <parameter name="ckset" transfer-ownership="none">
            <type name="Keyset" c:type="CryptUIKeyset*"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="KeyChooserMode" c:type="CryptUIKeyChooserMode"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_enforce_prefs"
              c:identifier="cryptui_key_chooser_get_enforce_prefs"
              doc="Gets whether or not the preference to encrypt to self will be enforced.  If
TRUE, the default signing key will be added to the recipient list.  If FALSE,
the selected recipients will be returned without adding the default signing
key.
recipients even if not selected">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_enforce_prefs"
              c:identifier="cryptui_key_chooser_set_enforce_prefs"
              doc="recipients even if not selected
Sets whether or not the preference to encrypt to self will be enforced.  If
TRUE, the default signing key will be added to the recipient list.  If FALSE,
the selected recipients will be returned without adding the default signing
key.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enforce_prefs" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="have_recipients"
              c:identifier="cryptui_key_chooser_have_recipients"
              doc="Determines if recipient keys have been selected.">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_recipients"
              c:identifier="cryptui_key_chooser_get_recipients"
              doc="This function returns a list of recipients selected in the chooser widget.">
        <return-value transfer-ownership="full">
          <type name="GLib.List" c:type="GList*"/>
        </return-value>
      </method>
      <method name="set_recipients"
              c:identifier="cryptui_key_chooser_set_recipients"
              doc="Marks the listed keys as selected in the chooser widget.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="keys" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_signer"
              c:identifier="cryptui_key_chooser_get_signer"
              doc="Gets the key of the selected signer from the chooser widget.">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_signer"
              c:identifier="cryptui_key_chooser_set_signer"
              doc="Sets the signer in the chooser to the provided key.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mode"
              c:identifier="cryptui_key_chooser_get_mode"
              doc="Determines the mode of the given chooser widget.">
        <return-value transfer-ownership="full">
          <type name="KeyChooserMode" c:type="CryptUIKeyChooserMode"/>
        </return-value>
      </method>
      <property name="enforce-prefs" writable="1">
        <type name="boolean" c:type="gboolean"/>
      </property>
      <property name="keyset" writable="1" construct-only="1">
        <type name="Keyset" c:type="CryptUIKeyset"/>
      </property>
      <property name="mode" writable="1" construct-only="1">
        <type name="uint" c:type="guint"/>
      </property>
      <field name="parent">
        <type name="Gtk.VBox" c:type="GtkVBox"/>
      </field>
      <field name="priv">
        <type name="KeyChooserPriv" c:type="CryptUIKeyChooserPriv*"/>
      </field>
      <glib:signal name="changed">
        <return-value transfer-ownership="full">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="KeyChooserClass"
            c:type="CryptUIKeyChooserClass"
            glib:is-gtype-struct-for="KeyChooser">
      <field name="parent_class">
        <type name="Gtk.VBoxClass" c:type="GtkVBoxClass"/>
      </field>
      <field name="changed">
        <callback name="changed" c:type="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="KeyChooser" c:type="CryptUIKeyChooser*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="KeyChooserMode" c:type="CryptUIKeyChooserMode">
      <member name="recipients"
              value="1"
              c:identifier="CRYPTUI_KEY_CHOOSER_RECIPIENTS"/>
      <member name="signer"
              value="2"
              c:identifier="CRYPTUI_KEY_CHOOSER_SIGNER"/>
      <member name="mustsign"
              value="16"
              c:identifier="CRYPTUI_KEY_CHOOSER_MUSTSIGN"/>
    </enumeration>
    <record name="KeyChooserPriv" c:type="CryptUIKeyChooserPriv">
    </record>
    <enumeration name="KeyFlags"
                 doc="Used in key properties to indicate a key&apos;s status.  These values are
logically OR&apos;d together.
Never ever change a values already present. These values are used
across applications, DBus etc..."
                 c:type="CryptUIKeyFlags">
      <member name="is_valid" value="1" c:identifier="CRYPTUI_FLAG_IS_VALID"/>
      <member name="can_encrypt"
              value="2"
              c:identifier="CRYPTUI_FLAG_CAN_ENCRYPT"/>
      <member name="can_sign" value="4" c:identifier="CRYPTUI_FLAG_CAN_SIGN"/>
      <member name="expired" value="256" c:identifier="CRYPTUI_FLAG_EXPIRED"/>
      <member name="revoked" value="512" c:identifier="CRYPTUI_FLAG_REVOKED"/>
      <member name="disabled"
              value="1024"
              c:identifier="CRYPTUI_FLAG_DISABLED"/>
      <member name="trusted" value="4096" c:identifier="CRYPTUI_FLAG_TRUSTED"/>
      <member name="exportable"
              value="1048576"
              c:identifier="CRYPTUI_FLAG_EXPORTABLE"/>
    </enumeration>
    <class name="KeyStore"
           c:type="CryptUIKeyStore"
           parent="Gtk.TreeModelSort"
           glib:type-name="CryptUIKeyStore"
           glib:get-type="cryptui_key_store_get_type"
           glib:type-struct="KeyStoreClass">
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="Gtk.TreeSortable"/>
      <constructor name="new"
                   c:identifier="cryptui_key_store_new"
                   doc="Creates a new libcryptui key store setting the keystore, use-checks and none-option
properties">
        <return-value transfer-ownership="full">
          <type name="KeyStore" c:type="CryptUIKeyStore*"/>
        </return-value>
        <parameters>
          <parameter name="keyset" transfer-ownership="none">
            <type name="Keyset" c:type="CryptUIKeyset*"/>
          </parameter>
          <parameter name="use_checks" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
          <parameter name="none_option" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_keyset"
              c:identifier="cryptui_key_store_get_keyset"
              doc="Gets ckstore&apos;s internal keyset">
        <return-value transfer-ownership="full">
          <type name="Keyset" c:type="CryptUIKeyset*"/>
        </return-value>
      </method>
      <method name="set_sortable"
              c:identifier="cryptui_key_store_set_sortable"
              doc="Sets whether ckstore is sortable or not">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sortable" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_sortable"
              c:identifier="cryptui_key_store_get_sortable"
              doc="Gets whether ckstore is sortable or not">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="check_toggled"
              c:identifier="cryptui_key_store_check_toggled"
              doc="Gets whether the check at iter is toggled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_iter_from_key"
              c:identifier="cryptui_key_store_get_iter_from_key"
              doc="Get the iter that the key is stored at in ckstore
has been modified to point to it, FALSE otherwise">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key_from_iter"
              c:identifier="cryptui_key_store_get_key_from_iter"
              doc="Gets the key stored at iter in ckstore">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key_from_path"
              c:identifier="cryptui_key_store_get_key_from_path"
              doc="Get the key at path in ckstore">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_all_keys"
              c:identifier="cryptui_key_store_get_all_keys"
              doc="Get a list of all keys in ckstore">
        <return-value transfer-ownership="full">
          <type name="GLib.List" c:type="GList*"/>
        </return-value>
      </method>
      <method name="get_count"
              c:identifier="cryptui_key_store_get_count"
              doc="Get the number of keys stored in ckstore">
        <return-value transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </return-value>
      </method>
      <method name="have_selected_keys"
              c:identifier="cryptui_key_store_have_selected_keys"
              doc="Determines whether keys are selected or not.">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_selected_keys"
              c:identifier="cryptui_key_store_get_selected_keys"
              doc="Get the currently selected keys">
        <return-value transfer-ownership="full">
          <type name="GLib.List" c:type="GList*"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected_keys"
              c:identifier="cryptui_key_store_set_selected_keys"
              doc="Set the current selection to be the list of keys">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
          <parameter name="keys" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_selected_key"
              c:identifier="cryptui_key_store_get_selected_key"
              doc="Get the currently selected key">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected_key"
              c:identifier="cryptui_key_store_set_selected_key"
              doc="Marks the given key as selected">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
          </parameter>
          <parameter name="selkey" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_mode"
              c:identifier="cryptui_key_store_set_search_mode"
              doc="Sets whether the keys returned will be all, just those searched for, or
those selected.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <type name="KeyStoreMode" c:type="CryptUIKeyStoreMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="cryptui_key_store_set_search_text"
              doc="Filters the keys in the store by the text in search_text.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="search_text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_filter"
              c:identifier="cryptui_key_store_set_filter"
              doc="Filters the key store&apos;s keys with the given filter function.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="KeyStoreFilterFunc"
                  c:type="CryptUIKeyStoreFilterFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="keyset" writable="1" construct-only="1">
        <type name="Keyset" c:type="CryptUIKeyset"/>
      </property>
      <property name="mode" writable="1">
        <type name="uint" c:type="guint"/>
      </property>
      <property name="none-option" writable="1">
        <type name="utf8" c:type="gchararray"/>
      </property>
      <property name="search" writable="1">
        <type name="utf8" c:type="gchararray"/>
      </property>
      <property name="sortable" writable="1">
        <type name="boolean" c:type="gboolean"/>
      </property>
      <property name="use-checks" writable="1">
        <type name="boolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.TreeModelSort" c:type="GtkTreeModelSort"/>
      </field>
      <field name="ckset">
        <type name="Keyset" c:type="CryptUIKeyset*"/>
      </field>
      <field name="priv">
        <type name="KeyStorePriv" c:type="CryptUIKeyStorePriv*"/>
      </field>
    </class>
    <record name="KeyStoreClass"
            c:type="CryptUIKeyStoreClass"
            glib:is-gtype-struct-for="KeyStore">
      <field name="parent_class">
        <type name="Gtk.TreeModelSortClass" c:type="GtkTreeModelSortClass"/>
      </field>
    </record>
    <callback name="KeyStoreFilterFunc" c:type="CryptUIKeyStoreFilterFunc">
      <return-value transfer-ownership="none">
        <type name="boolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="ckset" transfer-ownership="none">
          <type name="Keyset" c:type="CryptUIKeyset*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="any" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="KeyStoreMode" c:type="CryptUIKeyStoreMode">
      <member name="all" value="0" c:identifier="CRYPTUI_KEY_STORE_MODE_ALL"/>
      <member name="selected"
              value="1"
              c:identifier="CRYPTUI_KEY_STORE_MODE_SELECTED"/>
      <member name="results"
              value="2"
              c:identifier="CRYPTUI_KEY_STORE_MODE_RESULTS"/>
    </enumeration>
    <record name="KeyStorePriv" c:type="CryptUIKeyStorePriv">
    </record>
    <class name="Keyset"
           c:type="CryptUIKeyset"
           parent="GObject.Object"
           glib:type-name="CryptUIKeyset"
           glib:get-type="cryptui_keyset_get_type"
           glib:type-struct="KeysetClass">
      <constructor name="new"
                   c:identifier="cryptui_keyset_new"
                   doc="Creates a new keylist">
        <return-value transfer-ownership="full">
          <type name="Keyset" c:type="CryptUIKeyset*"/>
        </return-value>
        <parameters>
          <parameter name="keytype" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="expand_keys" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="has_key"
              c:identifier="cryptui_keyset_has_key"
              doc="Determines whether or not a key is present in the keyset">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_keytype"
              c:identifier="cryptui_keyset_get_keytype"
              doc="Gets the libcryptui key prefix for the keyset">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_keys"
              c:identifier="cryptui_keyset_get_keys"
              doc="Gets a list of keys contained in the key set">
        <return-value transfer-ownership="full">
          <type name="GLib.List" c:type="GList*"/>
        </return-value>
      </method>
      <method name="get_count"
              c:identifier="cryptui_keyset_get_count"
              doc="Gets the number of keys stored in the keyset">
        <return-value transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </return-value>
      </method>
      <method name="refresh"
              c:identifier="cryptui_keyset_refresh"
              doc="Checks the remote keyset to see which keys have been added or removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_closure" c:identifier="cryptui_keyset_get_closure">
        <return-value transfer-ownership="none">
          <type name="any" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_closure" c:identifier="cryptui_keyset_set_closure">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="closure" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_expand_keys"
              c:identifier="cryptui_keyset_get_expand_keys"
              doc="Gets whether or not non-primary key UIDs are included in the keyset">
        <return-value transfer-ownership="none">
          <type name="boolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_expand_keys"
              c:identifier="cryptui_keyset_set_expand_keys"
              doc="Sets whether or not non-primary key UIDs are included in the keyset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="expand_keys" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="cache_key"
              c:identifier="cryptui_keyset_cache_key"
              doc="Stores the key&apos;s fields returned by the DBus method GetKeyFields in the
keyset.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_get_string"
              c:identifier="cryptui_keyset_key_get_string"
              doc="Gets the given property of the key in the keyset.">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="prop" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_get_uint"
              c:identifier="cryptui_keyset_key_get_uint"
              doc="Gets the given property of the key in the keyset.">
        <return-value transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="prop" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_flags"
              c:identifier="cryptui_keyset_key_flags"
              doc="Gets the key&apos;s flags">
        <return-value transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_display_name"
              c:identifier="cryptui_keyset_key_display_name"
              doc="Gets the &quot;display-name&quot; property of the given key">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_display_id"
              c:identifier="cryptui_keyset_key_display_id"
              doc="Gets the &quot;display-id&quot; property of the given key">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_raw_keyid"
              c:identifier="cryptui_keyset_key_raw_keyid"
              doc="Gets the key&apos;s raw key id">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="keys_raw_keyids"
              c:identifier="cryptui_keyset_keys_raw_keyids"
              doc="Gets the keys&apos; raw key ids">
        <return-value transfer-ownership="full">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="keys" transfer-ownership="none">
            <array c:type="gchar**">
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <property name="expand-keys" writable="1">
        <type name="boolean" c:type="gboolean"/>
      </property>
      <property name="keytype" writable="1" construct-only="1">
        <type name="utf8" c:type="gchararray"/>
      </property>
      <field name="parent">
        <type name="Gtk.Object" c:type="GtkObject"/>
      </field>
      <field name="priv">
        <type name="KeysetPrivate" c:type="CryptUIKeysetPrivate*"/>
      </field>
      <glib:signal name="added">
        <return-value transfer-ownership="full">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchararray"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="changed">
        <return-value transfer-ownership="full">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchararray"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="removed">
        <return-value transfer-ownership="full">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchararray"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="KeysetClass"
            c:type="CryptUIKeysetClass"
            glib:is-gtype-struct-for="Keyset">
      <field name="parent_class">
        <type name="Gtk.ObjectClass" c:type="GtkObjectClass"/>
      </field>
      <field name="added">
        <callback name="added" c:type="added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="keyset" transfer-ownership="none">
              <type name="Keyset" c:type="CryptUIKeyset*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="removed">
        <callback name="removed" c:type="removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="keyset" transfer-ownership="none">
              <type name="Keyset" c:type="CryptUIKeyset*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="closure" transfer-ownership="none">
              <type name="any" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed">
        <callback name="changed" c:type="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="keyset" transfer-ownership="none">
              <type name="Keyset" c:type="CryptUIKeyset*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="closure" transfer-ownership="none">
              <type name="any" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="KeysetPrivate" c:type="CryptUIKeysetPrivate">
    </record>
    <enumeration name="Location"
                 doc="Indicates where a key is located.
Never ever change a values already present. These values are used
across applications, DBus etc..."
                 c:type="CryptUILocation">
      <member name="invalid" value="0" c:identifier="CRYPTUI_LOC_INVALID"/>
      <member name="missing" value="10" c:identifier="CRYPTUI_LOC_MISSING"/>
      <member name="searching"
              value="20"
              c:identifier="CRYPTUI_LOC_SEARCHING"/>
      <member name="remote" value="50" c:identifier="CRYPTUI_LOC_REMOTE"/>
      <member name="local" value="100" c:identifier="CRYPTUI_LOC_LOCAL"/>
    </enumeration>
    <enumeration name="Validity"
                 doc="What the validity of the key is.
Never ever change a values already present. These values are used
across applications, DBus etc..."
                 c:type="CryptUIValidity">
      <member name="revoked"
              value="-3"
              c:identifier="CRYPTUI_VALIDITY_REVOKED"/>
      <member name="disabled"
              value="-2"
              c:identifier="CRYPTUI_VALIDITY_DISABLED"/>
      <member name="never" value="-1" c:identifier="CRYPTUI_VALIDITY_NEVER"/>
      <member name="unknown"
              value="0"
              c:identifier="CRYPTUI_VALIDITY_UNKNOWN"/>
      <member name="marginal"
              value="1"
              c:identifier="CRYPTUI_VALIDITY_MARGINAL"/>
      <member name="full" value="5" c:identifier="CRYPTUI_VALIDITY_FULL"/>
      <member name="ultimate"
              value="10"
              c:identifier="CRYPTUI_VALIDITY_ULTIMATE"/>
    </enumeration>
    <function name="display_notification"
              c:identifier="cryptui_display_notification"
              doc="This function creates a notification bubble that can be updated as additional
key details are discovered.  See http://live.gnome.org/Seahorse/DBus for a
description of the markup syntax.">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="title"
                   transfer-ownership="none"
                   allow-none="1"
                   doc="Headline for the notification">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="body"
                   transfer-ownership="none"
                   allow-none="1"
                   doc="Text for the body of the notification">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="icon"
                   transfer-ownership="none"
                   allow-none="1"
                   doc="Full path to icon to be included">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="urgent"
                   transfer-ownership="none"
                   allow-none="1"
                   doc="Whether the notification is urgent or not.">
          <type name="boolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_get_key"
              c:identifier="cryptui_key_combo_get_key"
              doc="Gets the first selected key from the combo">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="ckcombo" transfer-ownership="none">
          <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_get_key_store"
              c:identifier="cryptui_key_combo_get_key_store"
              doc="Gets the key store from a CryptUiCombo">
      <return-value transfer-ownership="full">
        <type name="KeyStore" c:type="CryptUIKeyStore*"/>
      </return-value>
      <parameters>
        <parameter name="ckcombo" transfer-ownership="none">
          <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_get_keyset"
              c:identifier="cryptui_key_combo_get_keyset"
              doc="Gets the keyset stored in the combo&apos;s key store.">
      <return-value transfer-ownership="full">
        <type name="Keyset" c:type="CryptUIKeyset*"/>
      </return-value>
      <parameters>
        <parameter name="ckcombo" transfer-ownership="none">
          <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_new"
              c:identifier="cryptui_key_combo_new"
              doc="Creates a combobox containing the keys in ckstore">
      <return-value transfer-ownership="full">
        <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
      </return-value>
      <parameters>
        <parameter name="ckstore" transfer-ownership="none">
          <type name="KeyStore" c:type="CryptUIKeyStore*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_set_key"
              c:identifier="cryptui_key_combo_set_key"
              doc="Sets the combo&apos;s selection to the indicated key">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ckcombo" transfer-ownership="none">
          <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_combo_setup"
              c:identifier="cryptui_key_combo_setup"
              doc="Populates an existing GtkComboBox with keys from a CryptUIKeyStore">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="combo" transfer-ownership="none">
          <type name="Gtk.ComboBox" c:type="GtkComboBox*"/>
        </parameter>
        <parameter name="ckstore" transfer-ownership="none">
          <type name="KeyStore" c:type="CryptUIKeyStore*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_get_base"
              c:identifier="cryptui_key_get_base"
              doc="This function is a utility function to get the part of the key that preceeds
the colon.
or @key if it is already a base or is invalid">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="key"
                   transfer-ownership="none"
                   doc="key for use with libcryptui">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_get_enctype"
              c:identifier="cryptui_key_get_enctype"
              doc="A utility function to get the type of key passed in. (public, private,
symmetric, etc.).">
      <return-value transfer-ownership="full">
        <type name="EncType" c:type="CryptUIEncType"/>
      </return-value>
      <parameters>
        <parameter name="key"
                   transfer-ownership="none"
                   doc="key for use with libcryptui">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_get_key_store"
              c:identifier="cryptui_key_list_get_key_store"
              doc="Gets the CryptuiKeyStore used as a model by the CryptuiKeyList">
      <return-value transfer-ownership="full">
        <type name="KeyStore" c:type="CryptUIKeyStore*"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_get_keyset"
              c:identifier="cryptui_key_list_get_keyset"
              doc="Gets the keyset from the key store set as the model in the list">
      <return-value transfer-ownership="full">
        <type name="Keyset" c:type="CryptUIKeyset*"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_get_selected_key"
              c:identifier="cryptui_key_list_get_selected_key">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_get_selected_keys"
              c:identifier="cryptui_key_list_get_selected_keys"
              doc="Gets the kyes selected in the list">
      <return-value transfer-ownership="full">
        <type name="GLib.List" c:type="GList*"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_have_selected_keys"
              c:identifier="cryptui_key_list_have_selected_keys"
              doc="Used to determine if any keys have been selected">
      <return-value transfer-ownership="none">
        <type name="boolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_new"
              c:identifier="cryptui_key_list_new"
              doc="Creates a new key list widget displaying keys from the key store that match
the given flags.">
      <return-value transfer-ownership="full">
        <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
      </return-value>
      <parameters>
        <parameter name="ckstore" transfer-ownership="none">
          <type name="KeyStore" c:type="CryptUIKeyStore*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_set_selected_key"
              c:identifier="cryptui_key_list_set_selected_key"
              doc="Selects the given key in the list widget">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_set_selected_keys"
              c:identifier="cryptui_key_list_set_selected_keys"
              doc="Selects the given list of keys in the list">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
        <parameter name="keys" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_list_setup"
              c:identifier="cryptui_key_list_setup"
              doc="Changes an existing GtkTreeView into a CryptUIKeyList using the key store
as the model and the filters the view based on the given flags.">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="view" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
        <parameter name="ckstore" transfer-ownership="none">
          <type name="KeyStore" c:type="CryptUIKeyStore*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="uint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="need_to_get_keys"
              c:identifier="cryptui_need_to_get_keys"
              doc="This function is called when seahorse needs to be launched to generate a
key or keys or import a key or keys to perform the requested operation.">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="prompt_recipients"
              c:identifier="cryptui_prompt_recipients"
              doc="This function prompts the user to select one or more keys from the keyset to
use to encrypt to.  It also allows the user to select a private key from the
keyset to sign with.">
      <return-value transfer-ownership="full">
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="keyset" transfer-ownership="none">
          <type name="Keyset" c:type="CryptUIKeyset*"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="signer" transfer-ownership="none">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="prompt_signer"
              c:identifier="cryptui_prompt_signer"
              doc="This function prompts the user to select a private key from the keyset to
use to sign something.">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="keyset" transfer-ownership="none">
          <type name="Keyset" c:type="CryptUIKeyset*"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
