<?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="AsMetadata">
<refmeta>
<refentrytitle role="top_of_page" id="AsMetadata.top_of_page">AsMetadata</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>APPSTREAM Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>AsMetadata</refname>
<refpurpose>Parser for AppStream metadata</refpurpose>
</refnamediv>

<refsect1 id="AsMetadata.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="AsMetadata"><returnvalue>AsMetadata</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-metadata-new">as_metadata_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-metadata-error-quark">as_metadata_error_quark</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-metadata-parse-file">as_metadata_parse_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-metadata-parse-xml">as_metadata_parse_xml</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-metadata-parse-yaml">as_metadata_parse_yaml</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AsComponent"><returnvalue>AsComponent</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-metadata-get-component">as_metadata_get_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-metadata-get-components">as_metadata_get_components</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-metadata-clear-components">as_metadata_clear_components</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-metadata-add-component">as_metadata_add_component</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-metadata-component-to-upstream-xml">as_metadata_component_to_upstream_xml</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-metadata-save-upstream-xml">as_metadata_save_upstream_xml</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-metadata-components-to-distro-xml">as_metadata_components_to_distro_xml</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-metadata-save-distro-xml">as_metadata_save_distro_xml</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="as-metadata-components-to-distro-yaml">as_metadata_components_to_distro_yaml</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-metadata-save-distro-yaml">as_metadata_save_distro_yaml</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-metadata-set-locale">as_metadata_set_locale</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-metadata-get-locale">as_metadata_get_locale</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-metadata-get-origin">as_metadata_get_origin</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-metadata-set-origin">as_metadata_set_origin</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-metadata-get-update-existing">as_metadata_get_update_existing</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-metadata-set-update-existing">as_metadata_set_update_existing</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-metadata-get-write-header">as_metadata_get_write_header</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-metadata-set-write-header">as_metadata_set_write_header</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-metadata-set-parser-mode">as_metadata_set_parser_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AsParserMode"><returnvalue>AsParserMode</returnvalue></link>
</entry><entry role="function_name"><link linkend="as-metadata-get-parser-mode">as_metadata_get_parser_mode</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-metadata-get-architecture">as_metadata_get_architecture</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-metadata-set-architecture">as_metadata_set_architecture</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AsMetadata.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-METADATA:CAPS">AS_TYPE_METADATA</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="AsMetadataClass">AsMetadataClass</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="AsParserMode">AsParserMode</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="AsMetadataError">AsMetadataError</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="AS-METADATA-ERROR:CAPS">AS_METADATA_ERROR</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="AsMetadata-struct">AsMetadata</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AsMetadata.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> AsMetadata
</screen>
</refsect1>

<refsect1 id="AsMetadata.includes"><title>Includes</title><synopsis>#include &lt;appstream.h&gt;
</synopsis></refsect1>

<refsect1 id="AsMetadata.description" role="desc">
<title role="desc.title">Description</title>
<para>This object parses AppStream metadata, including AppStream
upstream metadata, which is defined by upstream projects.
It returns an <link linkend="AsComponent"><type>AsComponent</type></link> of the data.</para>
<para>See also: <link linkend="AsComponent"><type>AsComponent</type></link>, <link linkend="AsDatabase"><type>AsDatabase</type></link></para>

</refsect1>
<refsect1 id="AsMetadata.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="as-metadata-new" role="function">
<title>as_metadata_new&#160;()</title>
<indexterm zone="as-metadata-new"><primary>as_metadata_new</primary></indexterm>
<programlisting language="C"><link linkend="AsMetadata"><returnvalue>AsMetadata</returnvalue></link>&#160;*
as_metadata_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="AsMetadata"><type>AsMetadata</type></link>.</para>
<refsect3 id="as-metadata-new.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="AsMetadata"><type>AsMetadata</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-error-quark" role="function">
<title>as_metadata_error_quark&#160;()</title>
<indexterm zone="as-metadata-error-quark"><primary>as_metadata_error_quark</primary></indexterm>
<programlisting language="C"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
as_metadata_error_quark (<parameter><type>void</type></parameter>);</programlisting>
<refsect3 id="as-metadata-error-quark.returns" role="returns">
<title>Returns</title>
<para> An error quark.</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-parse-file" role="function">
<title>as_metadata_parse_file&#160;()</title>
<indexterm zone="as-metadata-parse-file"><primary>as_metadata_parse_file</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_parse_file (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                        <parameter><link linkend="GFile"><type>GFile</type></link> *file</parameter>,
                        <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Parses an AppStream upstream metadata file.</para>
<refsect3 id="as-metadata-parse-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>metad</para></entry>
<entry role="parameter_description"><para>A valid <link linkend="AsMetadata"><type>AsMetadata</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>file</para></entry>
<entry role="parameter_description"><para><link linkend="GFile"><type>GFile</type></link> for the upstream metadata</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-metadata-parse-xml" role="function">
<title>as_metadata_parse_xml&#160;()</title>
<indexterm zone="as-metadata-parse-xml"><primary>as_metadata_parse_xml</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_parse_xml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                       <parameter>const <link linkend="gchar"><type>gchar</type></link> *data</parameter>,
                       <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Parses AppStream XML metadata.</para>
<refsect3 id="as-metadata-parse-xml.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>metad</para></entry>
<entry role="parameter_description"><para>A valid <link linkend="AsMetadata"><type>AsMetadata</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>XML data describing one or more software components.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-parse-yaml" role="function">
<title>as_metadata_parse_yaml&#160;()</title>
<indexterm zone="as-metadata-parse-yaml"><primary>as_metadata_parse_yaml</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_parse_yaml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                        <parameter>const <link linkend="gchar"><type>gchar</type></link> *data</parameter>,
                        <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Parses AppStream YAML metadata.</para>
<refsect3 id="as-metadata-parse-yaml.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>metad</para></entry>
<entry role="parameter_description"><para>A valid <link linkend="AsMetadata"><type>AsMetadata</type></link> instance</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>YAML data describing one or more software components.</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-metadata-get-component" role="function">
<title>as_metadata_get_component&#160;()</title>
<indexterm zone="as-metadata-get-component"><primary>as_metadata_get_component</primary></indexterm>
<programlisting language="C"><link linkend="AsComponent"><returnvalue>AsComponent</returnvalue></link>&#160;*
as_metadata_get_component (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Gets the <link linkend="AsComponent"><type>AsComponent</type></link> which has been parsed from the XML.
If the AppStream XML contained multiple components, return the first
component that has been parsed.</para>
<refsect3 id="as-metadata-get-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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-component.returns" role="returns">
<title>Returns</title>
<para> An <link linkend="AsComponent"><type>AsComponent</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-components" role="function">
<title>as_metadata_get_components&#160;()</title>
<indexterm zone="as-metadata-get-components"><primary>as_metadata_get_components</primary></indexterm>
<programlisting language="C"><link linkend="GPtrArray"><returnvalue>GPtrArray</returnvalue></link>&#160;*
as_metadata_get_components (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<refsect3 id="as-metadata-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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-components.returns" role="returns">
<title>Returns</title>
<para> A <link linkend="GPtrArray"><type>GPtrArray</type></link> of all parsed components. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>element-type</acronym> AsComponent]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-clear-components" role="function">
<title>as_metadata_clear_components&#160;()</title>
<indexterm zone="as-metadata-clear-components"><primary>as_metadata_clear_components</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_clear_components (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
</refsect2>
<refsect2 id="as-metadata-add-component" role="function">
<title>as_metadata_add_component&#160;()</title>
<indexterm zone="as-metadata-add-component"><primary>as_metadata_add_component</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_add_component (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                           <parameter><link linkend="AsComponent"><type>AsComponent</type></link> *cpt</parameter>);</programlisting>
<para>Add an <link linkend="AsComponent"><type>AsComponent</type></link> to the list of components.
This can be used to add multiple components in order to
produce a distro-XML AppStream metadata file.</para>
</refsect2>
<refsect2 id="as-metadata-component-to-upstream-xml" role="function">
<title>as_metadata_component_to_upstream_xml&#160;()</title>
<indexterm zone="as-metadata-component-to-upstream-xml"><primary>as_metadata_component_to_upstream_xml</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_component_to_upstream_xml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Convert an <link linkend="AsComponent"><type>AsComponent</type></link> to upstream XML.
(The amount of localization included in the metadata depends on how the <link linkend="AsComponent"><type>AsComponent</type></link>
was initially loaded)</para>
<para>The first <link linkend="AsComponent"><type>AsComponent</type></link> added to the internal list will be transformed.
In case no component is present, <link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned.</para>
<refsect3 id="as-metadata-component-to-upstream-xml.returns" role="returns">
<title>Returns</title>
<para> A string containing the XML. Free with <link linkend="g-free"><function>g_free()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-save-upstream-xml" role="function">
<title>as_metadata_save_upstream_xml&#160;()</title>
<indexterm zone="as-metadata-save-upstream-xml"><primary>as_metadata_save_upstream_xml</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_save_upstream_xml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</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 <link linkend="AsComponent"><type>AsComponent</type></link> instance to XML and save it to file.
An existing file at the same location will be overridden.</para>
<refsect3 id="as-metadata-save-upstream-xml.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>fname</para></entry>
<entry role="parameter_description"><para>The filename for the new XML file.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-components-to-distro-xml" role="function">
<title>as_metadata_components_to_distro_xml&#160;()</title>
<indexterm zone="as-metadata-components-to-distro-xml"><primary>as_metadata_components_to_distro_xml</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_components_to_distro_xml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Serialize all <link linkend="AsComponent"><type>AsComponent</type></link> instances into AppStream
distro-XML data.
<link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned if there is nothing to serialize.</para>
<refsect3 id="as-metadata-components-to-distro-xml.returns" role="returns">
<title>Returns</title>
<para> A string containing the XML. Free with <link linkend="g-free"><function>g_free()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-save-distro-xml" role="function">
<title>as_metadata_save_distro_xml&#160;()</title>
<indexterm zone="as-metadata-save-distro-xml"><primary>as_metadata_save_distro_xml</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_save_distro_xml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</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 all <link linkend="AsComponent"><type>AsComponent</type></link> instances to XML and save the data to a file.
An existing file at the same location will be overridden.</para>
<refsect3 id="as-metadata-save-distro-xml.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>fname</para></entry>
<entry role="parameter_description"><para>The filename for the new XML file.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-components-to-distro-yaml" role="function">
<title>as_metadata_components_to_distro_yaml&#160;()</title>
<indexterm zone="as-metadata-components-to-distro-yaml"><primary>as_metadata_components_to_distro_yaml</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_components_to_distro_yaml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Serialize all <link linkend="AsComponent"><type>AsComponent</type></link> instances into AppStream DEP-11
distro-YAML data.
<link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned if there is nothing to serialize.</para>
<refsect3 id="as-metadata-components-to-distro-yaml.returns" role="returns">
<title>Returns</title>
<para> A string containing the YAML markup. Free with <link linkend="g-free"><function>g_free()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-save-distro-yaml" role="function">
<title>as_metadata_save_distro_yaml&#160;()</title>
<indexterm zone="as-metadata-save-distro-yaml"><primary>as_metadata_save_distro_yaml</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_save_distro_yaml (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</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 all <link linkend="AsComponent"><type>AsComponent</type></link> instances to XML and save the data to a file.
An existing file at the same location will be overridden.</para>
<refsect3 id="as-metadata-save-distro-yaml.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>fname</para></entry>
<entry role="parameter_description"><para>The filename for the new YAML file.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-locale" role="function">
<title>as_metadata_set_locale&#160;()</title>
<indexterm zone="as-metadata-set-locale"><primary>as_metadata_set_locale</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_locale (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                        <parameter>const <link linkend="gchar"><type>gchar</type></link> *locale</parameter>);</programlisting>
<para>Sets the locale which should be read when processing metadata.
All other locales are ignored, which increases parsing speed and
reduces memory usage.
If you set the locale to "ALL", all locales will be read.</para>
<refsect3 id="as-metadata-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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</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-metadata-get-locale" role="function">
<title>as_metadata_get_locale&#160;()</title>
<indexterm zone="as-metadata-get-locale"><primary>as_metadata_get_locale</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_get_locale (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Gets the current active locale for parsing metadata,
or "ALL" if all locales are read.</para>
<refsect3 id="as-metadata-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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-locale.returns" role="returns">
<title>Returns</title>
<para> Locale used for metadata parsing.</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-origin" role="function">
<title>as_metadata_get_origin&#160;()</title>
<indexterm zone="as-metadata-get-origin"><primary>as_metadata_get_origin</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_get_origin (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<refsect3 id="as-metadata-get-origin.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-origin.returns" role="returns">
<title>Returns</title>
<para> The origin of AppStream distro metadata</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-origin" role="function">
<title>as_metadata_set_origin&#160;()</title>
<indexterm zone="as-metadata-set-origin"><primary>as_metadata_set_origin</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_origin (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                        <parameter>const <link linkend="gchar"><type>gchar</type></link> *origin</parameter>);</programlisting>
<para>Set the origin of AppStream distro metadata</para>
<refsect3 id="as-metadata-set-origin.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>origin</para></entry>
<entry role="parameter_description"><para>the origin of AppStream distro metadata.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-update-existing" role="function">
<title>as_metadata_get_update_existing&#160;()</title>
<indexterm zone="as-metadata-get-update-existing"><primary>as_metadata_get_update_existing</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_metadata_get_update_existing (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<refsect3 id="as-metadata-get-update-existing.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-update-existing.returns" role="returns">
<title>Returns</title>
<para> Whether existing components should be updates with the parsed data,
instead of creating new ones.</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-update-existing" role="function">
<title>as_metadata_set_update_existing&#160;()</title>
<indexterm zone="as-metadata-set-update-existing"><primary>as_metadata_set_update_existing</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_update_existing (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                                 <parameter><link linkend="gboolean"><type>gboolean</type></link> update</parameter>);</programlisting>
<para>If set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, the parser will not create new components but
instead update existing components in the pool with new metadata.</para>
<para>NOTE: Right now, this feature is only implemented for metainfo XML parsing!</para>
<refsect3 id="as-metadata-set-update-existing.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>update</para></entry>
<entry role="parameter_description"><para>A boolean value.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-write-header" role="function">
<title>as_metadata_get_write_header&#160;()</title>
<indexterm zone="as-metadata-get-write-header"><primary>as_metadata_get_write_header</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
as_metadata_get_write_header (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<refsect3 id="as-metadata-get-write-header.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-write-header.returns" role="returns">
<title>Returns</title>
<para> Whether we will write a header/root node in distro metadata.</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-write-header" role="function">
<title>as_metadata_set_write_header&#160;()</title>
<indexterm zone="as-metadata-set-write-header"><primary>as_metadata_set_write_header</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_write_header (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> wheader</parameter>);</programlisting>
<para>If set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, tehe metadata writer will omit writing a DEP-11
header document when in YAML mode, and will not write a root components node
when writing XML data.
Please keep in mind that this will create an invalid DEP-11 YAML AppStream
distro metadata file, and an invalid XML file.
This parameter should only be changed e.g. by the appstream-generator tool.</para>
<para>NOTE: Right now, this feature is only implemented for YAML!</para>
<refsect3 id="as-metadata-set-write-header.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wheader</para></entry>
<entry role="parameter_description"><para>A boolean value.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-parser-mode" role="function">
<title>as_metadata_set_parser_mode&#160;()</title>
<indexterm zone="as-metadata-set-parser-mode"><primary>as_metadata_set_parser_mode</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_parser_mode (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                             <parameter><link linkend="AsParserMode"><type>AsParserMode</type></link> mode</parameter>);</programlisting>
<para>Sets the current metadata parsing mode.</para>
<refsect3 id="as-metadata-set-parser-mode.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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>mode</para></entry>
<entry role="parameter_description"><para>the <link linkend="AsParserMode"><type>AsParserMode</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-parser-mode" role="function">
<title>as_metadata_get_parser_mode&#160;()</title>
<indexterm zone="as-metadata-get-parser-mode"><primary>as_metadata_get_parser_mode</primary></indexterm>
<programlisting language="C"><link linkend="AsParserMode"><returnvalue>AsParserMode</returnvalue></link>
as_metadata_get_parser_mode (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<para>Gets the current parser mode</para>
<refsect3 id="as-metadata-get-parser-mode.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>metad</para></entry>
<entry role="parameter_description"><para>a <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-parser-mode.returns" role="returns">
<title>Returns</title>
<para> an <link linkend="AsParserMode"><type>AsParserMode</type></link></para>
</refsect3></refsect2>
<refsect2 id="as-metadata-get-architecture" role="function">
<title>as_metadata_get_architecture&#160;()</title>
<indexterm zone="as-metadata-get-architecture"><primary>as_metadata_get_architecture</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
as_metadata_get_architecture (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>);</programlisting>
<refsect3 id="as-metadata-get-architecture.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="as-metadata-get-architecture.returns" role="returns">
<title>Returns</title>
<para> The architecture of AppStream distro metadata</para>
</refsect3></refsect2>
<refsect2 id="as-metadata-set-architecture" role="function">
<title>as_metadata_set_architecture&#160;()</title>
<indexterm zone="as-metadata-set-architecture"><primary>as_metadata_set_architecture</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
as_metadata_set_architecture (<parameter><link linkend="AsMetadata"><type>AsMetadata</type></link> *metad</parameter>,
                              <parameter>const <link linkend="gchar"><type>gchar</type></link> *arch</parameter>);</programlisting>
<para>Set the architecture the components in this metadata belong to.</para>
<refsect3 id="as-metadata-set-architecture.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>metad</para></entry>
<entry role="parameter_description"><para>an <link linkend="AsMetadata"><type>AsMetadata</type></link> instance.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>arch</para></entry>
<entry role="parameter_description"><para>an architecture string.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="AsMetadata.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="AS-TYPE-METADATA:CAPS" role="macro">
<title>AS_TYPE_METADATA</title>
<indexterm zone="AS-TYPE-METADATA:CAPS"><primary>AS_TYPE_METADATA</primary></indexterm>
<programlisting language="C">#define AS_TYPE_METADATA (as_metadata_get_type ())
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsMetadataClass" role="struct">
<title>struct AsMetadataClass</title>
<indexterm zone="AsMetadataClass"><primary>AsMetadataClass</primary></indexterm>
<programlisting language="C">struct AsMetadataClass {
	GObjectClass		parent_class;
};
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsParserMode" role="enum">
<title>enum AsParserMode</title>
<indexterm zone="AsParserMode"><primary>AsParserMode</primary></indexterm>
<para>There are a few differences between Appstream's upstream metadata
and the distribution metadata.
The parser mode indicates which style we should process.
Usually you don't want to change this.</para>
<refsect3 id="AsParserMode.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-PARSER-MODE-UPSTREAM:CAPS">AS_PARSER_MODE_UPSTREAM</para></entry>
<entry role="enum_member_description"><para>Parse Appstream upstream metadata</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-PARSER-MODE-DISTRO:CAPS">AS_PARSER_MODE_DISTRO</para></entry>
<entry role="enum_member_description"><para>Parse Appstream distribution metadata</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="AsMetadataError" role="enum">
<title>enum AsMetadataError</title>
<indexterm zone="AsMetadataError"><primary>AsMetadataError</primary></indexterm>
<para>A metadata processing error.</para>
<refsect3 id="AsMetadataError.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-METADATA-ERROR-FAILED:CAPS">AS_METADATA_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-METADATA-ERROR-UNEXPECTED-FORMAT-KIND:CAPS">AS_METADATA_ERROR_UNEXPECTED_FORMAT_KIND</para></entry>
<entry role="enum_member_description"><para>Expected upstream metadata but got distro metadata, or vice versa.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="AS-METADATA-ERROR-NO-COMPONENT:CAPS">AS_METADATA_ERROR_NO_COMPONENT</para></entry>
<entry role="enum_member_description"><para>We expected a component in the pool, but couldn't find one.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="AS-METADATA-ERROR:CAPS" role="macro">
<title>AS_METADATA_ERROR</title>
<indexterm zone="AS-METADATA-ERROR:CAPS"><primary>AS_METADATA_ERROR</primary></indexterm>
<programlisting language="C">#define&#160;AS_METADATA_ERROR&#160;as_metadata_error_quark ()
</programlisting>
<para>
</para>
</refsect2>
<refsect2 id="AsMetadata-struct" role="struct">
<title>AsMetadata</title>
<indexterm zone="AsMetadata-struct"><primary>AsMetadata</primary></indexterm>
<programlisting language="C">typedef struct _AsMetadata AsMetadata;</programlisting>
<para>
</para>
</refsect2>

</refsect1>

</refentry>
