<?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="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Json" version="1.0"/>
  <package name="jcat"/>
  <c:include name="jcat.h"/>
  <namespace name="Jcat"
             version="1.0"
             shared-library="libjcat.so.1"
             c:identifier-prefixes="Jcat"
             c:symbol-prefixes="jcat">
    <class name="Blob"
           c:symbol-prefix="blob"
           c:type="JcatBlob"
           parent="GObject.Object"
           glib:type-name="JcatBlob"
           glib:get-type="jcat_blob_get_type"
           glib:type-struct="BlobClass">
      <source-position filename="../libjcat/jcat-blob.h" line="69"/>
      <constructor name="new" c:identifier="jcat_blob_new" version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="393">Creates a new blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="400">a #JcatBlob</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="395">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="396">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full"
                   c:identifier="jcat_blob_new_full"
                   version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="367">Creates a new blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="77"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="375">a #JcatBlob</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="369">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="370">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="371">#JcatBlobFlags</doc>
            <type name="BlobFlags" c:type="JcatBlobFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_utf8"
                   c:identifier="jcat_blob_new_utf8"
                   version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="410">Creates a new ASCII blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="80"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="417">a #JcatBlob</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="412">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="413">ASCII data</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="kind_from_string"
                c:identifier="jcat_blob_kind_from_string"
                version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="47">Converts the string to an enumerated kind.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="53">a #JcatBlobKind, or %JCAT_BLOB_KIND_UNKNOWN if the kind was not found</doc>
          <type name="BlobKind" c:type="JcatBlobKind"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="49">A string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="kind_to_filename_ext"
                c:identifier="jcat_blob_kind_to_filename_ext"
                version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="95">Converts the enumerated kind to the normal file extension.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="101">a string, or %NULL if the kind was not found</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="97">#JcatBlobKind</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
        </parameters>
      </function>
      <function name="kind_to_string"
                c:identifier="jcat_blob_kind_to_string"
                version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="71">Converts the enumerated kind to a string.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="77">a string, or %NULL if the kind was not found</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="73">#JcatBlobKind</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_appstream_id"
              c:identifier="jcat_blob_get_appstream_id"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="270">Gets the optional AppStream ID for the blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="276">a string, or %NULL if not set</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="272">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_data"
              c:identifier="jcat_blob_get_data"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="306">Gets the data stored in the blob, typically in binary (unprintable) form.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="312">a #GBytes, or %NULL if the filename was not found</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="308">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_data_as_string"
              c:identifier="jcat_blob_get_data_as_string"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="324">Gets the data stored in the blob, in human readable form.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="330">base64 encoded version of data</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="326">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="jcat_blob_get_kind"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="349">gets the blob kind</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="355">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
          <type name="BlobKind" c:type="JcatBlobKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="351">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timestamp"
              c:identifier="jcat_blob_get_timestamp"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="235">Gets the creation timestamp for the blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="241">UTC UNIX time, or 0 if unset</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="237">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_appstream_id"
              c:identifier="jcat_blob_set_appstream_id"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="288">Sets an optional AppStream ID on the blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="290">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
          <parameter name="appstream_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="291">string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timestamp"
              c:identifier="jcat_blob_set_timestamp"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="253">Sets the creation timestamp for the blob.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="255">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="256">UTC timestamp</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="jcat_blob_to_string"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.c"
             line="148">Converts the #JcatBlob to a string.</doc>
        <source-position filename="../libjcat/jcat-blob.h" line="82"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-blob.c"
               line="154">string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-blob.c"
                 line="150">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="BlobClass"
            c:type="JcatBlobClass"
            glib:is-gtype-struct-for="Blob">
      <source-position filename="../libjcat/jcat-blob.h" line="69"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="BlobFlags" c:type="JcatBlobFlags">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-blob.h"
           line="51">Flags used when creating the blob.</doc>
      <source-position filename="../libjcat/jcat-blob.h" line="63"/>
      <member name="none" value="0" c:identifier="JCAT_BLOB_FLAG_NONE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="53">Generic binary data</doc>
      </member>
      <member name="is_utf8" value="1" c:identifier="JCAT_BLOB_FLAG_IS_UTF8">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="54">ASCII text</doc>
      </member>
    </bitfield>
    <enumeration name="BlobKind" c:type="JcatBlobKind">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-blob.h"
           line="15">The kind of blob stored as a signature on the item.</doc>
      <source-position filename="../libjcat/jcat-blob.h" line="33"/>
      <member name="unknown" value="0" c:identifier="JCAT_BLOB_KIND_UNKNOWN">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="17">No known blob kind</doc>
      </member>
      <member name="sha256" value="1" c:identifier="JCAT_BLOB_KIND_SHA256">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="18">SHA-256 checksum</doc>
      </member>
      <member name="gpg" value="2" c:identifier="JCAT_BLOB_KIND_GPG">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="19">GPG detached signature</doc>
      </member>
      <member name="pkcs7" value="3" c:identifier="JCAT_BLOB_KIND_PKCS7">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="20">PKCS-7 detached signature</doc>
      </member>
      <member name="sha1" value="4" c:identifier="JCAT_BLOB_KIND_SHA1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="21">SHA-1 checksum</doc>
      </member>
    </enumeration>
    <enumeration name="BlobMethod" c:type="JcatBlobMethod">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-blob.h"
           line="35">The blob verification method.</doc>
      <source-position filename="../libjcat/jcat-blob.h" line="49"/>
      <member name="unknown" value="0" c:identifier="JCAT_BLOB_METHOD_UNKNOWN">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="37">Unknown</doc>
      </member>
      <member name="checksum"
              value="1"
              c:identifier="JCAT_BLOB_METHOD_CHECKSUM">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="38">Checksum</doc>
      </member>
      <member name="signature"
              value="2"
              c:identifier="JCAT_BLOB_METHOD_SIGNATURE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-blob.h"
             line="39">Signature</doc>
      </member>
    </enumeration>
    <class name="Context"
           c:symbol-prefix="context"
           c:type="JcatContext"
           parent="GObject.Object"
           glib:type-name="JcatContext"
           glib:get-type="jcat_context_get_type"
           glib:type-struct="ContextClass">
      <source-position filename="../libjcat/jcat-context.h" line="23"/>
      <constructor name="new" c:identifier="jcat_context_new" version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="337">Creates a new context.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="25"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-context.c"
               line="342">a #JcatContext</doc>
          <type name="Context" c:type="JcatContext*"/>
        </return-value>
      </constructor>
      <method name="add_public_key"
              c:identifier="jcat_context_add_public_key"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="68">Adds a single public key.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="26"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="70">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="71">A filename</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_public_keys"
              c:identifier="jcat_context_add_public_keys"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="86">Adds a public key directory.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="28"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="88">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="89">A directory of files</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_engine"
              c:identifier="jcat_context_get_engine"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="160">Gets the engine for a specific engine kind, setting up the context
automatically if required.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="30"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-context.c"
               line="169">#JcatEngine, or %NULL for unavailable</doc>
          <type name="Engine" c:type="JcatEngine*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="162">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="163">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_GPG</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_keyring_path"
              c:identifier="jcat_context_get_keyring_path"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="142">Gets the local state directory the engines are using.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="35"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-context.c"
               line="148">path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="144">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_keyring_path"
              c:identifier="jcat_context_set_keyring_path"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="123">Sets the local state directory for the engines to use.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="125">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="126">A directory</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify_blob"
              c:identifier="jcat_context_verify_blob"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="193">Verifies a #JcatBlob using the public keys added to the context.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="36"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-context.c"
               line="203">#JcatResult, or %NULL for failed</doc>
          <type name="Result" c:type="JcatResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="195">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="196">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="197">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="198">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify_item"
              c:identifier="jcat_context_verify_item"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-context.c"
             line="229">Verifies a #JcatItem using the public keys added to the context. All
`verify=CHECKSUM` engines (e.g. SHA256) must verify correctly,
but only one non-checksum signature has to verify.</doc>
        <source-position filename="../libjcat/jcat-context.h" line="41"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-context.c"
               line="241">array of #JcatResult, or %NULL for failed</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Result"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="231">#JcatContext</doc>
            <type name="Context" c:type="JcatContext*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="232">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="233">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-context.c"
                 line="234">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_REQUIRE_SIGNATURE</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ContextClass"
            c:type="JcatContextClass"
            glib:is-gtype-struct-for="Context">
      <source-position filename="../libjcat/jcat-context.h" line="23"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Engine"
           c:symbol-prefix="engine"
           c:type="JcatEngine"
           parent="GObject.Object"
           glib:type-name="JcatEngine"
           glib:get-type="jcat_engine_get_type"
           glib:type-struct="EngineClass">
      <source-position filename="../libjcat/jcat-engine.h" line="48"/>
      <virtual-method name="add_public_key" throws="1">
        <source-position filename="../libjcat/jcat-engine.h" line="24"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pubkey_sign"
                      invoker="pubkey_sign"
                      version="0.1.0"
                      throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="131">Signs a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="32"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="142">#JcatBlob, or %NULL for failed</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="133">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="134">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="cert" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="135">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="privkey" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="136">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="137">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
            <type name="SignFlags" c:type="JcatSignFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pubkey_verify"
                      invoker="pubkey_verify"
                      version="0.1.0"
                      throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="94">Verifies a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="27"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="104">#JcatResult, or %NULL for failed</doc>
          <type name="Result" c:type="JcatResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="96">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="97">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="blob_signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="98">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="99">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="self_sign"
                      invoker="self_sign"
                      version="0.1.0"
                      throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="208">Signs a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="217">#JcatBlob, or %NULL for failed</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="210">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="211">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="212">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
            <type name="SignFlags" c:type="JcatSignFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="self_verify"
                      invoker="self_verify"
                      version="0.1.0"
                      throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="171">Verifies a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="181">#JcatResult, or %NULL for failed</doc>
          <type name="Result" c:type="JcatResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="173">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="174">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="blob_signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="175">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="176">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="setup" throws="1">
        <source-position filename="../libjcat/jcat-engine.h" line="22"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_kind"
              c:identifier="jcat_engine_get_kind"
              version="0.1.3">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="242">Gets the blob kind.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="248">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
          <type name="BlobKind" c:type="JcatBlobKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="244">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_method"
              c:identifier="jcat_engine_get_method"
              version="0.1.3">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="259">Gets the verification method.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="265">#JcatBlobMethod, e.g. %JCAT_BLOB_METHOD_SIGNATURE</doc>
          <type name="BlobMethod" c:type="JcatBlobMethod"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="261">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pubkey_sign"
              c:identifier="jcat_engine_pubkey_sign"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="131">Signs a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="142">#JcatBlob, or %NULL for failed</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="133">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="134">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="cert" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="135">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="privkey" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="136">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="137">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
            <type name="SignFlags" c:type="JcatSignFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="pubkey_verify"
              c:identifier="jcat_engine_pubkey_verify"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="94">Verifies a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="104">#JcatResult, or %NULL for failed</doc>
          <type name="Result" c:type="JcatResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="96">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="97">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="blob_signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="98">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="99">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="self_sign"
              c:identifier="jcat_engine_self_sign"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="208">Signs a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="68"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="217">#JcatBlob, or %NULL for failed</doc>
          <type name="Blob" c:type="JcatBlob*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="210">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="211">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="212">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
            <type name="SignFlags" c:type="JcatSignFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="self_verify"
              c:identifier="jcat_engine_self_verify"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-engine.c"
             line="171">Verifies a chunk of data.</doc>
        <source-position filename="../libjcat/jcat-engine.h" line="63"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-engine.c"
               line="181">#JcatResult, or %NULL for failed</doc>
          <type name="Result" c:type="JcatResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="173">#JcatEngine</doc>
            <type name="Engine" c:type="JcatEngine*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="174">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="blob_signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="175">#GBytes</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="176">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
            <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Context"/>
      </property>
      <property name="kind"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="method"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="verify-kind" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="EngineClass"
            c:type="JcatEngineClass"
            glib:is-gtype-struct-for="Engine">
      <source-position filename="../libjcat/jcat-engine.h" line="48"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="setup">
        <callback name="setup" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="22"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_public_key">
        <callback name="add_public_key" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="24"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
            <parameter name="filename" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pubkey_verify">
        <callback name="pubkey_verify" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="27"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="104">#JcatResult, or %NULL for failed</doc>
            <type name="Result" c:type="JcatResult*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="96">#JcatEngine</doc>
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
            <parameter name="blob" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="97">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="blob_signature" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="98">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="99">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
              <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pubkey_sign">
        <callback name="pubkey_sign" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="32"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="142">#JcatBlob, or %NULL for failed</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="133">#JcatEngine</doc>
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
            <parameter name="blob" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="134">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="cert" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="135">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="privkey" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="136">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="137">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
              <type name="SignFlags" c:type="JcatSignFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="self_verify">
        <callback name="self_verify" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="38"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="181">#JcatResult, or %NULL for failed</doc>
            <type name="Result" c:type="JcatResult*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="173">#JcatEngine</doc>
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
            <parameter name="blob" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="174">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="blob_signature" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="175">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="176">#JcatVerifyFlags, e.g. %JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS</doc>
              <type name="VerifyFlags" c:type="JcatVerifyFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="self_sign">
        <callback name="self_sign" throws="1">
          <source-position filename="../libjcat/jcat-engine.h" line="43"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-engine.c"
                 line="217">#JcatBlob, or %NULL for failed</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="210">#JcatEngine</doc>
              <type name="Engine" c:type="JcatEngine*"/>
            </parameter>
            <parameter name="blob" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="211">#GBytes</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../libjcat/jcat-engine.c"
                   line="212">#JcatSignFlags, e.g. %JCAT_SIGN_FLAG_ADD_TIMESTAMP</doc>
              <type name="SignFlags" c:type="JcatSignFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="9">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="ExportFlags" c:type="JcatExportFlags">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-common.h"
           line="21">Flags used for exporting.</doc>
      <source-position filename="../libjcat/jcat-common.h" line="33"/>
      <member name="none" value="0" c:identifier="JCAT_EXPORT_FLAG_NONE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="23">No flags set</doc>
      </member>
      <member name="no_timestamp"
              value="2"
              c:identifier="JCAT_EXPORT_FLAG_NO_TIMESTAMP">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="24">Do not export timestamps</doc>
      </member>
    </bitfield>
    <class name="File"
           c:symbol-prefix="file"
           c:type="JcatFile"
           parent="GObject.Object"
           glib:type-name="JcatFile"
           glib:get-type="jcat_file_get_type"
           glib:type-struct="FileClass">
      <source-position filename="../libjcat/jcat-file.h" line="22"/>
      <constructor name="new" c:identifier="jcat_file_new" version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="528">Creates a new file.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="24"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="533">a #JcatFile</doc>
          <type name="File" c:type="JcatFile*"/>
        </return-value>
      </constructor>
      <method name="add_item"
              c:identifier="jcat_file_add_item"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="474">Adds an item to a file.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="476">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="477">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="export_file"
              c:identifier="jcat_file_export_file"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="336">Exports a Jcat file to a compressed file.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="346">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="338">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="gfile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="339">#gfile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="340">a #JcatExportFlags, typically %JCAT_EXPORT_FLAG_NONE</doc>
            <type name="ExportFlags" c:type="JcatExportFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="341">#GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="export_json"
              c:identifier="jcat_file_export_json"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="263">Exports a Jcat file to raw JSON.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="271">JSON output, or %NULL for error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="265">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="266">a #JcatExportFlags, typically %JCAT_EXPORT_FLAG_NONE</doc>
            <type name="ExportFlags" c:type="JcatExportFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="export_stream"
              c:identifier="jcat_file_export_stream"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="293">Exports a Jcat file to a compressed stream.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="303">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="295">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="ostream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="296">#GOutputStream</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="297">a #JcatExportFlags, typically %JCAT_EXPORT_FLAG_NONE</doc>
            <type name="ExportFlags" c:type="JcatExportFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="298">#GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item_by_id"
              c:identifier="jcat_file_get_item_by_id"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="387">Finds the item with the specified ID, falling back to the ID alias if set.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="395">a #JcatItem, or %NULL if the filename was not found</doc>
          <type name="Item" c:type="JcatItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="389">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="390">An ID, typically a filename basename</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item_default"
              c:identifier="jcat_file_get_item_default"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="434">Finds the default item. If more than one #JcatItem exists this function will
return with an error.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="442">a #JcatItem, or %NULL if no default exists</doc>
          <type name="Item" c:type="JcatItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="436">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_items"
              c:identifier="jcat_file_get_items"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="369">Returns all the items in the file.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="53"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="375">all the items in the file</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Item"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="371">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version_major"
              c:identifier="jcat_file_get_version_major"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="492">Returns the major version number of the Jcat specification</doc>
        <source-position filename="../libjcat/jcat-file.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="498">integer</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="494">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version_minor"
              c:identifier="jcat_file_get_version_minor"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="510">Returns the minor version number of the Jcat specification</doc>
        <source-position filename="../libjcat/jcat-file.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="516">integer</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="512">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="import_file"
              c:identifier="jcat_file_import_file"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="230">Imports a compressed Jcat file from an input stream.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="240">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="232">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="gfile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="233">#gfile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="234">#JcatImportFlags, typically %JCAT_IMPORT_FLAG_NONE</doc>
            <type name="ImportFlags" c:type="JcatImportFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="235">#GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="import_json"
              c:identifier="jcat_file_import_json"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="163">Imports a Jcat file from raw JSON.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="172">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="165">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="json" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="166">JSON data</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="167">#JcatImportFlags, typically %JCAT_IMPORT_FLAG_NONE</doc>
            <type name="ImportFlags" c:type="JcatImportFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="import_stream"
              c:identifier="jcat_file_import_stream"
              version="0.1.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="191">Imports a compressed Jcat file from a file.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="201">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="193">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
          <parameter name="istream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="194">#GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="195">#JcatImportFlags, typically %JCAT_IMPORT_FLAG_NONE</doc>
            <type name="ImportFlags" c:type="JcatImportFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="196">#GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="jcat_file_to_string"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-file.c"
             line="67">Converts the #JcatFile to a string.</doc>
        <source-position filename="../libjcat/jcat-file.h" line="25"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-file.c"
               line="73">string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-file.c"
                 line="69">#JcatFile</doc>
            <type name="File" c:type="JcatFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="FileClass"
            c:type="JcatFileClass"
            glib:is-gtype-struct-for="File">
      <source-position filename="../libjcat/jcat-file.h" line="22"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="ImportFlags" c:type="JcatImportFlags">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-common.h"
           line="9">Flags used for importing.</doc>
      <source-position filename="../libjcat/jcat-common.h" line="19"/>
      <member name="none" value="0" c:identifier="JCAT_IMPORT_FLAG_NONE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="11">No flags set</doc>
      </member>
    </enumeration>
    <class name="Item"
           c:symbol-prefix="item"
           c:type="JcatItem"
           parent="GObject.Object"
           glib:type-name="JcatItem"
           glib:get-type="jcat_item_get_type"
           glib:type-struct="ItemClass">
      <source-position filename="../libjcat/jcat-item.h" line="21"/>
      <constructor name="new" c:identifier="jcat_item_new" version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="349">Creates a new item.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="23"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="355">a #JcatItem</doc>
          <type name="Item" c:type="JcatItem*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="351">An item ID, typically a file basename</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_alias_id"
              c:identifier="jcat_item_add_alias_id"
              version="0.1.1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="285">Adds an item alias ID. Alias IDs are matched when using functions such as
jcat_file_get_item_by_id().</doc>
        <source-position filename="../libjcat/jcat-item.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="287">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="288">An item ID alias, typically a file basename</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_blob"
              c:identifier="jcat_item_add_blob"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="235">Adds a new blob to the item.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="28"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="237">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
          <parameter name="blob" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="238">#JcatBlob</doc>
            <type name="Blob" c:type="JcatBlob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alias_ids"
              c:identifier="jcat_item_get_alias_ids"
              version="0.1.1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="331">Gets the list of alias IDs.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="35"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="337">array</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="333">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_blobs"
              c:identifier="jcat_item_get_blobs"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="189">Gets all the blobs for this item.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="25"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="195">blobs</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Blob"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="191">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_blobs_by_kind"
              c:identifier="jcat_item_get_blobs_by_kind"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="207">Gets the item blobs by a specific kind.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="26"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="214">blobs</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Blob"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="209">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="210">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
            <type name="BlobKind" c:type="JcatBlobKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="jcat_item_get_id" version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="267">Returns the item ID.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="273">string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="269">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_alias_id"
              c:identifier="jcat_item_remove_alias_id"
              version="0.1.1">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="308">Removes an item alias ID.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="310">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="311">An item ID alias, typically a file basename</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="jcat_item_to_string"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-item.c"
             line="65">Converts the #JcatItem to a string.</doc>
        <source-position filename="../libjcat/jcat-item.h" line="24"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-item.c"
               line="71">string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-item.c"
                 line="67">#JcatItem</doc>
            <type name="Item" c:type="JcatItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ItemClass"
            c:type="JcatItemClass"
            glib:is-gtype-struct-for="Item">
      <source-position filename="../libjcat/jcat-item.h" line="21"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Result"
           c:symbol-prefix="result"
           c:type="JcatResult"
           parent="GObject.Object"
           glib:type-name="JcatResult"
           glib:get-type="jcat_result_get_type"
           glib:type-struct="ResultClass">
      <source-position filename="../libjcat/jcat-result.h" line="13"/>
      <method name="get_authority"
              c:identifier="jcat_result_get_authority"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-result.c"
             line="67">Gets the signing authority, if set.</doc>
        <source-position filename="../libjcat/jcat-result.h" line="17"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-result.c"
               line="73">string, or %NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-result.c"
                 line="69">#JcatResult</doc>
            <type name="Result" c:type="JcatResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="jcat_result_get_kind"
              version="0.1.3">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-result.c"
             line="85">Gets the blob kind.</doc>
        <source-position filename="../libjcat/jcat-result.h" line="18"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-result.c"
               line="91">#JcatBlobKind, e.g. %JCAT_BLOB_KIND_SHA256</doc>
          <type name="BlobKind" c:type="JcatBlobKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-result.c"
                 line="87">#JcatResult</doc>
            <type name="Result" c:type="JcatResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_method"
              c:identifier="jcat_result_get_method"
              version="0.1.3">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-result.c"
             line="103">Gets the verification kind.</doc>
        <source-position filename="../libjcat/jcat-result.h" line="19"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-result.c"
               line="109">#JcatBlobMethod, e.g. %JCAT_BLOB_METHOD_SIGNATURE</doc>
          <type name="BlobMethod" c:type="JcatBlobMethod"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-result.c"
                 line="105">#JcatResult</doc>
            <type name="Result" c:type="JcatResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timestamp"
              c:identifier="jcat_result_get_timestamp"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-result.c"
             line="50">Gets the signing timestamp, if set.</doc>
        <source-position filename="../libjcat/jcat-result.h" line="16"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-result.c"
               line="56">UNIX timestamp, or 0 if unset</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-result.c"
                 line="52">#JcatResult</doc>
            <type name="Result" c:type="JcatResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="jcat_result_to_string"
              version="0.1.0">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-result.c"
             line="141">Converts the #JcatResult to a string.</doc>
        <source-position filename="../libjcat/jcat-result.h" line="15"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../libjcat/jcat-result.c"
               line="147">string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../libjcat/jcat-result.c"
                 line="143">#JcatResult</doc>
            <type name="Result" c:type="JcatResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="authority" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="engine"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Engine"/>
      </property>
      <property name="timestamp" writable="1" transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </property>
    </class>
    <record name="ResultClass"
            c:type="JcatResultClass"
            glib:is-gtype-struct-for="Result">
      <source-position filename="../libjcat/jcat-result.h" line="13"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <bitfield name="SignFlags" c:type="JcatSignFlags">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-common.h"
           line="53">The flags to when signing a binary</doc>
      <source-position filename="../libjcat/jcat-common.h" line="67"/>
      <member name="none" value="0" c:identifier="JCAT_SIGN_FLAG_NONE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="55">No flags set</doc>
      </member>
      <member name="add_timestamp"
              value="1"
              c:identifier="JCAT_SIGN_FLAG_ADD_TIMESTAMP">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="56">Add a timestamp</doc>
      </member>
      <member name="add_cert" value="2" c:identifier="JCAT_SIGN_FLAG_ADD_CERT">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="57">Add a certificate</doc>
      </member>
    </bitfield>
    <bitfield name="VerifyFlags" c:type="JcatVerifyFlags">
      <doc xml:space="preserve"
           filename="../libjcat/jcat-common.h"
           line="35">The flags to use when interacting with a keyring</doc>
      <source-position filename="../libjcat/jcat-common.h" line="51"/>
      <member name="none" value="0" c:identifier="JCAT_VERIFY_FLAG_NONE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="37">No flags set</doc>
      </member>
      <member name="disable_time_checks"
              value="4"
              c:identifier="JCAT_VERIFY_FLAG_DISABLE_TIME_CHECKS">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="38">Disable checking of validity periods</doc>
      </member>
      <member name="require_checksum"
              value="8"
              c:identifier="JCAT_VERIFY_FLAG_REQUIRE_CHECKSUM">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="39">Require that the #JcatItem contains at least one checksum</doc>
      </member>
      <member name="require_signature"
              value="16"
              c:identifier="JCAT_VERIFY_FLAG_REQUIRE_SIGNATURE">
        <doc xml:space="preserve"
             filename="../libjcat/jcat-common.h"
             line="40">Require that the #JcatItem contains at least one signature</doc>
      </member>
    </bitfield>
  </namespace>
</repository>
