<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<refentry id="AsPool">
<refmeta>
<refentrytitle role="top_of_page" id="AsPool.top_of_page">AsPool</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>APPSTREAM Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>AsPool</refname>
<refpurpose>Access the AppStream metadata pool.</refpurpose>
</refnamediv>

<refsect1 id="AsPool.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-error-quark">as_pool_error_quark</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AsPool"><returnvalue>AsPool</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-new">as_pool_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-locale">as_pool_get_locale</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-set-locale">as_pool_set_locale</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-load">as_pool_load</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-load-cache-file">as_pool_load_cache_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-save-cache-file">as_pool_save_cache_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-clear">as_pool_clear</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-add-component">as_pool_add_component</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-components">as_pool_get_components</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-components-by-id">as_pool_get_components_by_id</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-components-by-provided-item">as_pool_get_components_by_provided_item</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-components-by-kind">as_pool_get_components_by_kind</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-get-components-by-categories">as_pool_get_components_by_categories</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-pool-search">as_pool_search</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-clear-metadata-locations">as_pool_clear_metadata_locations</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-add-metadata-location">as_pool_add_metadata_location</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AsCacheFlags"><returnvalue>AsCacheFlags</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-get-cache-flags">as_pool_get_cache_flags</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-set-cache-flags">as_pool_set_cache_flags</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AsPoolFlags"><returnvalue>AsPoolFlags</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-get-flags">as_pool_get_flags</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-set-flags">as_pool_set_flags</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-pool-refresh-cache">as_pool_refresh_cache</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AsPool.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="AS-TYPE-POOL:CAPS">AS_TYPE_POOL</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="AsPoolClass">AsPoolClass</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="AsCacheFlags">AsCacheFlags</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="AsPoolFlags">AsPoolFlags</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="AsPoolError">AsPoolError</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="AS-POOL-ERROR:CAPS">AS_POOL_ERROR</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="AsPool-struct">AsPool</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AsPool.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> AsPool
</screen>
</refsect1>


<refsect1 id="AsPool.description" role="desc">
<title role="desc.title">Description</title>
<para>This class loads AppStream metadata from various sources and refines it with existing
knowledge about the system (e.g. by setting absolute pazhs for cached icons).
An <link linkend="AsPool"><type>AsPool</type></link> will use an on-disk cache to store metadata is has read and refined to
speed up the loading time when the same data is requested a second time.</para>
<para>You can find AppStream metadata matching farious criteria, and also add new metadata to
the pool.
The caching behavior can be controlled by the application using <link linkend="AsPool"><type>AsPool</type></link>.</para>
<para>An AppStream cache object can also be created and read using the appstreamcli(1) utility.</para>
<para>See also: <link linkend="AsComponent"><type>AsComponent</type></link></para>

</refsect1>
<refsect1 id="AsPool.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="as-pool-error-quark" role="function">
<title>as_pool_error_quark&#160;()</title>
<indexterm zone="as-pool-error-quark"><primary>as_pool_error_quark</primary></indexterm>
<programlisting language="C"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
as_pool_error_quark (<parameter><type>void</type></parameter>);</programlisting>
<refsect3 id="as-pool-error-quark.returns" role="returns">
<title>Returns</title>
<para> An error quark.</para>
</refsect3></refsect2>
<refsect2 id="as-pool-new" role="function">
<title>as_pool_new&#160;()</title>
<indexterm zone="as-pool-new"><primary>as_pool_new</primary></indexterm>
<programlisting language="C"><link linkend="AsPool"><returnvalue>AsPool</returnvalue></link>&#160;*
as_pool_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="AsPool"><type>AsPool</type></link>.</para>
<refsect3 id="as-pool-new.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="AsPool"><type>AsPool</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-locale" role="function">
<title>as_pool_get_locale&#160;()</title>
<indexterm zone="as-pool-get-locale"><primary>as_pool_get_locale</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_pool_get_locale (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Gets the currently used locale.</para>
<refsect3 id="as-pool-get-locale.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-locale.returns" role="returns">
<title>Returns</title>
<para> Locale used for metadata parsing.</para>
</refsect3></refsect2>
<refsect2 id="as-pool-set-locale" role="function">
<title>as_pool_set_locale&#160;()</title>
<indexterm zone="as-pool-set-locale"><primary>as_pool_set_locale</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_set_locale (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                    <parameter>const <link linkend="gchar"><type>gchar</type></link> *locale</parameter>);</programlisting>
<para>Sets the current locale which should be used when parsing metadata.</para>
<refsect3 id="as-pool-set-locale.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>locale</para></entry>
<entry role="parameter_description"><para>the locale.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-load" role="function">
<title>as_pool_load&#160;()</title>
<indexterm zone="as-pool-load"><primary>as_pool_load</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_pool_load (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
              <parameter><link linkend="GCancellable"><type>GCancellable</type></link> *cancellable</parameter>,
              <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Builds an index of all found components in the watched locations.
The function will try to get as much data into the pool as possible, so even if
the update completes with <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, it might still have added components to the pool.</para>
<para>The function will load from all possible data sources, preferring caches if they
are up to date.</para>
<refsect3 id="as-pool-load.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>A <link linkend="GError"><type>GError</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-load.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if update completed without error.</para>
</refsect3></refsect2>
<refsect2 id="as-pool-load-cache-file" role="function">
<title>as_pool_load_cache_file&#160;()</title>
<indexterm zone="as-pool-load-cache-file"><primary>as_pool_load_cache_file</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_pool_load_cache_file (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *fname</parameter>,
                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Load AppStream metadata from a cache file.</para>
<refsect3 id="as-pool-load-cache-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>fname</para></entry>
<entry role="parameter_description"><para>Filename of the cache file to load into the pool.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>A <link linkend="GError"><type>GError</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-save-cache-file" role="function">
<title>as_pool_save_cache_file&#160;()</title>
<indexterm zone="as-pool-save-cache-file"><primary>as_pool_save_cache_file</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_pool_save_cache_file (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *fname</parameter>,
                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Serialize AppStream metadata to a cache file.</para>
<refsect3 id="as-pool-save-cache-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>fname</para></entry>
<entry role="parameter_description"><para>Filename of the cache file the pool contents should be dumped to.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>A <link linkend="GError"><type>GError</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-clear" role="function">
<title>as_pool_clear&#160;()</title>
<indexterm zone="as-pool-clear"><primary>as_pool_clear</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_clear (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Remove all metadat from the pool.</para>
<refsect3 id="as-pool-clear.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-add-component" role="function">
<title>as_pool_add_component&#160;()</title>
<indexterm zone="as-pool-add-component"><primary>as_pool_add_component</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_pool_add_component (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                       <parameter><link linkend="AsComponent"><type>AsComponent</type></link> *cpt</parameter>,
                       <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Register a new component in the AppStream metadata pool.</para>
<refsect3 id="as-pool-add-component.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cpt</para></entry>
<entry role="parameter_description"><para>The <link linkend="AsComponent"><type>AsComponent</type></link> to add to the pool.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>A <link linkend="GError"><type>GError</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-add-component.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the new component was successfully added to the pool.</para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-components" role="function">
<title>as_pool_get_components&#160;()</title>
<indexterm zone="as-pool-get-components"><primary>as_pool_get_components</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_get_components (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Get a list of found components.</para>
<refsect3 id="as-pool-get-components.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-components.returns" role="returns">
<title>Returns</title>
<para> an array of <link linkend="AsComponent"><type>AsComponent</type></link> instances. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-components-by-id" role="function">
<title>as_pool_get_components_by_id&#160;()</title>
<indexterm zone="as-pool-get-components-by-id"><primary>as_pool_get_components_by_id</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_get_components_by_id (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                              <parameter>const <link linkend="gchar"><type>gchar</type></link> *cid</parameter>);</programlisting>
<para>Get a specific component by its ID.
This function may contain multiple results if we have
data describing this component from multiple scopes/origin types.</para>
<refsect3 id="as-pool-get-components-by-id.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cid</para></entry>
<entry role="parameter_description"><para>The AppStream-ID to look for.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-components-by-id.returns" role="returns">
<title>Returns</title>
<para> An <link linkend="AsComponent"><type>AsComponent</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-components-by-provided-item" role="function">
<title>as_pool_get_components_by_provided_item&#160;()</title>
<indexterm zone="as-pool-get-components-by-provided-item"><primary>as_pool_get_components_by_provided_item</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_get_components_by_provided_item
                               (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                                <parameter><link linkend="AsProvidedKind"><type>AsProvidedKind</type></link> kind</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *item</parameter>);</programlisting>
<para>Find components in the AppStream data pool whcih provide a certain item.</para>
<refsect3 id="as-pool-get-components-by-provided-item.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>kind</para></entry>
<entry role="parameter_description"><para>An <link linkend="AsProvidesKind"><type>AsProvidesKind</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>item</para></entry>
<entry role="parameter_description"><para>The value of the provided item.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-components-by-provided-item.returns" role="returns">
<title>Returns</title>
<para> an array of <link linkend="AsComponent"><type>AsComponent</type></link> objects which have been found. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-components-by-kind" role="function">
<title>as_pool_get_components_by_kind&#160;()</title>
<indexterm zone="as-pool-get-components-by-kind"><primary>as_pool_get_components_by_kind</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_get_components_by_kind (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                                <parameter><link linkend="AsComponentKind"><type>AsComponentKind</type></link> kind</parameter>);</programlisting>
<para>Return a list of all components in the pool which are of a certain kind.</para>
<refsect3 id="as-pool-get-components-by-kind.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsDatabase"><type>AsDatabase</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>kind</para></entry>
<entry role="parameter_description"><para>An <link linkend="AsComponentKind"><type>AsComponentKind</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-components-by-kind.returns" role="returns">
<title>Returns</title>
<para> an array of <link linkend="AsComponent"><type>AsComponent</type></link> objects which have been found. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-get-components-by-categories" role="function">
<title>as_pool_get_components_by_categories&#160;()</title>
<indexterm zone="as-pool-get-components-by-categories"><primary>as_pool_get_components_by_categories</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_get_components_by_categories (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                                      <parameter><link linkend="gchar"><type>gchar</type></link> **categories</parameter>);</programlisting>
<para>Return a list of components which are in one of the categories.</para>
<refsect3 id="as-pool-get-components-by-categories.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsDatabase"><type>AsDatabase</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>categories</para></entry>
<entry role="parameter_description"><para>An array of XDG categories to include.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-get-components-by-categories.returns" role="returns">
<title>Returns</title>
<para> an array of <link linkend="AsComponent"><type>AsComponent</type></link> objects which have been found. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-pool-search" role="function" condition="since:0.9.7">
<title>as_pool_search&#160;()</title>
<indexterm zone="as-pool-search" role="0.9.7"><primary>as_pool_search</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_pool_search (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                <parameter>const <link linkend="gchar"><type>gchar</type></link> *search</parameter>);</programlisting>
<para>Search for a list of components matching the search terms.
The list will be ordered by match score.</para>
<refsect3 id="as-pool-search.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>search</para></entry>
<entry role="parameter_description"><para>A search string</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-search.returns" role="returns">
<title>Returns</title>
<para> an array of the found <link linkend="AsComponent"><type>AsComponent</type></link> objects. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-0.9.7">0.9.7</link></para></refsect2>
<refsect2 id="as-pool-clear-metadata-locations" role="function">
<title>as_pool_clear_metadata_locations&#160;()</title>
<indexterm zone="as-pool-clear-metadata-locations"><primary>as_pool_clear_metadata_locations</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_clear_metadata_locations (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Remove all metadata locations from the list of watched locations.</para>
<refsect3 id="as-pool-clear-metadata-locations.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-add-metadata-location" role="function">
<title>as_pool_add_metadata_location&#160;()</title>
<indexterm zone="as-pool-add-metadata-location"><primary>as_pool_add_metadata_location</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_add_metadata_location (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *directory</parameter>);</programlisting>
<para>Add a location for the data pool to read data from.
If <parameter>directory</parameter>
 contains a "xml", "xmls", "yaml" or "icons" subdirectory (or all of them),
those paths will be added to the search paths instead.</para>
<refsect3 id="as-pool-add-metadata-location.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>directory</para></entry>
<entry role="parameter_description"><para>An existing filesystem location.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-get-cache-flags" role="function">
<title>as_pool_get_cache_flags&#160;()</title>
<indexterm zone="as-pool-get-cache-flags"><primary>as_pool_get_cache_flags</primary></indexterm>
<programlisting language="C"><link linkend="AsCacheFlags"><returnvalue>AsCacheFlags</returnvalue></link>
as_pool_get_cache_flags (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Get the <link linkend="AsCacheFlags"><type>AsCacheFlags</type></link> for this data pool.</para>
<refsect3 id="as-pool-get-cache-flags.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-set-cache-flags" role="function">
<title>as_pool_set_cache_flags&#160;()</title>
<indexterm zone="as-pool-set-cache-flags"><primary>as_pool_set_cache_flags</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_set_cache_flags (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                         <parameter><link linkend="AsCacheFlags"><type>AsCacheFlags</type></link> flags</parameter>);</programlisting>
<para>Set the <link linkend="AsCacheFlags"><type>AsCacheFlags</type></link> for this data pool.</para>
<refsect3 id="as-pool-set-cache-flags.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>The new <link linkend="AsCacheFlags"><type>AsCacheFlags</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-get-flags" role="function">
<title>as_pool_get_flags&#160;()</title>
<indexterm zone="as-pool-get-flags"><primary>as_pool_get_flags</primary></indexterm>
<programlisting language="C"><link linkend="AsPoolFlags"><returnvalue>AsPoolFlags</returnvalue></link>
as_pool_get_flags (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>);</programlisting>
<para>Get the <link linkend="AsPoolFlags"><type>AsPoolFlags</type></link> for this data pool.</para>
<refsect3 id="as-pool-get-flags.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-set-flags" role="function">
<title>as_pool_set_flags&#160;()</title>
<indexterm zone="as-pool-set-flags"><primary>as_pool_set_flags</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_pool_set_flags (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                   <parameter><link linkend="AsPoolFlags"><type>AsPoolFlags</type></link> flags</parameter>);</programlisting>
<para>Set the <link linkend="AsPoolFlags"><type>AsPoolFlags</type></link> for this data pool.</para>
<refsect3 id="as-pool-set-flags.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>The new <link linkend="AsPoolFlags"><type>AsPoolFlags</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-pool-refresh-cache" role="function">
<title>as_pool_refresh_cache&#160;()</title>
<indexterm zone="as-pool-refresh-cache"><primary>as_pool_refresh_cache</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_pool_refresh_cache (<parameter><link linkend="AsPool"><type>AsPool</type></link> *pool</parameter>,
                       <parameter><link linkend="gboolean"><type>gboolean</type></link> force</parameter>,
                       <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Update the AppStream cache. There is normally no need to call this function manually, because cache updates are handled
transparently in the background.</para>
<refsect3 id="as-pool-refresh-cache.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pool</para></entry>
<entry role="parameter_description"><para>An instance of <link linkend="AsPool"><type>AsPool</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>force</para></entry>
<entry role="parameter_description"><para>Enforce refresh, even if source data has not changed.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-pool-refresh-cache.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the cache was updated, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> on error or if the cache update was not necessary and has been skipped.</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="AsPool.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="AS-TYPE-POOL:CAPS" role="macro">
<title>AS_TYPE_POOL</title>
<indexterm zone="AS-TYPE-POOL:CAPS"><primary>AS_TYPE_POOL</primary></indexterm>
<programlisting language="C">#define AS_TYPE_POOL (as_pool_get_type ())
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsPoolClass" role="struct">
<title>struct AsPoolClass</title>
<indexterm zone="AsPoolClass"><primary>AsPoolClass</primary></indexterm>
<programlisting language="C">struct AsPoolClass {
	GObjectClass parent_class;
};
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsCacheFlags" role="enum">
<title>enum AsCacheFlags</title>
<indexterm zone="AsCacheFlags"><primary>AsCacheFlags</primary></indexterm>
<para>Flags on how caching should be used.</para>
<refsect3 id="AsCacheFlags.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="AS-CACHE-FLAG-NONE:CAPS">AS_CACHE_FLAG_NONE</para></entry>
<entry role="enum_member_description"><para>No flags.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-CACHE-FLAG-USE-USER:CAPS">AS_CACHE_FLAG_USE_USER</para></entry>
<entry role="enum_member_description"><para>Create an user-specific metadata cache.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-CACHE-FLAG-USE-SYSTEM:CAPS">AS_CACHE_FLAG_USE_SYSTEM</para></entry>
<entry role="enum_member_description"><para>Use and - if possible - update the global metadata cache.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="AsPoolFlags" role="enum">
<title>enum AsPoolFlags</title>
<indexterm zone="AsPoolFlags"><primary>AsPoolFlags</primary></indexterm>
<para>Flags on how caching should be used.</para>
<refsect3 id="AsPoolFlags.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-FLAG-NONE:CAPS">AS_POOL_FLAG_NONE</para></entry>
<entry role="enum_member_description"><para>No flags.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-FLAG-READ-COLLECTION:CAPS">AS_POOL_FLAG_READ_COLLECTION</para></entry>
<entry role="enum_member_description"><para>Add AppStream collection metadata to the pool.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-FLAG-READ-METAINFO:CAPS">AS_POOL_FLAG_READ_METAINFO</para></entry>
<entry role="enum_member_description"><para>Add data from AppStream metainfo files to the pool.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-FLAG-READ-DESKTOP-FILES:CAPS">AS_POOL_FLAG_READ_DESKTOP_FILES</para></entry>
<entry role="enum_member_description"><para>Add metadata from .desktop files to the pool.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="AsPoolError" role="enum">
<title>enum AsPoolError</title>
<indexterm zone="AsPoolError"><primary>AsPoolError</primary></indexterm>
<para>A metadata pool error.</para>
<refsect3 id="AsPoolError.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-ERROR-FAILED:CAPS">AS_POOL_ERROR_FAILED</para></entry>
<entry role="enum_member_description"><para>Generic failure</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-ERROR-TARGET-NOT-WRITABLE:CAPS">AS_POOL_ERROR_TARGET_NOT_WRITABLE</para></entry>
<entry role="enum_member_description"><para>We do not have write-access to the cache target location.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-ERROR-INCOMPLETE:CAPS">AS_POOL_ERROR_INCOMPLETE</para></entry>
<entry role="enum_member_description"><para>The pool was loaded, but we had to ignore some metadata.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-POOL-ERROR-COLLISION:CAPS">AS_POOL_ERROR_COLLISION</para></entry>
<entry role="enum_member_description"><para>An AppStream-ID collision occured (a component with that ID already existed in the pool)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="AS-POOL-ERROR:CAPS" role="macro">
<title>AS_POOL_ERROR</title>
<indexterm zone="AS-POOL-ERROR:CAPS"><primary>AS_POOL_ERROR</primary></indexterm>
<programlisting language="C">#define AS_POOL_ERROR&#160;as_pool_error_quark ()
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsPool-struct" role="struct">
<title>AsPool</title>
<indexterm zone="AsPool-struct"><primary>AsPool</primary></indexterm>
<programlisting language="C">typedef struct _AsPool AsPool;</programlisting>
<para>
</para>
</refsect2>

</refsect1>

</refentry>
