<?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"/>
  <package name="flatpak"/>
  <c:include name="flatpak.h"/>
  <namespace name="Flatpak"
             version="1.0"
             shared-library="libflatpak.so.0"
             c:identifier-prefixes="Flatpak"
             c:symbol-prefixes="flatpak">
    <class name="BundleRef"
           c:symbol-prefix="bundle_ref"
           c:type="FlatpakBundleRef"
           parent="Ref"
           glib:type-name="FlatpakBundleRef"
           glib:get-type="flatpak_bundle_ref_get_type"
           glib:type-struct="BundleRefClass">
      <constructor name="new" c:identifier="flatpak_bundle_ref_new" throws="1">
        <doc xml:space="preserve">Creates a new bundle ref for the given file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new bundle ref.</doc>
          <type name="BundleRef" c:type="FlatpakBundleRef*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_appstream"
              c:identifier="flatpak_bundle_ref_get_appstream">
        <doc xml:space="preserve">Get the compressed appstream for the app/runtime</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #GBytes with the appstream contents, or %NULL</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file" c:identifier="flatpak_bundle_ref_get_file">
        <doc xml:space="preserve">Get the file this bundle is stored in.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="flatpak_bundle_ref_get_icon">
        <doc xml:space="preserve">Get the icon png data for the app/runtime</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #GBytes with png contents</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve">64 or 128</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_installed_size"
              c:identifier="flatpak_bundle_ref_get_installed_size">
        <doc xml:space="preserve">Returns the installed size for the bundle.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the installed size</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata"
              c:identifier="flatpak_bundle_ref_get_metadata">
        <doc xml:space="preserve">Get the metadata for the app/runtime</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #GBytes with the metadata contents, or %NULL</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_origin" c:identifier="flatpak_bundle_ref_get_origin">
        <doc xml:space="preserve">Get the origin url stored in the bundle</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an url string, or %NULL</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakBundleRef</doc>
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_repo_url"
              c:identifier="flatpak_bundle_ref_get_runtime_repo_url">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BundleRef" c:type="FlatpakBundleRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="file" writable="1" transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <field name="parent">
        <type name="Ref" c:type="FlatpakRef"/>
      </field>
    </class>
    <record name="BundleRefClass"
            c:type="FlatpakBundleRefClass"
            glib:is-gtype-struct-for="BundleRef">
      <field name="parent_class">
        <type name="RefClass" c:type="FlatpakRefClass"/>
      </field>
    </record>
    <enumeration name="Error"
                 glib:type-name="FlatpakError"
                 glib:get-type="flatpak_error_get_type"
                 c:type="FlatpakError"
                 glib:error-domain="flatpak-error-quark">
      <doc xml:space="preserve">Error codes for library functions.</doc>
      <member name="already_installed"
              value="0"
              c:identifier="FLATPAK_ERROR_ALREADY_INSTALLED"
              glib:nick="already-installed">
        <doc xml:space="preserve">App/runtime is already installed</doc>
      </member>
      <member name="not_installed"
              value="1"
              c:identifier="FLATPAK_ERROR_NOT_INSTALLED"
              glib:nick="not-installed">
        <doc xml:space="preserve">App/runtime is not installed</doc>
      </member>
      <function name="quark" c:identifier="flatpak_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <enumeration name="InstallFlags"
                 glib:type-name="FlatpakInstallFlags"
                 glib:get-type="flatpak_install_flags_get_type"
                 c:type="FlatpakInstallFlags">
      <doc xml:space="preserve">Flags to alter the behavior of flatpak_installation_install_full().</doc>
      <member name="none"
              value="0"
              c:identifier="FLATPAK_INSTALL_FLAGS_NONE"
              glib:nick="none">
        <doc xml:space="preserve">Default</doc>
      </member>
    </enumeration>
    <class name="Installation"
           c:symbol-prefix="installation"
           c:type="FlatpakInstallation"
           parent="GObject.Object"
           glib:type-name="FlatpakInstallation"
           glib:get-type="flatpak_installation_get_type"
           glib:type-struct="InstallationClass">
      <constructor name="new_for_path"
                   c:identifier="flatpak_installation_new_for_path"
                   throws="1">
        <doc xml:space="preserve">Creates a new #FlatpakInstallation for the installation at the given @path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #FlatpakInstallation</doc>
          <type name="Installation" c:type="FlatpakInstallation*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve">whether this is a user-specific location</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_system"
                   c:identifier="flatpak_installation_new_system"
                   throws="1">
        <doc xml:space="preserve">Creates a new #FlatpakInstallation for the system-wide installation.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #FlatpakInstallation</doc>
          <type name="Installation" c:type="FlatpakInstallation*"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_system_with_id"
                   c:identifier="flatpak_installation_new_system_with_id"
                   version="0.8"
                   throws="1">
        <doc xml:space="preserve">Creates a new #FlatpakInstallation for the system-wide installation @id.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #FlatpakInstallation</doc>
          <type name="Installation" c:type="FlatpakInstallation*"/>
        </return-value>
        <parameters>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the ID of the system-wide installation</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_user"
                   c:identifier="flatpak_installation_new_user"
                   throws="1">
        <doc xml:space="preserve">Creates a new #FlatpakInstallation for the per-user installation.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #FlatpakInstallation</doc>
          <type name="Installation" c:type="FlatpakInstallation*"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="create_monitor"
              c:identifier="flatpak_installation_create_monitor"
              throws="1">
        <doc xml:space="preserve">Gets monitor object for the installation. The returned file monitor will
emit the #GFileMonitor::changed signal whenever an application or runtime
was installed, uninstalled or updated.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GFileMonitor instance, or %NULL on error</doc>
          <type name="Gio.FileMonitor" c:type="GFileMonitor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="drop_caches"
              c:identifier="flatpak_installation_drop_caches"
              throws="1">
        <doc xml:space="preserve">Drops all internal (in-memory) caches. For instance, this may be needed to pick up new or changed
remotes configured outside this installation instance.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_remote_metadata_sync"
              c:identifier="flatpak_installation_fetch_remote_metadata_sync"
              throws="1">
        <doc xml:space="preserve">Obtains the metadata file from a commit.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GBytes containing the flatpak metadata file,
  or %NULL if an error occurred</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve">the ref</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_remote_ref_sync"
              c:identifier="flatpak_installation_fetch_remote_ref_sync"
              throws="1">
        <doc xml:space="preserve">Gets the current remote branch of a ref in the remote.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #FlatpakRemoteRef instance, or %NULL</doc>
          <type name="RemoteRef" c:type="FlatpakRemoteRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">what this ref contains (an #FlatpakRefKind)</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app/runtime to fetch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which branch to fetch (default: 'master')</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_remote_size_sync"
              c:identifier="flatpak_installation_fetch_remote_size_sync"
              throws="1">
        <doc xml:space="preserve">Gets information about the maximum amount of data that needs to be transferred
to pull the ref from a remote repository, and about the amount of
local disk space that is required to check out this commit.

Note that if there are locally available data that are in the ref, which is common
for instance if you're doing an update then the real download size may be smaller
than what is returned here.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE, unless an error occurred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve">the ref</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </parameter>
          <parameter name="download_size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">return location for the (maximum) download size</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
          <parameter name="installed_size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">return location for the installed size</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_installed_app"
              c:identifier="flatpak_installation_get_current_installed_app"
              throws="1">
        <doc xml:space="preserve">Get the last build of reference @name that was installed with
flatpak_installation_install(), or %NULL if the reference has
never been installed locally.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #FlatpakInstalledRef</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the app</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="flatpak_installation_get_display_name"
              version="0.8">
        <doc xml:space="preserve">Returns the display name of the system installation for @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string with the installation's display name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="flatpak_installation_get_id"
              version="0.8">
        <doc xml:space="preserve">Returns the ID of the system installation for @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string with the installation's ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_installed_ref"
              c:identifier="flatpak_installation_get_installed_ref"
              throws="1">
        <doc xml:space="preserve">Returns information about an installed ref, such as the available builds,
its size, location, etc.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #FlatpakInstalledRef, or %NULL if an error occurred</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">whether this is an app or runtime</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app/runtime to fetch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which branch to fetch (default: "master")</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_is_user"
              c:identifier="flatpak_installation_get_is_user">
        <doc xml:space="preserve">Returns whether the installation is for a user-specific location.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @self is a per-user installation</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_path" c:identifier="flatpak_installation_get_path">
        <doc xml:space="preserve">Returns the installation location for @self.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="flatpak_installation_get_priority"
              version="0.8">
        <doc xml:space="preserve">Returns the numeric priority of the system installation for @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">an integer with the configured priority value</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remote_by_name"
              c:identifier="flatpak_installation_get_remote_by_name"
              throws="1">
        <doc xml:space="preserve">Looks up a remote by name.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #FlatpakRemote instances, or %NULL error</doc>
          <type name="Remote" c:type="FlatpakRemote*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">a remote name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_storage_type"
              c:identifier="flatpak_installation_get_storage_type"
              version="0.8">
        <doc xml:space="preserve">Returns the type of storage of the system installation for @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #FlatpakStorageType</doc>
          <type name="StorageType" c:type="FlatpakStorageType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="install"
              c:identifier="flatpak_installation_install"
              throws="1">
        <doc xml:space="preserve">Install a new application or runtime.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The ref for the newly installed app or %NULL on failure</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the remote to use</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">what this ref contains (an #FlatpakRefKind)</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app/runtime to fetch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which branch to fetch (default: 'master')</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="6">
            <doc xml:space="preserve">progress callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_bundle"
              c:identifier="flatpak_installation_install_bundle"
              throws="1">
        <doc xml:space="preserve">Install an application or runtime from an flatpak bundle file.
See flatpak-build-bundle(1) for how to create brundles.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The ref for the newly installed app or %NULL on failure</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile that is an flatpak bundle</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve">progress callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_full"
              c:identifier="flatpak_installation_install_full"
              throws="1">
        <doc xml:space="preserve">Install a new application or runtime.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The ref for the newly installed app or %NULL on failure</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">set of #FlatpakInstallFlags flag</doc>
            <type name="InstallFlags" c:type="FlatpakInstallFlags"/>
          </parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the remote to use</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">what this ref contains (an #FlatpakRefKind)</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app/runtime to fetch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which branch to fetch (default: 'master')</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="subpaths"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A list of subpaths to fetch, or %NULL for everything</doc>
            <type name="utf8" c:type="const char* const*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="8">
            <doc xml:space="preserve">progress callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_ref_file"
              c:identifier="flatpak_installation_install_ref_file"
              version="0.6.10"
              throws="1">
        <doc xml:space="preserve">Creates a remote based on the passed in .flatpakref file contents
in @ref_file_data and returns the #FlatpakRemoteRef that can be used
to install it.

Note, the #FlatpakRemoteRef will not have the commit field set, to
avoid unnecessary roundtrips. If you need that you have to resolve it
explicitly with flatpak_installation_fetch_remote_ref_sync ().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #FlatpakRemoteRef if the remote has been added successfully, %NULL
on error.</doc>
          <type name="RemoteRef" c:type="FlatpakRemoteRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="ref_file_data" transfer-ownership="none">
            <doc xml:space="preserve">The ref file contents</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch"
              c:identifier="flatpak_installation_launch"
              throws="1">
        <doc xml:space="preserve">Launch an installed application.

You can use flatpak_installation_get_installed_ref() or
flatpak_installation_get_current_installed_app() to find out what builds
are available, in order to get a value for @commit.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE, unless an error occurred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app to launch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to launch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which branch of the application (default: "master")</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="commit"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the commit of @branch to launch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_installed_refs"
              c:identifier="flatpak_installation_list_installed_refs"
              throws="1">
        <doc xml:space="preserve">Lists the installed references.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakInstalledRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="InstalledRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_installed_refs_by_kind"
              c:identifier="flatpak_installation_list_installed_refs_by_kind"
              throws="1">
        <doc xml:space="preserve">Lists the installed references of a specific kind.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakInstalledRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="InstalledRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">the kind of installation</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_installed_refs_for_update"
              c:identifier="flatpak_installation_list_installed_refs_for_update"
              throws="1">
        <doc xml:space="preserve">Lists the installed references that has a remote update that is not
locally available. However, even though an app is not returned by this
it can have local updates available that has not been deployed. Look
at commit vs latest_commit on installed apps for this.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakInstalledRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="InstalledRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_installed_related_refs_sync"
              c:identifier="flatpak_installation_list_installed_related_refs_sync"
              version="0.6.7"
              throws="1">
        <doc xml:space="preserve">Lists all the locally installed refs from @remote_name that are
related to @ref. These are things that are interesting to install,
update, or uninstall together with @ref. For instance, locale data
or debug information.

This function is similar to flatpak_installation_list_remote_related_refs_sync,
but instead of looking at what is available on the remote, it only looks
at the locally installed refs. This is useful for instance when you're
looking for related refs to uninstall, or when you're planning to use
FLATPAK_UPDATE_FLAGS_NO_PULL to install previously pulled refs.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakRelatedRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="RelatedRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_remote_refs_sync"
              c:identifier="flatpak_installation_list_remote_refs_sync"
              throws="1">
        <doc xml:space="preserve">Lists all the applications and runtimes in a remote.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakRemoteRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="RemoteRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_remote_related_refs_sync"
              c:identifier="flatpak_installation_list_remote_related_refs_sync"
              version="0.6.7"
              throws="1">
        <doc xml:space="preserve">Lists all the available refs on @remote_name that are related to
@ref, and the subpaths to use. These are things that are
interesting to install, update, or uninstall together with
@ref. For instance, locale data or debug information.

The returned list contains all available related refs, but not
everyone should always be installed. For example,
flatpak_related_ref_should_download () returns TRUE if the
reference should be installed/updated with the app, and
flatpak_related_ref_should_delete () returns TRUE if it
should be uninstalled with the main ref.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakRelatedRef instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="RelatedRef"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_remotes"
              c:identifier="flatpak_installation_list_remotes"
              throws="1">
        <doc xml:space="preserve">Lists the remotes, in priority (highest first) order. For same priority,
an earlier added remote comes before a later added one.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">an GPtrArray of
  #FlatpakRemote instances</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Remote"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_app_overrides"
              c:identifier="flatpak_installation_load_app_overrides"
              throws="1">
        <doc xml:space="preserve">Loads the metadata overrides file for an application.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the contents of the overrides files,
   or %NULL if an error occurred</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="app_id" transfer-ownership="none">
            <doc xml:space="preserve">an application id</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_remote"
              c:identifier="flatpak_installation_modify_remote"
              throws="1">
        <doc xml:space="preserve">Saves changes in the @remote object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the modifications have been committed successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote" transfer-ownership="none">
            <doc xml:space="preserve">the modified #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_remote"
              c:identifier="flatpak_installation_remove_remote"
              throws="1">
        <doc xml:space="preserve">Removes the remote with the given name from the installation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the remote has been removed successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote to remove</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="uninstall"
              c:identifier="flatpak_installation_uninstall"
              throws="1">
        <doc xml:space="preserve">Uninstall an application or runtime.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">what this ref contains (an #FlatpakRefKind)</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app or runtime to uninstall</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve">architecture of the app or runtime to uninstall</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch" transfer-ownership="none">
            <doc xml:space="preserve">name of the branch of the app or runtime to uninstall</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="5">
            <doc xml:space="preserve">the callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update"
              c:identifier="flatpak_installation_update"
              throws="1">
        <doc xml:space="preserve">Update an application or runtime.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The ref for the newly updated app (or the same if no update) or %NULL on failure</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">set of #FlatpakUpdateFlags flag</doc>
            <type name="UpdateFlags" c:type="FlatpakUpdateFlags"/>
          </parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">whether this is an app or runtime</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app or runtime to update</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">architecture of the app or runtime to update (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">name of the branch of the app or runtime to update (default: master)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="6">
            <doc xml:space="preserve">the callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_appstream_sync"
              c:identifier="flatpak_installation_update_appstream_sync"
              throws="1">
        <doc xml:space="preserve">Updates the local copy of appstream for @remote_name for the specified @arch.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success, or %FALSE on error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="remote_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve">Architecture to update, or %NULL for the local machine arch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="out_changed"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Set to %TRUE if the contents of the appstream changed, %FALSE if nothing changed</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_full"
              c:identifier="flatpak_installation_update_full"
              throws="1">
        <doc xml:space="preserve">Update an application or runtime.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The ref for the newly updated app (or the same if no update) or %NULL on failure</doc>
          <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">set of #FlatpakUpdateFlags flag</doc>
            <type name="UpdateFlags" c:type="FlatpakUpdateFlags"/>
          </parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve">whether this is an app or runtime</doc>
            <type name="RefKind" c:type="FlatpakRefKind"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of the app or runtime to update</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">architecture of the app or runtime to update (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="branch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">name of the branch of the app or runtime to update (default: master)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="subpaths"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A list of subpaths to fetch, or %NULL for everything</doc>
            <type name="utf8" c:type="const char* const*"/>
          </parameter>
          <parameter name="progress"
                     transfer-ownership="none"
                     scope="call"
                     closure="7">
            <doc xml:space="preserve">the callback</doc>
            <type name="ProgressCallback" c:type="FlatpakProgressCallback"/>
          </parameter>
          <parameter name="progress_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data passed to @progress</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_remote_sync"
              c:identifier="flatpak_installation_update_remote_sync"
              version="0.6.13"
              throws="1">
        <doc xml:space="preserve">Updates the local configuration of a remote repository by fetching
the related information from the summary file in the remote OSTree
repository and committing the changes to the local installation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the remote has been updated successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstallation</doc>
            <type name="Installation" c:type="FlatpakInstallation*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the remote to update</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="InstallationClass"
            c:type="FlatpakInstallationClass"
            glib:is-gtype-struct-for="Installation">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="InstalledRef"
           c:symbol-prefix="installed_ref"
           c:type="FlatpakInstalledRef"
           parent="Ref"
           glib:type-name="FlatpakInstalledRef"
           glib:get-type="flatpak_installed_ref_get_type"
           glib:type-struct="InstalledRefClass">
      <method name="get_deploy_dir"
              c:identifier="flatpak_installed_ref_get_deploy_dir">
        <doc xml:space="preserve">Gets the deploy dir of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the deploy dir</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_installed_size"
              c:identifier="flatpak_installed_ref_get_installed_size">
        <doc xml:space="preserve">Returns the installed size of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the installed size</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_current"
              c:identifier="flatpak_installed_ref_get_is_current">
        <doc xml:space="preserve">Returns whether the ref is current.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the ref is current</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_latest_commit"
              c:identifier="flatpak_installed_ref_get_latest_commit">
        <doc xml:space="preserve">Gets the latest commit of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the latest commit</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_origin"
              c:identifier="flatpak_installed_ref_get_origin">
        <doc xml:space="preserve">Gets the origin of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the origin</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subpaths"
              c:identifier="flatpak_installed_ref_get_subpaths">
        <doc xml:space="preserve">Returns the subpaths that are installed, or %NULL if all files installed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A strv, or %NULL</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_metadata"
              c:identifier="flatpak_installed_ref_load_metadata"
              throws="1">
        <doc xml:space="preserve">Loads the metadata file for this ref.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GBytes containing the metadata file,
    or %NULL if an error occurred</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakInstalledRef</doc>
            <type name="InstalledRef" c:type="FlatpakInstalledRef*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="deploy-dir" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="installed-size" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="is-current" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="latest-commit" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="origin" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subpaths" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <field name="parent">
        <type name="Ref" c:type="FlatpakRef"/>
      </field>
    </class>
    <record name="InstalledRefClass"
            c:type="FlatpakInstalledRefClass"
            glib:is-gtype-struct-for="InstalledRef">
      <field name="parent_class">
        <type name="RefClass" c:type="FlatpakRefClass"/>
      </field>
    </record>
    <constant name="MAJOR_VERSION" value="0" c:type="FLATPAK_MAJOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="2" c:type="FLATPAK_MICRO_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="9" c:type="FLATPAK_MINOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <callback name="ProgressCallback" c:type="FlatpakProgressCallback">
      <doc xml:space="preserve">The progress callback is called repeatedly during long-running operations
such as installations or updates, and can be used to update progress information
in a user interface.

The callback occurs in the thread-default context of the caller.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="status" transfer-ownership="none">
          <doc xml:space="preserve">A status string, suitable for display</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="progress" transfer-ownership="none">
          <doc xml:space="preserve">percentage of completion</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="estimating" transfer-ownership="none">
          <doc xml:space="preserve">whether @progress is just an estimate</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve">User data passed to the caller</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Ref"
           c:symbol-prefix="ref"
           c:type="FlatpakRef"
           parent="GObject.Object"
           glib:type-name="FlatpakRef"
           glib:get-type="flatpak_ref_get_type"
           glib:type-struct="RefClass">
      <function name="parse" c:identifier="flatpak_ref_parse" throws="1">
        <doc xml:space="preserve">Tries to parse a full ref name and return a #FlatpakRef (without a
commit set) or fail if the ref is invalid somehow.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an #FlatpakRef, or %NULL</doc>
          <type name="Ref" c:type="FlatpakRef*"/>
        </return-value>
        <parameters>
          <parameter name="ref" transfer-ownership="none">
            <doc xml:space="preserve">A string ref name, such as "app/org.test.App/86_64/master"</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <method name="format_ref" c:identifier="flatpak_ref_format_ref">
        <doc xml:space="preserve">Convert an FlatpakRef object into a string representation that
can be parsed by flatpak_ref_parse().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">string representation</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arch" c:identifier="flatpak_ref_get_arch">
        <doc xml:space="preserve">Gets the arch or the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the arch</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_branch" c:identifier="flatpak_ref_get_branch">
        <doc xml:space="preserve">Gets the branch of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the branch</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_commit" c:identifier="flatpak_ref_get_commit">
        <doc xml:space="preserve">Gets the commit of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the commit</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind" c:identifier="flatpak_ref_get_kind">
        <doc xml:space="preserve">Gets the kind of artifact that this ref refers to.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the kind of artifact</doc>
          <type name="RefKind" c:type="FlatpakRefKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="flatpak_ref_get_name">
        <doc xml:space="preserve">Gets the name of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRef</doc>
            <type name="Ref" c:type="FlatpakRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="branch" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="commit" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="kind" writable="1" transfer-ownership="none">
        <type name="RefKind"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="RefClass"
            c:type="FlatpakRefClass"
            glib:is-gtype-struct-for="Ref">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="RefKind"
                 glib:type-name="FlatpakRefKind"
                 glib:get-type="flatpak_ref_kind_get_type"
                 c:type="FlatpakRefKind">
      <doc xml:space="preserve">The kind of artifact that a FlatpakRef refers to.</doc>
      <member name="app"
              value="0"
              c:identifier="FLATPAK_REF_KIND_APP"
              glib:nick="app">
        <doc xml:space="preserve">An application</doc>
      </member>
      <member name="runtime"
              value="1"
              c:identifier="FLATPAK_REF_KIND_RUNTIME"
              glib:nick="runtime">
        <doc xml:space="preserve">A runtime that applications can use.</doc>
      </member>
    </enumeration>
    <class name="RelatedRef"
           c:symbol-prefix="related_ref"
           c:type="FlatpakRelatedRef"
           parent="Ref"
           glib:type-name="FlatpakRelatedRef"
           glib:get-type="flatpak_related_ref_get_type"
           glib:type-struct="RelatedRefClass">
      <method name="get_subpaths"
              c:identifier="flatpak_related_ref_get_subpaths"
              version="0.6.7">
        <doc xml:space="preserve">Returns the subpaths that should be installed/updated for the ref.
This returns %NULL if all files should be installed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A strv, or %NULL</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRelatedRef</doc>
            <type name="RelatedRef" c:type="FlatpakRelatedRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="should_delete"
              c:identifier="flatpak_related_ref_should_delete"
              version="0.6.7">
        <doc xml:space="preserve">Returns whether to auto-delete the ref with the main ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the ref should be deleted with the main ref.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRelatedRef</doc>
            <type name="RelatedRef" c:type="FlatpakRelatedRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="should_download"
              c:identifier="flatpak_related_ref_should_download">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RelatedRef" c:type="FlatpakRelatedRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="should-delete" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="should-download" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="subpaths" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <field name="parent">
        <type name="Ref" c:type="FlatpakRef"/>
      </field>
    </class>
    <record name="RelatedRefClass"
            c:type="FlatpakRelatedRefClass"
            glib:is-gtype-struct-for="RelatedRef">
      <field name="parent_class">
        <type name="RefClass" c:type="FlatpakRefClass"/>
      </field>
    </record>
    <class name="Remote"
           c:symbol-prefix="remote"
           c:type="FlatpakRemote"
           parent="GObject.Object"
           glib:type-name="FlatpakRemote"
           glib:get-type="flatpak_remote_get_type"
           glib:type-struct="RemoteClass">
      <constructor name="new" c:identifier="flatpak_remote_new">
        <doc xml:space="preserve">Returns a new remote object which can be used to configure a new remote.

Note: This is a local configuration object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #FlatpakRemote</doc>
          <type name="Remote" c:type="FlatpakRemote*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">a name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_appstream_dir"
              c:identifier="flatpak_remote_get_appstream_dir">
        <doc xml:space="preserve">Returns the directory where this remote will store locally cached
appstream information for the specified @arch.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_appstream_timestamp"
              c:identifier="flatpak_remote_get_appstream_timestamp">
        <doc xml:space="preserve">Returns the timestamp file that will be updated whenever the appstream information
has been updated (or tried to update) for the specified @arch.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">which architecture to fetch (default: current architecture)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_branch"
              c:identifier="flatpak_remote_get_default_branch"
              version="0.6.12">
        <doc xml:space="preserve">Returns the default branch configured for the remote.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the default branch, or %NULL</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_disabled" c:identifier="flatpak_remote_get_disabled">
        <doc xml:space="preserve">Returns whether this remote is disabled.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the remote is marked as "don't enumerate"</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gpg_verify"
              c:identifier="flatpak_remote_get_gpg_verify">
        <doc xml:space="preserve">Returns whether GPG verification is enabled for the remote.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether GPG verification is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="flatpak_remote_get_name">
        <doc xml:space="preserve">Returns the name of the remote repository.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nodeps" c:identifier="flatpak_remote_get_nodeps">
        <doc xml:space="preserve">Returns whether this remote should be used to find dependencies.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the remote is marked as "don't use for dependencies"</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_noenumerate"
              c:identifier="flatpak_remote_get_noenumerate">
        <doc xml:space="preserve">Returns whether this remote should be used to list applications.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the remote is marked as "don't enumerate"</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_prio" c:identifier="flatpak_remote_get_prio">
        <doc xml:space="preserve">Returns the priority for the remote.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the priority</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="flatpak_remote_get_title">
        <doc xml:space="preserve">Returns the title of the remote.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the title</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_url" c:identifier="flatpak_remote_get_url">
        <doc xml:space="preserve">Returns the repository URL of this remote.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the URL</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_default_branch"
              c:identifier="flatpak_remote_set_default_branch"
              version="0.6.12">
        <doc xml:space="preserve">Sets the default branch configured for this remote.

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="default_branch" transfer-ownership="none">
            <doc xml:space="preserve">The new default_branch</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_disabled" c:identifier="flatpak_remote_set_disabled">
        <doc xml:space="preserve">Sets the disabled config of this remote. See flatpak_remote_get_disable().

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="disabled" transfer-ownership="none">
            <doc xml:space="preserve">a bool</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gpg_key" c:identifier="flatpak_remote_set_gpg_key">
        <doc xml:space="preserve">Sets the trusted gpg key for this remote.

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="gpg_key" transfer-ownership="none">
            <doc xml:space="preserve">a #GBytes with gpg binary key data</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gpg_verify"
              c:identifier="flatpak_remote_set_gpg_verify">
        <doc xml:space="preserve">Sets the gpg_verify config of this remote. See flatpak_remote_get_gpg_verify().

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="gpg_verify" transfer-ownership="none">
            <doc xml:space="preserve">a bool</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_nodeps" c:identifier="flatpak_remote_set_nodeps">
        <doc xml:space="preserve">Sets the nodeps config of this remote. See flatpak_remote_get_nodeps().

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="nodeps" transfer-ownership="none">
            <doc xml:space="preserve">a bool</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_noenumerate"
              c:identifier="flatpak_remote_set_noenumerate">
        <doc xml:space="preserve">Sets the noenumeration config of this remote. See flatpak_remote_get_noenumerate().

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="noenumerate" transfer-ownership="none">
            <doc xml:space="preserve">a bool</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_prio" c:identifier="flatpak_remote_set_prio">
        <doc xml:space="preserve">Sets the prio config of this remote. See flatpak_remote_get_prio().

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="prio" transfer-ownership="none">
            <doc xml:space="preserve">a bool</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="flatpak_remote_set_title">
        <doc xml:space="preserve">Sets the repository title of this remote.

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve">The new title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_url" c:identifier="flatpak_remote_set_url">
        <doc xml:space="preserve">Sets the repository URL of this remote.

Note: This is a local modification of this object, you must commit changes
using flatpak_installation_modify_remote() for the changes to take
effect.</doc>
        <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">a #FlatpakRemote</doc>
            <type name="Remote" c:type="FlatpakRemote*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve">The new url</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="RemoteClass"
            c:type="FlatpakRemoteClass"
            glib:is-gtype-struct-for="Remote">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="RemoteRef"
           c:symbol-prefix="remote_ref"
           c:type="FlatpakRemoteRef"
           parent="Ref"
           glib:type-name="FlatpakRemoteRef"
           glib:get-type="flatpak_remote_ref_get_type"
           glib:type-struct="RemoteRefClass">
      <method name="get_remote_name"
              c:identifier="flatpak_remote_ref_get_remote_name">
        <doc xml:space="preserve">Gets the remote name of the ref.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the remote name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #FlatpakRemoteRef</doc>
            <type name="RemoteRef" c:type="FlatpakRemoteRef*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="remote-name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="Ref" c:type="FlatpakRef"/>
      </field>
    </class>
    <record name="RemoteRefClass"
            c:type="FlatpakRemoteRefClass"
            glib:is-gtype-struct-for="RemoteRef">
      <field name="parent_class">
        <type name="RefClass" c:type="FlatpakRefClass"/>
      </field>
    </record>
    <enumeration name="StorageType"
                 version="0.6.15"
                 glib:type-name="FlatpakStorageType"
                 glib:get-type="flatpak_storage_type_get_type"
                 c:type="FlatpakStorageType">
      <doc xml:space="preserve">Flags to alter the behavior of flatpak_installation_install_full().</doc>
      <member name="default"
              value="0"
              c:identifier="FLATPAK_STORAGE_TYPE_DEFAULT"
              glib:nick="default">
        <doc xml:space="preserve">default</doc>
      </member>
      <member name="hard_disk"
              value="1"
              c:identifier="FLATPAK_STORAGE_TYPE_HARD_DISK"
              glib:nick="hard-disk">
        <doc xml:space="preserve">installation is on a hard disk</doc>
      </member>
      <member name="sdcard"
              value="2"
              c:identifier="FLATPAK_STORAGE_TYPE_SDCARD"
              glib:nick="sdcard">
        <doc xml:space="preserve">installation is on a SD card</doc>
      </member>
      <member name="mmc"
              value="3"
              c:identifier="FLATPAK_STORAGE_TYPE_MMC"
              glib:nick="mmc">
        <doc xml:space="preserve">installation is on an MMC</doc>
      </member>
    </enumeration>
    <bitfield name="UpdateFlags"
              glib:type-name="FlatpakUpdateFlags"
              glib:get-type="flatpak_update_flags_get_type"
              c:type="FlatpakUpdateFlags">
      <doc xml:space="preserve">Flags to alter the behavior of flatpak_installation_update().</doc>
      <member name="none"
              value="0"
              c:identifier="FLATPAK_UPDATE_FLAGS_NONE"
              glib:nick="none">
        <doc xml:space="preserve">Fetch remote builds and install the latest one (default)</doc>
      </member>
      <member name="no_deploy"
              value="1"
              c:identifier="FLATPAK_UPDATE_FLAGS_NO_DEPLOY"
              glib:nick="no-deploy">
        <doc xml:space="preserve">Don't install any new builds that might be fetched</doc>
      </member>
      <member name="no_pull"
              value="2"
              c:identifier="FLATPAK_UPDATE_FLAGS_NO_PULL"
              glib:nick="no-pull">
        <doc xml:space="preserve">Don't try to fetch new builds from the remote repo</doc>
      </member>
    </bitfield>
    <function name="error_quark"
              c:identifier="flatpak_error_quark"
              moved-to="Error.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="get_default_arch" c:identifier="flatpak_get_default_arch">
      <doc xml:space="preserve">Returns the canonical name for the arch of the current machine.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">an arch string</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
    </function>
    <function name="get_supported_arches"
              c:identifier="flatpak_get_supported_arches">
      <doc xml:space="preserve">Returns the canonical names for the arches that are supported (i.e. can run)
on the current machine, in order of priority (default is first).</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a zero terminated array of arch strings</doc>
        <array c:type="const char* const*">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="get_system_installations"
              c:identifier="flatpak_get_system_installations"
              version="0.8"
              throws="1">
      <doc xml:space="preserve">Lists the system installations according to the current configuration and current
availability (e.g. doesn't return a configured installation if not reachable).</doc>
      <return-value transfer-ownership="container">
        <doc xml:space="preserve">an GPtrArray of
  #FlatpakInstallation instances</doc>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="Installation"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">a #GCancellable</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
