<?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="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <c:include name="gnome-autoar/gnome-autoar.h"/>
  <namespace name="GnomeAutoar"
             version="0.1"
             shared-library="libgnome-autoar-0.so.0"
             c:identifier-prefixes="Autoar"
             c:symbol-prefixes="autoar">
    <class name="Compressor"
           c:symbol-prefix="compressor"
           c:type="AutoarCompressor"
           parent="GObject.Object"
           glib:type-name="AutoarCompressor"
           glib:get-type="autoar_compressor_get_type"
           glib:type-struct="CompressorClass">
      <source-position filename="autoar-compressor.h" line="38"/>
      <constructor name="new"
                   c:identifier="autoar_compressor_new"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1264">Create a new #AutoarCompressor object.</doc>
        <source-position filename="autoar-compressor.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="1274">a new #AutoarCompressor object</doc>
          <type name="Compressor" c:type="AutoarCompressor*"/>
        </return-value>
        <parameters>
          <parameter name="source_files" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1266">a #GList of source #GFiles to be archived</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="output_file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1267">output directory of the new archive, or the file name of the
new archive if you set #AutoarCompressor:output-is-dest on the returned object</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1269">the compression format</doc>
            <type name="Format" c:type="AutoarFormat"/>
          </parameter>
          <parameter name="filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1270">the compression filter</doc>
            <type name="Filter" c:type="AutoarFilter"/>
          </parameter>
          <parameter name="create_top_level_directory"
                     transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="quark" c:identifier="autoar_compressor_quark">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="64">Gets the #AutoarCompressor Error Quark.</doc>
        <source-position filename="autoar-compressor.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="69">a #GQuark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <method name="get_completed_files"
              c:identifier="autoar_compressor_get_completed_files">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="365">Gets the number of files has been read</doc>
        <source-position filename="autoar-compressor.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="371">number of files has been read</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="367">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_completed_size"
              c:identifier="autoar_compressor_get_completed_size">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="334">Gets the size in bytes has been read from the source files and directories.</doc>
        <source-position filename="autoar-compressor.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="340">file size in bytes has been read</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="336">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_create_top_level_directory"
              c:identifier="autoar_compressor_get_create_top_level_directory">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="303">Gets whether a top level directory will be created in the new archive.</doc>
        <source-position filename="autoar-compressor.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="309">whether a top level directory will be created</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="305">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_files" c:identifier="autoar_compressor_get_files">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="349">Gets the number of files will be read when the operation is completed. This
value is currently unset, so calling this function is useless.</doc>
        <source-position filename="autoar-compressor.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="356">total number of files</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="351">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_filter" c:identifier="autoar_compressor_get_filter">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="288">Gets the compression filter</doc>
        <source-position filename="autoar-compressor.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="294">the compression filter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="290">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_format" c:identifier="autoar_compressor_get_format">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="273">Gets the compression format</doc>
        <source-position filename="autoar-compressor.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="279">the compression format</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="275">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_notify_interval"
              c:identifier="autoar_compressor_get_notify_interval">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="396">See autoar_compressor_set_notify_interval().</doc>
        <source-position filename="autoar-compressor.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="402">the minimal interval in microseconds between the emission of the
#AutoarCompressor::progress signal.</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="398">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_file"
              c:identifier="autoar_compressor_get_output_file">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="256">If #AutoarCompressor:output_is_dest is %FALSE, gets the directory which
contains the new archive. Otherwise, gets the the new archive. See
autoar_compressor_set_output_is_dest().</doc>
        <source-position filename="autoar-compressor.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="264">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="258">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_is_dest"
              c:identifier="autoar_compressor_get_output_is_dest">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="380">See autoar_compressor_set_output_is_dest().</doc>
        <source-position filename="autoar-compressor.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="386">%TRUE if #AutoarCompressor:output is the location of the new
archive.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="382">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="autoar_compressor_get_size">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="318">Gets the size in bytes will be read when the operation is completed. This
value is currently unset, so calling this function is useless.</doc>
        <source-position filename="autoar-compressor.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="325">total file size in bytes</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="320">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_files"
              c:identifier="autoar_compressor_get_source_files"
              introspectable="0">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="241">Gets the list of source files.</doc>
        <source-position filename="autoar-compressor.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-compressor.c"
               line="247">a #GList with the source files</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="243">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_notify_interval"
              c:identifier="autoar_compressor_set_notify_interval">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="439">Sets the minimal interval between emission of #AutoarCompressor::progress
signal. This prevent too frequent signal emission, which may cause
performance impact. If you do not want this feature, you can set the
interval to 0, so you will receive every progress update.</doc>
        <source-position filename="autoar-compressor.h" line="76"/>
        <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="autoar-compressor.c"
                 line="441">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
          <parameter name="notify_interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="442">the minimal interval in microseconds</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_output_is_dest"
              c:identifier="autoar_compressor_set_output_is_dest">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="412">By default #AutoarCompressor:output-is-dest is set to %FALSE, which means
the new archive will be created as a regular file under
#AutoarCompressor:output directory. The name of the new archive will be
automatically generated and you will be notified via
#AutoarCompressor::decide-dest when the name is decided. If you have already
decided the location of the new archive, and you do not want
#AutoarCompressor to decide it for you, you can set
#AutoarCompressor:output-is-dest to %TRUE. #AutoarCompressor will use
#AutoarCompressor:output as the location of the new archive, and it will
neither check whether the file exists nor create the necessary
directories for you. This function should only be called before calling
autoar_compressor_start() or autoar_compressor_start_async().</doc>
        <source-position filename="autoar-compressor.h" line="74"/>
        <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="autoar-compressor.c"
                 line="414">an #AutoarCompressor</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
          <parameter name="output_is_dest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="415">%TRUE if the location of the new archive has been already
decided</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="autoar_compressor_start">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1573">Runs the archive creating work. All callbacks will be called in the same
thread as the caller of this functions.</doc>
        <source-position filename="autoar-compressor.h" line="57"/>
        <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="autoar-compressor.c"
                 line="1575">an #AutoarCompressor object</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1576">optional #GCancellable object, or %NULL to ignore</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_async" c:identifier="autoar_compressor_start_async">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1605">Asynchronously runs the archive creating work. You should connect to
#AutoarCompressor::cancelled, #AutoarCompressor::error, and
#AutoarCompressor::completed signal to get notification when the work is
terminated. All callbacks will be called in the main thread, so you can
safely manipulate GTK+ widgets in the callbacks.</doc>
        <source-position filename="autoar-compressor.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="autoar-compressor.c"
                 line="1607">an #AutoarCompressor object</doc>
            <type name="Compressor" c:type="AutoarCompressor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1608">optional #GCancellable object, or %NULL to ignore</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="completed-files" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="completed-size" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="create-top-level-directory"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="files" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="filter"
                introspectable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="format"
                introspectable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="notify-interval"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </property>
      <property name="output-file"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <property name="output-is-dest"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="size" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="source-files"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <glib:signal name="cancelled" when="last">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1180">This signal is emitted after archive creating job is cancelled by the
#GCancellable.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="completed" when="last">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1196">This signal is emitted after the archive creating job is successfully
completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="decide-dest" when="last">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1141">This signal is emitted when the location of the new archive is determined.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="destination" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1144">the location of the new archive</doc>
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="error" when="last">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1212">This signal is emitted when error occurs and all jobs should be terminated.
Possible error domains are %AUTOAR_COMPRESSOR_ERROR, %G_IO_ERROR, and
%AUTOAR_LIBARCHIVE_ERROR, which represent error occurs in #AutoarCompressor,
GIO, and libarchive, respectively. The #GError is owned by #AutoarCompressor
and should not be freed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1215">the #GError</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="progress" when="last">
        <doc xml:space="preserve"
             filename="autoar-compressor.c"
             line="1158">This signal is used to report progress of creating archives. The value of
@completed_size and @completed_files are the same as the
#AutoarCompressor:completed_size and #AutoarCompressor:completed_files properties,
respectively.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="completed_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1161">bytes has been read from source files and directories</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="completed_files" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-compressor.c"
                 line="1162">number of files and directories has been read</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CompressorClass"
            c:type="AutoarCompressorClass"
            glib:is-gtype-struct-for="Compressor">
      <source-position filename="autoar-compressor.h" line="38"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ConflictAction" c:type="AutoarConflictAction">
      <source-position filename="autoar-extractor.h" line="78"/>
      <member name="skip" value="0" c:identifier="AUTOAR_CONFLICT_SKIP">
      </member>
      <member name="overwrite"
              value="1"
              c:identifier="AUTOAR_CONFLICT_OVERWRITE">
      </member>
      <member name="change_destination"
              value="2"
              c:identifier="AUTOAR_CONFLICT_CHANGE_DESTINATION">
      </member>
    </enumeration>
    <class name="Extractor"
           c:symbol-prefix="extractor"
           c:type="AutoarExtractor"
           parent="GObject.Object"
           glib:type-name="AutoarExtractor"
           glib:get-type="autoar_extractor_get_type"
           glib:type-struct="ExtractorClass">
      <source-position filename="autoar-extractor.h" line="36"/>
      <constructor name="new" c:identifier="autoar_extractor_new">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1517">Create a new #AutoarExtractor object.</doc>
        <source-position filename="autoar-extractor.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="1526">a new #AutoarExtractor object</doc>
          <type name="Extractor" c:type="AutoarExtractor*"/>
        </return-value>
        <parameters>
          <parameter name="source_file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1519">source archive</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="output_file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1520">output directory of extracted file or directory, or the
file name of the extracted file or directory itself if you set
#AutoarExtractor:output-is-dest on the returned object</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="quark" c:identifier="autoar_extractor_quark">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="88">Gets the #AutoarExtractor Error Quark.</doc>
        <source-position filename="autoar-extractor.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="93">a #GQuark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <method name="get_completed_files"
              c:identifier="autoar_extractor_get_completed_files">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="345">Gets the number of files has been written to disk.</doc>
        <source-position filename="autoar-extractor.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="351">number of files has been written to disk</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="347">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_completed_size"
              c:identifier="autoar_extractor_get_completed_size">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="314">Gets the size in bytes has been written to disk.</doc>
        <source-position filename="autoar-extractor.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="320">size in bytes has been written</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="316">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delete_after_extraction"
              c:identifier="autoar_extractor_get_delete_after_extraction">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="376">Whether the source archive will be deleted after a successful extraction.</doc>
        <source-position filename="autoar-extractor.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="382">%TRUE if the source archive will be deleted after a succesful
extraction</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="378">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_notify_interval"
              c:identifier="autoar_extractor_get_notify_interval">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="392">See autoar_extractor_set_notify_interval().</doc>
        <source-position filename="autoar-extractor.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="398">the minimal interval in microseconds between the emission of the
#AutoarExtractor::progress signal.</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="394">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_file"
              c:identifier="autoar_extractor_get_output_file">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="283">This function is similar to autoar_extractor_get_output(), except for the
return value is a #GFile.</doc>
        <source-position filename="autoar-extractor.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="290">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="285">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_is_dest"
              c:identifier="autoar_extractor_get_output_is_dest">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="360">See autoar_extractor_set_output_is_dest().</doc>
        <source-position filename="autoar-extractor.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="366">%TRUE if #AutoarExtractor:output is the location of extracted file
or directory</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="362">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_file"
              c:identifier="autoar_extractor_get_source_file">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="267">Gets the #GFile object which represents the source archive that will be
extracted for this object.</doc>
        <source-position filename="autoar-extractor.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="274">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="269">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_total_files"
              c:identifier="autoar_extractor_get_total_files">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="329">Gets the total number of files will be written when the operation is
completed.</doc>
        <source-position filename="autoar-extractor.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="336">total number of extracted files</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="331">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_total_size"
              c:identifier="autoar_extractor_get_total_size">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="299">Gets the size in bytes will be written when the operation is completed.</doc>
        <source-position filename="autoar-extractor.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="305">total size of extracted files in bytes</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="301">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_delete_after_extraction"
              c:identifier="autoar_extractor_set_delete_after_extraction">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="436">By default #AutoarExtractor:delete-after-extraction is set to %FALSE so the
source archive will not be automatically deleted if extraction succeeds.</doc>
        <source-position filename="autoar-extractor.h" line="69"/>
        <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="autoar-extractor.c"
                 line="438">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
          <parameter name="delete_if_succeed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_notify_interval"
              c:identifier="autoar_extractor_set_notify_interval">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="453">Sets the minimal interval between emission of #AutoarExtractor::progress
signal. This prevent too frequent signal emission, which may cause
performance impact. If you do not want this feature, you can set the interval
to 0, so you will receive every progress update.</doc>
        <source-position filename="autoar-extractor.h" line="71"/>
        <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="autoar-extractor.c"
                 line="455">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
          <parameter name="notify_interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="456">the minimal interval in microseconds</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_output_is_dest"
              c:identifier="autoar_extractor_set_output_is_dest">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="408">By default #AutoarExtractor:output-is-dest is set to %FALSE, which means
only one file or directory will be generated. The destination is internally
determined by analyzing the contents of the archive. If this is not wanted,
#AutoarExtractor:output-is-dest can be set to %TRUE, which will make
#AutoarExtractor:output the destination for extracted files. In any case, the
destination will be notified via #AutoarExtractor::decide-destination, when
it is possible to set a new destination.

#AutoarExtractor will attempt to create the destination regardless to whether
its path was internally decided or not.

This function should only be called before calling autoar_extractor_start() or
autoar_extractor_start_async().</doc>
        <source-position filename="autoar-extractor.h" line="67"/>
        <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="autoar-extractor.c"
                 line="410">an #AutoarExtractor</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
          <parameter name="output_is_dest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="411">%TRUE if the location of the extracted directory or file
has been already decided</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="autoar_extractor_start">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1990">Runs the archive extracting work. All callbacks will be called in the same
thread as the caller of this functions.</doc>
        <source-position filename="autoar-extractor.h" line="52"/>
        <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="autoar-extractor.c"
                 line="1992">an #AutoarExtractor object</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1993">optional #GCancellable object, or %NULL to ignore</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_async" c:identifier="autoar_extractor_start_async">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="2023">Asynchronously runs the archive extracting work. You should connect to
#AutoarExtractor::cancelled, #AutoarExtractor::error, and
#AutoarExtractor::completed signal to get notification when the work is
terminated. All callbacks will be called in the main thread, so you can
safely manipulate GTK+ widgets in the callbacks.</doc>
        <source-position filename="autoar-extractor.h" line="54"/>
        <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="autoar-extractor.c"
                 line="2025">an #AutoarExtractor object</doc>
            <type name="Extractor" c:type="AutoarExtractor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="2026">optional #GCancellable object, or %NULL to ignore</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="completed-files" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="completed-size" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="delete-after-extraction"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="notify-interval"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </property>
      <property name="output-file"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <property name="output-is-dest"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="source-file"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <property name="total-files" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="total-size" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <glib:signal name="cancelled" when="last">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1430">This signal is emitted after archive extracting job is cancelled by the
#GCancellable.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="completed" when="last">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1446">This signal is emitted after the archive extracting job is successfully
completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="conflict" when="last">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="1414">the action to be performed by #AutoarExtractor

This signal is used to report and offer the possibility to solve name
conflicts when extracting files.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1411">the file that caused a conflict</doc>
            <type name="Gio.File"/>
          </parameter>
          <parameter name="new_file"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1412">an address to store the new destination for a conflict file</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="decide-destination" when="last">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="autoar-extractor.c"
               line="1371">a new destination that will overwrite the previous
                          one, or %NULL if this is not wanted

This signal is emitted when the path of the destination is determined. It is
useful for solving name conflicts or for setting a new destination, based on
the contents of the archive.</doc>
          <type name="GObject.Object"/>
        </return-value>
        <parameters>
          <parameter name="destination" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1367">the location where files will be extracted</doc>
            <type name="Gio.File"/>
          </parameter>
          <parameter name="files"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1368">the list of files to be extracted. All have @destination as their
           common prefix</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="error" when="last">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1462">This signal is emitted when error occurs and all jobs should be terminated.
Possible error domains are %AUTOAR_EXTRACTOR_ERROR, %G_IO_ERROR, and
%AUTOAR_LIBARCHIVE_ERROR, which represent error occurs in #AutoarExtractor,
GIO, and libarchive, respectively. The #GError is owned by #AutoarExtractor
and should not be freed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1465">the #GError</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="progress" when="last">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1389">This signal is used to report progress of creating archives.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="completed_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1392">bytes has been written to disk</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="completed_files" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1393">number of files have been written to disk</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="scanned" when="last">
        <doc xml:space="preserve"
             filename="autoar-extractor.c"
             line="1346">This signal is emitted when #AutoarExtractor finish scanning filename entries
in the source archive.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="files" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="autoar-extractor.c"
                 line="1349">the number of files will be extracted from the source archive</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ExtractorClass"
            c:type="AutoarExtractorClass"
            glib:is-gtype-struct-for="Extractor">
      <source-position filename="autoar-extractor.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="Filter" c:type="AutoarFilter">
      <doc xml:space="preserve"
           filename="autoar-format-filter.h"
           line="83">This is a non-negative number which represents filters supported by
libarchive. A libarchive filter is a filter which can convert a
regular file into a compressed file.</doc>
      <source-position filename="autoar-format-filter.h" line="116"/>
      <member name="none" value="1" c:identifier="AUTOAR_FILTER_NONE">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="85">%ARCHIVE_FILTER_NONE: No filter</doc>
      </member>
      <member name="compress" value="2" c:identifier="AUTOAR_FILTER_COMPRESS">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="86">%ARCHIVE_FILTER_COMPRESS: UNIX-compressed</doc>
      </member>
      <member name="gzip" value="3" c:identifier="AUTOAR_FILTER_GZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="87">%ARCHIVE_FILTER_GZIP: Gzip</doc>
      </member>
      <member name="bzip2" value="4" c:identifier="AUTOAR_FILTER_BZIP2">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="88">%ARCHIVE_FILTER_BZIP2: Bzip2</doc>
      </member>
      <member name="xz" value="5" c:identifier="AUTOAR_FILTER_XZ">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="89">%ARCHIVE_FILTER_XZ: XZ</doc>
      </member>
      <member name="lzma" value="6" c:identifier="AUTOAR_FILTER_LZMA">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="90">%ARCHIVE_FILTER_LZMA: LZMA</doc>
      </member>
      <member name="lzip" value="7" c:identifier="AUTOAR_FILTER_LZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="91">%ARCHIVE_FILTER_LZIP: Lzip</doc>
      </member>
      <member name="lzop" value="8" c:identifier="AUTOAR_FILTER_LZOP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="92">%ARCHIVE_FILTER_LZOP: LZO</doc>
      </member>
      <member name="grzip" value="9" c:identifier="AUTOAR_FILTER_GRZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="93">%ARCHIVE_FILTER_GRZIP: GRZip</doc>
      </member>
      <member name="lrzip" value="10" c:identifier="AUTOAR_FILTER_LRZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="94">%ARCHIVE_FILTER_LRZIP: Long Range ZIP (lrzip)</doc>
      </member>
    </enumeration>
    <callback name="FilterFunc" c:type="AutoarFilterFunc">
      <source-position filename="autoar-format-filter.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="a"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="archive*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="Format" c:type="AutoarFormat">
      <doc xml:space="preserve"
           filename="autoar-format-filter.h"
           line="34">This is a non-negative number which represents formats supported by
libarchive. A libarchive format is a file format which can store many
files as a archive file.</doc>
      <source-position filename="autoar-format-filter.h" line="81"/>
      <member name="zip" value="1" c:identifier="AUTOAR_FORMAT_ZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="36">%ARCHIVE_FORMAT_ZIP: Zip archive</doc>
      </member>
      <member name="tar" value="2" c:identifier="AUTOAR_FORMAT_TAR">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="37">%ARCHIVE_FORMAT_TAR_PAX_RESTRICTED: Tar archive, use
  ustar format is possible. If there are extended headers which cannot be
  represented in the ustar format, libarchive will use pax interchage format
  instead.</doc>
      </member>
      <member name="cpio" value="3" c:identifier="AUTOAR_FORMAT_CPIO">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="41">%ARCHIVE_FORMAT_CPIO_POSIX: CPIO archive, POSIX
  standard cpio interchage format.</doc>
      </member>
      <member name="7zip" value="4" c:identifier="AUTOAR_FORMAT_7ZIP">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="43">%ARCHIVE_FORMAT_7ZIP: 7-zip archive</doc>
      </member>
      <member name="ar_bsd" value="5" c:identifier="AUTOAR_FORMAT_AR_BSD">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="44">%ARCHIVE_FORMAT_AR_BSD: BSD variant of Unix archive
  format. This format does not support storing directories.</doc>
      </member>
      <member name="ar_svr4" value="6" c:identifier="AUTOAR_FORMAT_AR_SVR4">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="46">%ARCHIVE_FORMAT_AR_GNU: GNU/SVR4 variant of Unix
  archive format. This format does not support storing directories.</doc>
      </member>
      <member name="cpio_newc"
              value="7"
              c:identifier="AUTOAR_FORMAT_CPIO_NEWC">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="48">%ARCHIVE_FORMAT_CPIO_SVR4_NOCRC: CPIO archive,
  SVR4 non-CRC variant</doc>
      </member>
      <member name="gnutar" value="8" c:identifier="AUTOAR_FORMAT_GNUTAR">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="50">%ARCHIVE_FORMAT_TAR_GNUTAR: Tar archive, support
  most popular GNU extensions.</doc>
      </member>
      <member name="iso9660" value="9" c:identifier="AUTOAR_FORMAT_ISO9660">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="52">%ARCHIVE_FORMAT_ISO9660: Raw CD image</doc>
      </member>
      <member name="pax" value="10" c:identifier="AUTOAR_FORMAT_PAX">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="53">%ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE: Tar archive, use
  pax interchage format</doc>
      </member>
      <member name="ustar" value="11" c:identifier="AUTOAR_FORMAT_USTAR">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="55">%ARCHIVE_FORMAT_TAR_USTAR: Tar archive, use old
  ustar format</doc>
      </member>
      <member name="xar" value="12" c:identifier="AUTOAR_FORMAT_XAR">
        <doc xml:space="preserve"
             filename="autoar-format-filter.h"
             line="57">%ARCHIVE_FORMAT_XAR: Xar archive</doc>
      </member>
    </enumeration>
    <callback name="FormatFunc" c:type="AutoarFormatFunc">
      <source-position filename="autoar-format-filter.h" line="118"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="a"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="archive*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="check_mime_type_supported"
              c:identifier="autoar_check_mime_type_supported">
      <doc xml:space="preserve"
           filename="autoar-mime-types.c"
           line="67">Checks whether a mime type is supported by autoar. This function does no
blocking IO.</doc>
      <source-position filename="autoar-mime-types.h" line="32"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-mime-types.c"
             line="74">an #AutoarFilter</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="mime_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-mime-types.c"
               line="69">a string representing the mime type</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_description"
              c:identifier="autoar_filter_get_description">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="393">Gets description of the filter from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="135"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="399">description about the filter</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="395">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_description_libarchive"
              c:identifier="autoar_filter_get_description_libarchive">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="424">Gets description of the filter from libarchive. This function creates
and destroys an archive object in order to get the description string.</doc>
      <source-position filename="autoar-format-filter.h" line="136"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="431">description about the filter. Free the returned
string with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="426">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_extension"
              c:identifier="autoar_filter_get_extension">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="378">Gets the file name extension of the filter from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="134"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="384">a file name extension</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="380">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_filter_libarchive"
              c:identifier="autoar_filter_get_filter_libarchive">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="408">Gets the filter code used by libarchive. You can use the return value
as the argument for archive_write_add_filter().</doc>
      <source-position filename="autoar-format-filter.h" line="137"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="415">an integer</doc>
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="410">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_libarchive_read"
              c:identifier="autoar_filter_get_libarchive_read"
              introspectable="0">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="450">Gets the function used to add filter on the object returned by
archive_read_new().</doc>
      <source-position filename="autoar-format-filter.h" line="138"/>
      <return-value>
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="457">function pointer to the setter function provided by libarchive</doc>
        <type name="FilterFunc" c:type="AutoarFilterFunc"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="452">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_libarchive_write"
              c:identifier="autoar_filter_get_libarchive_write"
              introspectable="0">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="466">Gets the function used to add filter on the object returned by
archive_write_new().</doc>
      <source-position filename="autoar-format-filter.h" line="139"/>
      <return-value>
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="473">function pointer to the setter function provided by libarchive</doc>
        <type name="FilterFunc" c:type="AutoarFilterFunc"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="468">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_get_mime_type"
              c:identifier="autoar_filter_get_mime_type">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="363">Gets the MIME type of the filter from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="133"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="369">an MIME type</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="365">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_is_valid" c:identifier="autoar_filter_is_valid">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="349">Checks whether an #AutoarFilter is valid.</doc>
      <source-position filename="autoar-format-filter.h" line="132"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="355">%TRUE if the value of @filter is valid</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="351">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="filter_last" c:identifier="autoar_filter_last">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="336">Gets the maximal allowed values of #AutoarFilter</doc>
      <source-position filename="autoar-format-filter.h" line="131"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="341">maximal allowed values of #AutoarFilter</doc>
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="format_filter_get_description"
              c:identifier="autoar_format_filter_get_description">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="549">Gets the description for an archive @format compressed by
@filter using #GContentType and autoar_format_filter_get_mime_type().</doc>
      <source-position filename="autoar-format-filter.h" line="145"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="557">description about the archive. Free the returned
string with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="551">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="552">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_filter_get_extension"
              c:identifier="autoar_format_filter_get_extension">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="524">Gets the file name extension for an archive @format compressed by
@filter. The first character of the returned string is always '.'</doc>
      <source-position filename="autoar-format-filter.h" line="143"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="532">a file name extension. Free the returned string
with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="526">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="527">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_filter_get_mime_type"
              c:identifier="autoar_format_filter_get_mime_type">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="482">Gets the MIME type for an archive @format compressed by
@filter. This function always succeed, but it is not guaranteed
that the returned MIME type exists and can be recognized by applications.
Some combination of format and filter seldom exists in application,
so this function can only generate the string based on some
non-standard rules.</doc>
      <source-position filename="autoar-format-filter.h" line="141"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="494">an MIME type. Free the returned
string with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="484">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
        <parameter name="filter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="485">an #AutoarFilter</doc>
          <type name="Filter" c:type="AutoarFilter"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_description"
              c:identifier="autoar_format_get_description">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="242">Gets description of the format from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="125"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="248">description about the format</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="244">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_description_libarchive"
              c:identifier="autoar_format_get_description_libarchive">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="278">Gets description of the format from libarchive. This function creates
and destroys an archive object in order to get the description string.</doc>
      <source-position filename="autoar-format-filter.h" line="126"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="285">description about the format. Free the returned
string with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="280">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_extension"
              c:identifier="autoar_format_get_extension">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="227">Gets the file name extension of the format from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="124"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="233">a file name extension</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="229">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_format_libarchive"
              c:identifier="autoar_format_get_format_libarchive">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="257">Gets the format code used by libarchive. You can use the return value
as the argument for archive_read_support_format_by_code() and
archive_write_set_format(). However, some format cannot be set using
these two functions because of problems inside libarchive. Use
autoar_format_get_libarchive_read() and
autoar_format_get_libarchive_write() to get the function pointer
is the more reliable way to set format on the archive object.</doc>
      <source-position filename="autoar-format-filter.h" line="127"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="269">an integer</doc>
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="259">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_libarchive_read"
              c:identifier="autoar_format_get_libarchive_read"
              introspectable="0">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="304">Gets the function used to set format on the object returned by
archive_read_new().</doc>
      <source-position filename="autoar-format-filter.h" line="128"/>
      <return-value>
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="311">function pointer to the setter function provided by libarchive</doc>
        <type name="FormatFunc" c:type="AutoarFormatFunc"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="306">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_libarchive_write"
              c:identifier="autoar_format_get_libarchive_write"
              introspectable="0">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="320">Gets the function used to set format on the object returned by
archive_write_new().</doc>
      <source-position filename="autoar-format-filter.h" line="129"/>
      <return-value>
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="327">function pointer to the setter function provided by libarchive</doc>
        <type name="FormatFunc" c:type="AutoarFormatFunc"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="322">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_get_mime_type"
              c:identifier="autoar_format_get_mime_type">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="212">Gets the MIME type of the format from the internal static data.</doc>
      <source-position filename="autoar-format-filter.h" line="123"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="218">an MIME type</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="214">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_is_valid" c:identifier="autoar_format_is_valid">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="198">Checks whether an #AutoarFormat is valid.</doc>
      <source-position filename="autoar-format-filter.h" line="122"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="204">%TRUE if the value of @format is valid</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-format-filter.c"
               line="200">an #AutoarFormat</doc>
          <type name="Format" c:type="AutoarFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_last" c:identifier="autoar_format_last">
      <doc xml:space="preserve"
           filename="autoar-format-filter.c"
           line="185">Gets the maximal allowed values of #AutoarFormat</doc>
      <source-position filename="autoar-format-filter.h" line="121"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-format-filter.c"
             line="190">maximal allowed values of #AutoarFormat</doc>
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="libarchive_quark" c:identifier="autoar_libarchive_quark">
      <doc xml:space="preserve"
           filename="autoar-misc.c"
           line="41">Gets the libarchive Error Quark.</doc>
      <source-position filename="autoar-misc.h" line="43"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-misc.c"
             line="46">a #GQuark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="query_mime_type_supported"
              c:identifier="autoar_query_mime_type_supported">
      <doc xml:space="preserve"
           filename="autoar-mime-types.c"
           line="86">This function will query the file's mime type and then call
autoar_check_mime_type_supported(), so it does blocking IO.</doc>
      <source-position filename="autoar-mime-types.h" line="33"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="autoar-mime-types.c"
             line="93">an #AutoarFilter</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="autoar-mime-types.c"
               line="88">a #GFile to check if its mime type is supported</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
