<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <namespace name="Modulemd"
             version="2.0"
             shared-library="libmodulemd.so.2"
             c:identifier-prefixes="Modulemd"
             c:symbol-prefixes="modulemd_">
    <class name="Buildopts"
           c:symbol-prefix="buildopts"
           c:type="ModulemdBuildopts"
           parent="GObject.Object"
           glib:type-name="ModulemdBuildopts"
           glib:get-type="modulemd_buildopts_get_type"
           glib:type-struct="BuildoptsClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_buildopts_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
               line="35">A newly-allocated #ModulemdBuildopts. This object
must be freed with g_object_unref().</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
      </constructor>
      <method name="add_rpm_to_whitelist"
              c:identifier="modulemd_buildopts_add_rpm_to_whitelist"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="100">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="101">An RPM name to add to the whitelist.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_rpm_whitelist"
              c:identifier="modulemd_buildopts_clear_rpm_whitelist"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
             line="122">Remove all RPMs from the whitelist.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="124">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="modulemd_buildopts_copy" version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
             line="60">Create a copy of this #ModulemdBuildopts object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
               line="66">a copied #ModulemdBuildopts object</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="62">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_buildopts_equals"
              version="2.2">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
             line="44">Check for equality for 2 ModulemdBuildopts objects.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
               line="51">TRUE if both objects are equal, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="46">A #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="47">A #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rpm_macros"
              c:identifier="modulemd_buildopts_get_rpm_macros"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
               line="90">A string containing RPM build macros in the form that they would appear in an RPM macros file on-disk.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="88">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_whitelist"
              c:identifier="modulemd_buildopts_get_rpm_whitelist"
              shadowed-by="get_rpm_whitelist_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="30"/>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_whitelist_as_strv"
              c:identifier="modulemd_buildopts_get_rpm_whitelist_as_strv"
              shadows="get_rpm_whitelist"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
               line="138">An ordered list of all RPMs in the whitelist.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="136">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_rpm_from_whitelist"
              c:identifier="modulemd_buildopts_remove_rpm_from_whitelist"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="112">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="113">An RPM name to remove from the whitelist.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rpm_macros"
              c:identifier="modulemd_buildopts_set_rpm_macros"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="76">This #ModulemdBuildopts</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm_macros" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                 line="77">A string containing RPM build macros in the form that they would appear in an RPM macros file on-disk.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="rpm-macros" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="BuildoptsClass"
            c:type="ModulemdBuildoptsClass"
            glib:is-gtype-struct-for="Buildopts">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-buildopts.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Component"
           c:symbol-prefix="component"
           c:type="ModulemdComponent"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ModulemdComponent"
           glib:get-type="modulemd_component_get_type"
           glib:type-struct="ComponentClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                       line="44"/>
      <virtual-method name="copy" invoker="copy" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="67">A newly-allocated copy of @self</doc>
          <type name="Component" c:type="ModulemdComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="62">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="key"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="63">An optional new key for the copied component which is
used as the lookup key when this component is attached to a
#ModulemdModuleStream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="equals" invoker="equals" version="2.3">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="51">TRUE, if both the objects are equal. FALSE, otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="48">A #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="49">A #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_name" invoker="get_name" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="201">The name of the component. Note that this may be
different from the key used to save this component to a
#ModulemdModuleStream. If you specifically need the key, use
modulemd_component_get_key() instead.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="199">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_name" invoker="set_name" version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="182">This #ModulemdComponent object.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="183">The name of this component. Note that this is different
from the key used to save this component to a #ModulemdModuleStream. If this
value is set, it adds a "name:" attribute to this component. This is used in
bootstrapping cases where the key is a different name used to differentiate
multiple ordered builds of the same component name. This function is
currently only implemented for #ModulemdComponentRpm and has no effect on
other #ModulemdComponent types.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="validate"
                      invoker="validate"
                      version="2.2"
                      throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
             line="75">Verifies that all stored values are internally consistent and that the
component is sufficiently-complete for emitting. This function is called
implicitly before attempting to emit the contents.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="84">TRUE if the #ModulemdComponent passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="77">This #ModulemdComponent.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_buildafter"
              c:identifier="modulemd_component_add_buildafter"
              version="2.2">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
             line="93">Add a build dependency of this component.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="95">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="96">A key representing another component in the
#ModulemdModuleStream components map.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_buildafter"
              c:identifier="modulemd_component_clear_buildafter"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
             line="107">Remove all buildafter entries for this component.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="109">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="modulemd_component_copy" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="67">A newly-allocated copy of @self</doc>
          <type name="Component" c:type="ModulemdComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="62">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="key"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="63">An optional new key for the copied component which is
used as the lookup key when this component is attached to a
#ModulemdModuleStream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_component_equals"
              version="2.3">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="51">TRUE, if both the objects are equal. FALSE, otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="48">A #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="49">A #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buildafter"
              c:identifier="modulemd_component_get_buildafter"
              shadowed-by="get_buildafter_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="36"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildafter_as_strv"
              c:identifier="modulemd_component_get_buildafter_as_strv"
              shadows="get_buildafter"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="129"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="123">The set of component keys that this component
depends upon.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="121">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildonly"
              c:identifier="modulemd_component_get_buildonly"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="149">TRUE if this component is used only for building this module.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="147">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildorder"
              c:identifier="modulemd_component_get_buildorder"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="172">The value of the buildorder</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="170">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key"
              c:identifier="modulemd_component_get_key"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="216">The name of the key used to attach this component
to a #ModulemdModuleStream.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="214">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_component_get_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="201">The name of the component. Note that this may be
different from the key used to save this component to a
#ModulemdModuleStream. If you specifically need the key, use
modulemd_component_get_key() instead.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="199">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rationale"
              c:identifier="modulemd_component_get_rationale"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="247"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="242">The rationale.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="240">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_buildonly"
              c:identifier="modulemd_component_set_buildonly"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="134">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="buildonly" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="135">Whether this component is used only for building this module. If
set to TRUE, the build system should add any artifacts produced by this
component to the data.filters section of the output modulemd.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buildorder"
              c:identifier="modulemd_component_set_buildorder"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="165"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="159">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="buildorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="160">The order this component should be built relative to others.</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="modulemd_component_set_name"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="194"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="182">This #ModulemdComponent object.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="183">The name of this component. Note that this is different
from the key used to save this component to a #ModulemdModuleStream. If this
value is set, it adds a "name:" attribute to this component. This is used in
bootstrapping cases where the key is a different name used to differentiate
multiple ordered builds of the same component name. This function is
currently only implemented for #ModulemdComponentRpm and has no effect on
other #ModulemdComponent types.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rationale"
              c:identifier="modulemd_component_set_rationale"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="234"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="227">This #ModulemdComponent object</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
          <parameter name="rationale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="228">The reason that this component is part of the
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_component_validate"
              version="2.2"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
             line="75">Verifies that all stored values are internally consistent and that the
component is sufficiently-complete for emitting. This function is called
implicitly before attempting to emit the contents.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
               line="84">TRUE if the #ModulemdComponent passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="77">This #ModulemdComponent.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="buildonly" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="buildorder" writable="1" transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="rationale" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ComponentClass"
            c:type="ModulemdComponentClass"
            glib:is-gtype-struct-for="Component">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                       line="44"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="copy">
        <callback name="copy">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                           line="35"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="67">A newly-allocated copy of @self</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="62">This #ModulemdComponent object</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
            <parameter name="key"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="63">An optional new key for the copied component which is
used as the lookup key when this component is attached to a
#ModulemdModuleStream.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_name">
        <callback name="set_name">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                           line="36"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="182">This #ModulemdComponent object.</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
            <parameter name="name"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="183">The name of this component. Note that this is different
from the key used to save this component to a #ModulemdModuleStream. If this
value is set, it adds a "name:" attribute to this component. This is used in
bootstrapping cases where the key is a different name used to differentiate
multiple ordered builds of the same component name. This function is
currently only implemented for #ModulemdComponentRpm and has no effect on
other #ModulemdComponent types.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_name">
        <callback name="get_name">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="201">The name of the component. Note that this may be
different from the key used to save this component to a
#ModulemdModuleStream. If you specifically need the key, use
modulemd_component_get_key() instead.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="199">This #ModulemdComponent object</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="validate">
        <callback name="validate" throws="1">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="84">TRUE if the #ModulemdComponent passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="77">This #ModulemdComponent.</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equals">
        <callback name="equals">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                           line="39"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                 line="51">TRUE, if both the objects are equal. FALSE, otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self_1" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="48">A #ModulemdComponent object</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
            <parameter name="self_2" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-component.h"
                   line="49">A #ModulemdComponent object</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="7">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="ComponentModule"
           c:symbol-prefix="component_module"
           c:type="ModulemdComponentModule"
           parent="Component"
           glib:type-name="ModulemdComponentModule"
           glib:get-type="modulemd_component_module_get_type"
           glib:type-struct="ComponentModuleClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_component_module_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
               line="41">A newly-allocated #ModulemdComponentModule object.</doc>
          <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="38">The key of this module component. Used when looking up
components from a #ModulemdModuleStream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_ref"
              c:identifier="modulemd_component_module_get_ref"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
               line="65">The commit ID in the SCM repository.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="63">This #ModulemdComponentModule object</doc>
            <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repository"
              c:identifier="modulemd_component_module_get_repository"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
               line="89">The URI of the SCM repository.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="87">This #ModulemdComponentModule object</doc>
            <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_ref"
              c:identifier="modulemd_component_module_set_ref"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="51">This #ModulemdComponentModule object.</doc>
            <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
          </instance-parameter>
          <parameter name="ref"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="52">The commit ID in the SCM repository.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repository"
              c:identifier="modulemd_component_module_set_repository"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="75">This #ModulemdComponentModule object</doc>
            <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
          </instance-parameter>
          <parameter name="repository"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                 line="76">The URI of the SCM repository.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="ref" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="repository" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ComponentModuleClass"
            c:type="ModulemdComponentModuleClass"
            glib:is-gtype-struct-for="ComponentModule">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-module.h"
                       line="29"/>
      <field name="parent_class">
        <type name="ComponentClass" c:type="ModulemdComponentClass"/>
      </field>
    </record>
    <class name="ComponentRpm"
           c:symbol-prefix="component_rpm"
           c:type="ModulemdComponentRpm"
           parent="Component"
           glib:type-name="ModulemdComponentRpm"
           glib:get-type="modulemd_component_rpm_get_type"
           glib:type-struct="ComponentRpmClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_component_rpm_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="41">A newly-allocated #ModulemdComponentRpm object.</doc>
          <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="38">The key of this module component. Used when looking up
components from a #ModulemdModuleStream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_multilib_arch"
              c:identifier="modulemd_component_rpm_add_multilib_arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
             line="90">Add an architectures on which this RPM will be multilib. It may be called
any number of times. Use modulemd_component_rpm_reset_multilib_arches() to
return to "no architectures".</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="92">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="93">An architecture on which this package should be multilib.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_restricted_arch"
              c:identifier="modulemd_component_rpm_add_restricted_arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
             line="49">Restrict the list of architectures on which this RPM will be available. It
may be called any number of times to indicate support on additional
architectures. Use modulemd_component_rpm_reset_arches() to return to "all
architectures".</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="51">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="52">An architecture on which this package should be available.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arches"
              c:identifier="modulemd_component_rpm_get_arches"
              shadowed-by="get_arches_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="42"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arches_as_strv"
              c:identifier="modulemd_component_rpm_get_arches_as_strv"
              shadows="get_arches"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="87"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="82">A list of architectures on which this RPM should be available.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="80">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cache"
              c:identifier="modulemd_component_rpm_get_cache"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="147">The lookaside cache URL.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="145">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_multilib_arches"
              c:identifier="modulemd_component_rpm_get_multilib_arches"
              shadowed-by="get_multilib_arches_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="48"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_multilib_arches_as_strv"
              c:identifier="modulemd_component_rpm_get_multilib_arches_as_strv"
              shadows="get_multilib_arches"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="127"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="122">A list of architectures on which multilib should be available.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="120">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ref"
              c:identifier="modulemd_component_rpm_get_ref"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="175"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="170">The commit ID in the SCM repository.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="168">This #ModulemdComponentRpm object</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repository"
              c:identifier="modulemd_component_rpm_get_repository"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
               line="194">The URI of the SCM repository.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="192">This #ModulemdComponentRpm object</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset_arches"
              c:identifier="modulemd_component_rpm_reset_arches"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
             line="66">Indicate that this RPM component is available on all arches.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="68">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset_multilib_arches"
              c:identifier="modulemd_component_rpm_reset_multilib_arches"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
             line="106">Indicate that this RPM component is multilib on no architectures.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="108">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cache"
              c:identifier="modulemd_component_rpm_set_cache"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="133">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="cache"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="134">The lookaside cache URL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ref"
              c:identifier="modulemd_component_rpm_set_ref"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="157">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="ref"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="158">The commit ID in the SCM repository.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repository"
              c:identifier="modulemd_component_rpm_set_repository"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="180">This #ModulemdComponentRpm object</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="repository"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="181">The URI of the SCM repository.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="cache" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="ref" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="repository" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ComponentRpmClass"
            c:type="ModulemdComponentRpmClass"
            glib:is-gtype-struct-for="ComponentRpm">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-component-rpm.h"
                       line="29"/>
      <field name="parent_class">
        <type name="ComponentClass" c:type="ModulemdComponentClass"/>
      </field>
    </record>
    <class name="Defaults"
           c:symbol-prefix="defaults"
           c:type="ModulemdDefaults"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ModulemdDefaults"
           glib:get-type="modulemd_defaults_get_type"
           glib:type-struct="DefaultsClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                       line="72"/>
      <constructor name="new"
                   c:identifier="modulemd_defaults_new"
                   version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
             line="75">Create a new #ModulemdDefaults.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="88"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="82">a newly created #ModulemdDefaults subtype of the
requested version.</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="77">The version of the defaults metadata to create</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="78">The name of the module to which these defaults apply</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="copy" invoker="copy" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="95">A newly-allocated copy of @self</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="93">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="equals" invoker="equals" version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="122">TRUE if both self_1 and self_2 contain equal values, FALSE if they differed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="119">A #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="120">A #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mdversion"
                      invoker="get_mdversion"
                      version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="165">The metadata version of this defaults object.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="163">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="validate"
                      invoker="validate"
                      version="2.0"
                      throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="108">TRUE if validation passed, FALSE and sets @error appropriately if
validation failed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="105">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="copy" c:identifier="modulemd_defaults_copy" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="100"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="95">A newly-allocated copy of @self</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="93">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_defaults_equals"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="122">TRUE if both self_1 and self_2 contain equal values, FALSE if they differed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="119">A #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="120">A #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mdversion"
              c:identifier="modulemd_defaults_get_mdversion"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="165">The metadata version of this defaults object.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="163">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified"
              c:identifier="modulemd_defaults_get_modified"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="189">The last modified time represented as a 64-bit integer
(such as 201807011200)</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="187">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="modulemd_defaults_get_module_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="152">The name of the module to which these defaults
apply.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="150">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_modified"
              c:identifier="modulemd_defaults_set_modified"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="175">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="176">The last modified time represented as a 64-bit integer
(such as 201807011200)</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="upgrade"
              c:identifier="modulemd_defaults_upgrade"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="136">A newly-allocated copy of @self upgraded to the
requested defaults version. NULL if the upgrade cannot be performed and sets
@error appropriately. This function does not modify @self.</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="132">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="133">The version to upgrade to.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_defaults_validate"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
               line="108">TRUE if validation passed, FALSE and sets @error appropriately if
validation failed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="105">This #ModulemdDefaults object</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="mdversion" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="DefaultsClass"
            c:type="ModulemdDefaultsClass"
            glib:is-gtype-struct-for="Defaults">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                       line="72"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="copy">
        <callback name="copy">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                           line="61"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="95">A newly-allocated copy of @self</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                   line="93">This #ModulemdDefaults object</doc>
              <type name="Defaults" c:type="ModulemdDefaults*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="validate">
        <callback name="validate" throws="1">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                           line="63"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="108">TRUE if validation passed, FALSE and sets @error appropriately if
validation failed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                   line="105">This #ModulemdDefaults object</doc>
              <type name="Defaults" c:type="ModulemdDefaults*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mdversion">
        <callback name="get_mdversion">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="165">The metadata version of this defaults object.</doc>
            <type name="guint64" c:type="guint64"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                   line="163">This #ModulemdDefaults object</doc>
              <type name="Defaults" c:type="ModulemdDefaults*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equals">
        <callback name="equals">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                 line="122">TRUE if both self_1 and self_2 contain equal values, FALSE if they differed.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self_1" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                   line="119">A #ModulemdDefaults object</doc>
              <type name="Defaults" c:type="ModulemdDefaults*"/>
            </parameter>
            <parameter name="self_2" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                   line="120">A #ModulemdDefaults object</doc>
              <type name="Defaults" c:type="ModulemdDefaults*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="9">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DefaultsV1"
           c:symbol-prefix="defaults_v1"
           c:type="ModulemdDefaultsV1"
           parent="Defaults"
           glib:type-name="ModulemdDefaultsV1"
           glib:get-type="modulemd_defaults_v1_get_type"
           glib:type-struct="DefaultsV1Class">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                       line="30"/>
      <constructor name="new"
                   c:identifier="modulemd_defaults_v1_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="41">A newly-allocated #ModulemdDefaultsV1 object.</doc>
          <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
        </return-value>
        <parameters>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="39">The name of the module to which these defaults apply.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_default_profile_for_stream"
              c:identifier="modulemd_defaults_v1_add_default_profile_for_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="101">Add a profile that will be installed for this stream if none are explicitly
specified by the user. This function may be called any number of times for
the same stream and will deduplicate input.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="103">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="104">The name of the module stream to which to add this
default profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="106">The name of the default profile to add.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="107">The name of the system intent to add profile
defaults to. If NULL, this sets the generic fallback profiles for the
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_profiles_for_stream"
              c:identifier="modulemd_defaults_v1_get_default_profiles_for_stream"
              shadowed-by="get_default_profiles_for_stream_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="61"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_profiles_for_stream_as_strv"
              c:identifier="modulemd_defaults_v1_get_default_profiles_for_stream_as_strv"
              shadows="get_default_profiles_for_stream"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="174"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="167">A sorted list of unique profiles to be installed
by default for this stream. NULL, if this stream_name is not present in the
defaults.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="161">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="162">The name of the string to retrieve the default profiles
for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="164">The name of the system intent from which to
retrieve the profile defaults for this stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_stream"
              c:identifier="modulemd_defaults_v1_get_default_stream"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="74">The name of the default stream for this module.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="69">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="70">The name of the system intent whose default stream
will be retrieved. If left NULL or the specified intent has no different
default, it will return the generic default stream for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_streams_with_default_profiles"
              c:identifier="modulemd_defaults_v1_get_streams_with_default_profiles"
              shadowed-by="get_streams_with_default_profiles_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="54"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="intent" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_streams_with_default_profiles_as_strv"
              c:identifier="modulemd_defaults_v1_get_streams_with_default_profiles_as_strv"
              shadows="get_streams_with_default_profiles"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="97"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="91">A sorted list of unique stream names for which
default profiles have been assigned.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="85">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="86">The name of the system intent whose stream
profiles will be retrieved. If left NULL or the specified intent has no
separate defaults for this module, it will return the generic stream
profiles.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_default_profiles_for_stream"
              c:identifier="modulemd_defaults_v1_remove_default_profiles_for_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="141">Removes this stream from the list of profiles entirely. It will not appear
in the output document.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="143">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="144">The name of the module stream to which to add this
default profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="146">The name of the system intent from which to remove
the profile defaults for this stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_stream"
              c:identifier="modulemd_defaults_v1_set_default_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="49">Set the default stream for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="51">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="default_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="52">The name of the default stream for this
module. If NULL, it will remove the default stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="54">If non-NULL, this indicates the system-intent to
apply this default stream. If NULL, it will be added as common defaults.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_empty_default_profiles_for_stream"
              c:identifier="modulemd_defaults_v1_set_empty_default_profiles_for_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="124">Sets the default profiles for @stream_name to the empty set. When output to
a file, it will appear as `stream_name: []`.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="126">This #ModulemdDefaultsV1 object.</doc>
            <type name="DefaultsV1" c:type="ModulemdDefaultsV1*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="127">The name of the module stream to which to add this
default profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="129">The name of the system intent from which to clear
the profile defaults for this stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="DefaultsV1Class"
            c:type="ModulemdDefaultsV1Class"
            glib:is-gtype-struct-for="DefaultsV1">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults-v1.h"
                       line="30"/>
      <field name="parent_class">
        <type name="DefaultsClass" c:type="ModulemdDefaultsClass"/>
      </field>
    </record>
    <enumeration name="DefaultsVersionEnum"
                 version="2.0"
                 c:type="ModulemdDefaultsVersionEnum">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
                       line="49"/>
      <member name="error" value="-1" c:identifier="MD_DEFAULTS_VERSION_ERROR">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
             line="31">Represents an error handling mdversion.</doc>
      </member>
      <member name="unset" value="0" c:identifier="MD_DEFAULTS_VERSION_UNSET">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
             line="32">Represents an unset mdversion.</doc>
      </member>
      <member name="one" value="1" c:identifier="MD_DEFAULTS_VERSION_ONE">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
             line="33">Represents v1 of the #ModulemdDefaults metadata
format.</doc>
      </member>
      <member name="latest"
              value="1"
              c:identifier="MD_DEFAULTS_VERSION_LATEST">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-defaults.h"
             line="35">Represents the highest-supported version of the
#ModulemdDefaults metadata format.</doc>
      </member>
    </enumeration>
    <class name="Dependencies"
           c:symbol-prefix="dependencies"
           c:type="ModulemdDependencies"
           parent="GObject.Object"
           glib:type-name="ModulemdDependencies"
           glib:get-type="modulemd_dependencies_get_type"
           glib:type-struct="DependenciesClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_dependencies_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="35">A newly-allocated #ModulemdDependencies. This
object must be freed with g_object_unref().</doc>
          <type name="Dependencies" c:type="ModulemdDependencies*"/>
        </return-value>
      </constructor>
      <method name="add_buildtime_stream"
              c:identifier="modulemd_dependencies_add_buildtime_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="74">Add a single stream of a module that is required to build another dependent module. The matrix of streams and module names will be calculated by the build-system. If the provided module name is already present, the streams will be added (with deduplication).</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="76">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="77">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="78">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_runtime_stream"
              c:identifier="modulemd_dependencies_add_runtime_stream"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="144">Adds a module and its stream that is required at runtime by a dependent module. The matrix of streams and module names will be calculated by the build-system. If the listed provided module name is already present, the streams will be added (with deduplication).</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="146">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="147">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="148">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_buildtime_dependencies"
              c:identifier="modulemd_dependencies_clear_buildtime_dependencies">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="104">Remove all buildtime dependencies from this #ModulemdDependencies object

Since 2.5</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="106">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_runtime_dependencies"
              c:identifier="modulemd_dependencies_clear_runtime_dependencies">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="174">Remove all runtime dependencies from this #ModulemdDependencies object

Since 2.5</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="176">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="modulemd_dependencies_copy"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="60">Create a copy of this #ModulemdDependencies object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="66">a copied #ModulemdDependencies object</doc>
          <type name="Dependencies" c:type="ModulemdDependencies*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="62">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_dependencies_equals"
              version="2.2">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="44">Check if self_1 and self_2 are equal objects</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="51">TRUE, if the're equal. FALSE, otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="46">A #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="47">A #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buildtime_modules"
              c:identifier="modulemd_dependencies_get_buildtime_modules"
              shadowed-by="get_buildtime_modules_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="69"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_modules_as_strv"
              c:identifier="modulemd_dependencies_get_buildtime_modules_as_strv"
              shadows="get_buildtime_modules"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="126"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="121">An ordered list of module names of build-time dependencies.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="119">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_streams"
              c:identifier="modulemd_dependencies_get_buildtime_streams"
              shadowed-by="get_buildtime_streams_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="75"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buildtime_streams_as_strv"
              c:identifier="modulemd_dependencies_get_buildtime_streams_as_strv"
              shadows="get_buildtime_streams"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="140"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="135">An ordered list of module streams associated with the specified module that are required at build-time.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="132">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="133">The name of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_runtime_modules"
              c:identifier="modulemd_dependencies_get_runtime_modules"
              shadowed-by="get_runtime_modules_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="82"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_modules_as_strv"
              c:identifier="modulemd_dependencies_get_runtime_modules_as_strv"
              shadows="get_runtime_modules"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="195"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="190">An ordered list of module names of run-time dependencies.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="188">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_streams"
              c:identifier="modulemd_dependencies_get_runtime_streams"
              shadowed-by="get_runtime_streams_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="88"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_runtime_streams_as_strv"
              c:identifier="modulemd_dependencies_get_runtime_streams_as_strv"
              shadows="get_runtime_streams"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="208"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
               line="203">An ordered list of module streams associated with the specified module that are required at run-time.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="200">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="201">The name of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_empty_buildtime_dependencies_for_module"
              c:identifier="modulemd_dependencies_set_empty_buildtime_dependencies_for_module"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="90">Adds a module and inserts an empty list for it as buildtime dependency.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="92">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="93">The name of the module to add dependencies on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_empty_runtime_dependencies_for_module"
              c:identifier="modulemd_dependencies_set_empty_runtime_dependencies_for_module"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
             line="160">Adds a module and inserts an empty list for it as runtime dependency.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="162">This #ModulemdDependencies</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                 line="163">The name of the module to add dependencies on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="DependenciesClass"
            c:type="ModulemdDependenciesClass"
            glib:is-gtype-struct-for="Dependencies">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-dependencies.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Module"
           c:symbol-prefix="module"
           c:type="ModulemdModule"
           parent="GObject.Object"
           glib:type-name="ModulemdModule"
           glib:get-type="modulemd_module_get_type"
           glib:type-struct="ModuleClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                       line="32"/>
      <method name="copy" c:identifier="modulemd_module_copy" version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="52">A deep copy of this #ModulemdModule object</doc>
          <type name="Module" c:type="ModulemdModule*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="50">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_all_streams"
              c:identifier="modulemd_module_get_all_streams"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="89">A list of all available stream objects associated with
this module. There may be multiple streams with the same name and different version and
context. The order of items in this list is not guaranteed.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="ModuleStream"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="87">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_defaults"
              c:identifier="modulemd_module_get_defaults"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="238"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="233">The defaults of this module.</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="231">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="modulemd_module_get_module_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="77">The module name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="75">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_by_NSVC"
              c:identifier="modulemd_module_get_stream_by_NSVC"
              version="2.0"
              deprecated="1"
              deprecated-version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="122">The requested stream object or NULL if no match was found.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="117">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="118">The name of the stream to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="119">The version of the stream to retrieve</doc>
            <type name="guint64" c:type="const guint64"/>
          </parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="120">The context of the stream to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_stream_by_NSVCA"
              c:identifier="modulemd_module_get_stream_by_NSVCA"
              version="2.2"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="176">The requested stream object. NULL and sets @error
appropriately if the provided information is not sufficient to return
exactly one #ModulemdModuleStream result.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="165">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="166">The name of the stream to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="167">The version of the stream to retrieve. If set to zero, the version
is not included in the search.</doc>
            <type name="guint64" c:type="const guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="169">The context of the stream to retrieve. If NULL, the
context is not included in the search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="171">The processor architecture of the stream to retrieve. If
NULL, the architecture is not included in the search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_stream_names"
              c:identifier="modulemd_module_get_stream_names"
              shadowed-by="get_stream_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="95"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_names_as_strv"
              c:identifier="modulemd_module_get_stream_names_as_strv"
              shadows="get_stream_names"
              version="2.6">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="40">An ordered list of stream names in this module.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="38">This #ModulemdModule</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_streams_by_stream_name"
              c:identifier="modulemd_module_get_streams_by_stream_name"
              shadowed-by="get_streams_by_stream_name_as_list"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="101"/>
        <return-value>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_streams_by_stream_name_as_list"
              c:identifier="modulemd_module_get_streams_by_stream_name_as_list"
              shadows="get_streams_by_stream_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="111"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="104">A list of all available stream objects associated with a
particular stream name, sorted highest to lowest by the version. The same version may have
more than one associated context.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="ModuleStream"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="101">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="102">The name of the stream to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_streams_by_NSVCA"
              c:identifier="modulemd_module_remove_streams_by_NSVCA"
              version="2.3">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
             line="191">Remove one or more #ModulemdModuleStream objects from this #ModulemdModule
that match the provided parameters.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="208"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="193">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="194">The name of the stream to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="195">The version of the stream to remove. If set to zero, matches all
versions.</doc>
            <type name="guint64" c:type="const guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="197">The context of the stream to remove. If NULL, matches
all stream contexts.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="199">The processor architecture of the stream to remove. If
NULL, matches all architectures.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_streams"
              c:identifier="modulemd_module_search_streams"
              version="2.5">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="156"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="146">The list
of stream objects matching the requested parameters. This function cannot
fail, but it may return a zero-length list if no matches were found. The
returned streams will be in a predictable order, sorted first by stream
name, then by version (highest to lowest), then by context and finally by
architecture.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="ModuleStream"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="137">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="138">The name of the stream to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="139">The version of the stream to retrieve. If set to zero,
the version is not included in the search.</doc>
            <type name="guint64" c:type="const guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="141">The context of the stream to retrieve. If NULL, the
context is not included in the search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="143">The processor architecture of the stream to retrieve. If
NULL, the architecture is not included in the search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_module_validate"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
               line="65">TRUE if validation passed, FALSE and sets @error if failed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                 line="62">This #ModulemdModule object</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleClass"
            c:type="ModulemdModuleClass"
            glib:is-gtype-struct-for="Module">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module.h"
                       line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ModuleIndex"
           c:symbol-prefix="module_index"
           c:type="ModulemdModuleIndex"
           parent="GObject.Object"
           glib:type-name="ModulemdModuleIndex"
           glib:get-type="modulemd_module_index_get_type"
           glib:type-struct="ModuleIndexClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                       line="70"/>
      <constructor name="new"
                   c:identifier="modulemd_module_index_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="137"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="132">A newly-allocated #ModulemdModuleIndex object.</doc>
          <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
        </return-value>
      </constructor>
      <method name="add_defaults"
              c:identifier="modulemd_module_index_add_defaults"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="389"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="382">TRUE if the #ModulemdDefaults was added successfully. If the defaults
already existed in the index, it will be replaced by the new one. On failure,
returns FALSE and sets error approriately.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="377">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="defaults" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="378">The #ModulemdDefaults object to add to the index.</doc>
            <type name="Defaults" c:type="ModulemdDefaults*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_module_stream"
              c:identifier="modulemd_module_index_add_module_stream"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="349">Add a #ModulemdModuleStream to the #ModulemdModuleIndex. While being added,
the #ModulemdModuleStream will be upgraded to MD_MODULESTREAM_VERSION_LATEST
to ensure that merges done with #ModulemdModuleIndexMerger will always occur
between streams of the same version. If this upgrade cannot be performed,
the function will return @error set appropriately.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="370"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="363">TRUE if the #ModulemdModuleStream was added successfully. If the
stream already existed in the index, it will be replaced by the new one. On
failure, returns FALSE and sets @error appropriately.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="351">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="352">The #ModulemdModuleStream to add to the index. The stream added
must have a module name and stream name set on it or it will be rejected.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_translation"
              c:identifier="modulemd_module_index_add_translation"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="431"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="424">TRUE if the #ModulemdTranslation was added successfully. If the
translation already existed in the index, it will be replaced by the new one.
On failure, returns FALSE and sets error appropriately.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="419">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="translation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="420">The #ModulemdTranslation object to add to the index.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_to_custom"
              c:identifier="modulemd_module_index_dump_to_custom"
              version="2.3"
              introspectable="0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="298"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="292">TRUE if written successfully, FALSE and sets error appropriately in
the event of an error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="285">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="custom_write_fn"
                     transfer-ownership="none"
                     closure="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="286">A #ModulemdWriteHandler</doc>
            <type name="WriteHandler" c:type="ModulemdWriteHandler"/>
          </parameter>
          <parameter name="custom_pvt_data"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="287">The private data needed by the
#ModulemdWriteHandler</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_to_stream"
              c:identifier="modulemd_module_index_dump_to_stream"
              version="2.0"
              introspectable="0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="278"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="272">TRUE if written successfully, FALSE and sets error appropriately in
the event of an error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="266">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="yaml_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="267">A stream to write the module metadata and other related
information to.</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_to_string"
              c:identifier="modulemd_module_index_dump_to_string"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="261"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="255">A YAML representation of the index as a string. In
the event of an error, sets error appropriately and returns NULL.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="251">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_streams"
              c:identifier="modulemd_module_index_get_default_streams"
              shadowed-by="get_default_streams_as_hash_table"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="271"/>
        <return-value>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="intent" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_streams_as_hash_table"
              c:identifier="modulemd_module_index_get_default_streams_as_hash_table"
              shadows="get_default_streams"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="394">Get a dictionary of all modules in the index that have a default stream.

This function cannot fail, but may return an empty (non-NULL) GHashTable.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="413"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="405">A #GHashTable with
the module name as the key and the default stream as the value for all
modules with a default stream in the index. Modules without a default stream
will not appear in this table.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="utf8"/>
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="396">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="intent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="397">The name of the system intent whose default stream
will be retrieved. If left NULL or the specified intent has no separate
default, it will return the generic default stream for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_defaults_mdversion"
              c:identifier="modulemd_module_index_get_defaults_mdversion"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="444"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="439">The metadata version of #ModulemdDefaults in use for this index.</doc>
          <type name="DefaultsVersionEnum"
                c:type="ModulemdDefaultsVersionEnum"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="437">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module"
              c:identifier="modulemd_module_index_get_module"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="327"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="321">The #ModulemdModule object matching the provided
module name or NULL if the key was not present in the index.</doc>
          <type name="Module" c:type="ModulemdModule*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="318">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="319">The module name to look up in the index.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_module_names"
              c:identifier="modulemd_module_index_get_module_names"
              shadowed-by="get_module_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="265"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_names_as_strv"
              c:identifier="modulemd_module_index_get_module_names_as_strv"
              shadows="get_module_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="313"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="308">An ordered list of string keys in this index.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="306">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_mdversion"
              c:identifier="modulemd_module_index_get_stream_mdversion"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="457"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="451">The metadata version of #ModulemdModuleStream in use for this
index.</doc>
          <type name="ModuleStreamVersionEnum"
                c:type="ModulemdModuleStreamVersionEnum"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="449">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_module"
              c:identifier="modulemd_module_index_remove_module"
              version="2.2">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="331">Remove a module, including all of its streams, its defaults and its
translations from a #ModulemdModuleIndex.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="346"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="339">TRUE if the module name was present in the index. FALSE if it was
not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="333">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="334">The name of the module to remove from the index.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_from_custom"
              c:identifier="modulemd_module_index_update_from_custom"
              version="2.3"
              introspectable="0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="241"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="234">TRUE if the update was successful. Returns FALSE and sets @failures
approriately if any of the YAML subdocuments were invalid or sets @error if
there was a fatal parse error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="223">This #ModulemdModuleIndex object</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="custom_read_fn"
                     transfer-ownership="none"
                     closure="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="224">A #ModulemdReadHandler</doc>
            <type name="ReadHandler" c:type="ModulemdReadHandler"/>
          </parameter>
          <parameter name="custom_pvt_data"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="225">The private data needed by the #ModulemdReadHandler</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="226">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="failures"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="container">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="228">
An array containing any subdocuments from the YAML file that failed to parse.
See #ModulemdSubdocumentInfo for more details.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray**">
              <type name="SubdocumentInfo"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="update_from_file"
              c:identifier="modulemd_module_index_update_from_file"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="160"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="153">TRUE if the update was successful. Returns FALSE and sets failures
approriately if any of the YAML subdocuments were invalid or sets @error if
there was a fatal parse error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="142">This #ModulemdModuleIndex object</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="yaml_file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="143">A YAML file containing the module metadata and other
related information such as default streams.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="145">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="failures"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="container">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="147">
An array containing any subdocuments from the YAML file that failed to parse.
See #ModulemdSubdocumentInfo for more details.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray**">
              <type name="SubdocumentInfo"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="update_from_stream"
              c:identifier="modulemd_module_index_update_from_stream"
              version="2.0"
              introspectable="0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="207">TRUE if the update was successful. Returns FALSE and sets failures
approriately if any of the YAML subdocuments were invalid or sets @error if
there was a fatal parse error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="196">This #ModulemdModuleIndex object</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="yaml_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="197">A YAML stream containing the module metadata and other
related information such as default streams.</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="199">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="failures"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="container">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="201">
An array containing any subdocuments from the YAML file that failed to parse.
See #ModulemdSubdocumentInfo for more details.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray**">
              <type name="SubdocumentInfo"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="update_from_string"
              c:identifier="modulemd_module_index_update_from_string"
              version="2.0"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="187"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="180">TRUE if the update was successful. Returns FALSE and sets failures
approriately if any of the YAML subdocuments were invalid or sets @error if
there was a fatal parse error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="169">This #ModulemdModuleIndex object</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="yaml_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="170">A YAML string containing the module metadata and other
related information such as default streams.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="172">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="failures"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="container">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="174">
An array containing any subdocuments from the YAML file that failed to parse.
See #ModulemdSubdocumentInfo for more details.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray**">
              <type name="SubdocumentInfo"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="upgrade_defaults"
              c:identifier="modulemd_module_index_upgrade_defaults"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="479">Upgrades all #ModulemdDefaults objects in this index to @mdversion if they
are not already at that version.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="492"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="481">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="482">The #ModulemdDefaults metadata version to upgrade to.</doc>
            <type name="DefaultsVersionEnum"
                  c:type="ModulemdDefaultsVersionEnum"/>
          </parameter>
        </parameters>
      </method>
      <method name="upgrade_streams"
              c:identifier="modulemd_module_index_upgrade_streams"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="460">Upgrades all #ModulemdModuleStream objects in this index to @mdversion if
they are not already at that version.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                         line="473"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="462">This #ModulemdModuleIndex</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                 line="463">The #ModulemdModuleStream metadata version to upgrade to.</doc>
            <type name="ModuleStreamVersionEnum"
                  c:type="ModulemdModuleStreamVersionEnum"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ModuleIndexClass"
            c:type="ModulemdModuleIndexClass"
            glib:is-gtype-struct-for="ModuleIndex">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                       line="70"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ModuleIndexMerger"
           c:symbol-prefix="module_index_merger"
           c:type="ModulemdModuleIndexMerger"
           parent="GObject.Object"
           glib:type-name="ModulemdModuleIndexMerger"
           glib:get-type="modulemd_module_index_merger_get_type"
           glib:type-struct="ModuleIndexMergerClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                       line="100"/>
      <constructor name="new"
                   c:identifier="modulemd_module_index_merger_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="116"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="110">A newly-allocated Modulemd.ModuleIndexMerger
object.</doc>
          <type name="ModuleIndexMerger" c:type="ModulemdModuleIndexMerger*"/>
        </return-value>
      </constructor>
      <method name="associate_index"
              c:identifier="modulemd_module_index_merger_associate_index"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="119">Enqueues a #ModulemdModuleIndex representing the parsed metadata from a
repository into this #ModulemdModuleIndexMerger for merging and
deduplication of other repositories.

Once all repositories have been added, call
modulemd_module_index_merger_resolve() to perform the merge.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="121">This #ModulemdModuleIndexMerger object.</doc>
            <type name="ModuleIndexMerger"
                  c:type="ModulemdModuleIndexMerger*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="122">A #ModulemdModuleIndex, usually constructed by
reading the module metadata from a repository with
modulemd_module_index_update_from_file(),
modulemd_module_index_update_from_string(), or
`modulemd_module_index_update_from_stream()`. This function take a reference
on @index, so the caller must not modify it while the
#ModulemdModuleIndexMerger is in use.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="129">The priority of the repository that the entries in @index
came from. This is used to determine when @index should override rather then
merge. In most cases, this will be zero. See the Description section for the
#ModulemdModuleIndexMerger class for details on the merge logic. Acceptable
values are in the range of 0-1000.</doc>
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="resolve"
              c:identifier="modulemd_module_index_merger_resolve"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="150">Merges all added #ModulemdModuleIndex objects according to their priority.
The logic of this merge is described in the Description of
#ModulemdModuleIndexMerger.

Once this function has been called, the internal state of the
#ModulemdModuleIndexMerger is undefined. The only valid action on it after
that point is g_object_unref().

This function is equivalent to calling
modulemd_module_index_merger_resolve_ext() with
`strict_default_streams=FALSE`.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="175"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="168">A newly-allocated #ModulemdModuleIndex containing
the merged results. If this function encounters an unresolvable merge
conflict, it will return NULL and set @error appropriately.</doc>
          <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="152">This #ModulemdModuleIndexMerger object.</doc>
            <type name="ModuleIndexMerger"
                  c:type="ModulemdModuleIndexMerger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="resolve_ext"
              c:identifier="modulemd_module_index_merger_resolve_ext"
              version="2.6"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="179">Merges all added #ModulemdModuleIndex objects according to their priority.
The logic of this merge is described in the Description of
#ModulemdModuleIndexMerger.

Once this function has been called, the internal state of the
#ModulemdModuleIndexMerger is undefined. The only valid action on it after
that point is g_object_unref().</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="203"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="196">A newly-allocated #ModulemdModuleIndex containing
the merged results. If this function encounters an unresolvable merge
conflict, it will return NULL and set @error appropriately.</doc>
          <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="181">This #ModulemdModuleIndexMerger object.</doc>
            <type name="ModuleIndexMerger"
                  c:type="ModulemdModuleIndexMerger*"/>
          </instance-parameter>
          <parameter name="strict_default_streams" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="182">If TRUE, merging two #ModulemdDefaults with
conflicting default streams will raise an error. If FALSE, the module will
have its default stream blocked.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ModuleIndexMergerClass"
            c:type="ModulemdModuleIndexMergerClass"
            glib:is-gtype-struct-for="ModuleIndexMerger">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index-merger.h"
                       line="100"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ModuleStream"
           c:symbol-prefix="module_stream"
           c:type="ModulemdModuleStream"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ModulemdModuleStream"
           glib:get-type="modulemd_module_stream_get_type"
           glib:type-struct="ModuleStreamClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                       line="92"/>
      <constructor name="new"
                   c:identifier="modulemd_module_stream_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="107"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="101">A newly-allocated #ModulemdModuleStream object of
the requested metadata version.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="97">The metadata version of #ModulemdModuleStream to create.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="98">The name of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="99">The name of this stream. Optional.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="read_file"
                c:identifier="modulemd_module_stream_read_file"
                version="2.0"
                throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="112">Create a #ModulemdModuleStream object from a YAML file.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="137"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="128">A newly-allocated #ModulemdModuleStream object if
the YAML file was valid and contained exactly one `document: modulemd`
subdocument. NULL if the document fails validation or multiple documents are
encountered and sets NULL appropriately. See #ModulemdModuleIndex for
functions to read in multiple-subdocument YAML.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="114">The path to a YAML document containing a module stream
definition.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="116">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="118">An optional module name to override the
document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="121">An optional module stream name to override
the document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="read_stream"
                c:identifier="modulemd_module_stream_read_stream"
                version="2.0"
                introspectable="0"
                throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="176">Create a #ModulemdModuleStream object from a YAML file.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="201"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="192">A newly-allocated #ModulemdModuleStream object if
the YAML file was valid and contained exactly one `document: modulemd`
subdocument. NULL if the document fails validation or multiple documents are
encountered and sets NULL appropriately. See #ModulemdModuleIndex for
functions to read in multiple-subdocument YAML.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="178">A YAML document as a FILE * containing a module stream
definition.</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="180">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="182">An optional module name to override the
document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="185">An optional module stream name to override
the document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="read_string"
                c:identifier="modulemd_module_stream_read_string"
                version="2.0"
                throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="144">Create a #ModulemdModuleStream object from a YAML string.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="169"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="160">A newly-allocated #ModulemdModuleStream object if
the YAML string was valid and contained exactly one `document: modulemd`
subdocument. NULL if the document fails validation or multiple documents are
encountered and sets NULL appropriately. See #ModulemdModuleIndex for
functions to read in multiple-subdocument YAML.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <parameter name="yaml_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="146">A YAML document string containing a module stream
definition.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="148">Whether the parser should return failure if it encounters an
unknown mapping key or if it should ignore it.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="150">An optional module name to override the
document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="153">An optional module stream name to override
the document on disk. Mostly useful in cases where the name is being
auto-detected from git.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="build_depends_on_stream"
                      invoker="build_depends_on_stream"
                      version="2.1"
                      stability="Unstable">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="459">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the build-time
dependencies.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="455">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="456">A module name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="457">The stream of the module</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="copy" invoker="copy" version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="224">Copies a #ModulemdModuleStream, optionally assigning it a new stream name in
the process.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="234">A newly-allocated #ModulemdModuleStream object
that is a complete copy of @self, optionally with a new stream name.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="226">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="227">An optional new name for the module of the
copied stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="229">An optional new name for the copied stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="depends_on_stream"
                      invoker="depends_on_stream"
                      version="2.1"
                      stability="Unstable">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="439">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the runtime
dependencies.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="435">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="436">A module name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="437">The stream of the module</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="equals" invoker="equals" version="2.3">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="208">Checks if self_1 and self_2 are identical objects.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="215">TRUE, If both objects are equal. FALSE, otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="210">A #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="211">A #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mdversion"
                      invoker="get_mdversion"
                      version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="288">The metadata version of this #ModulemdModuleStream.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="286">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="validate"
                      invoker="validate"
                      version="2.0"
                      throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="266">Verifies that all stored values are internally consistent and that the
module is sufficiently-complete for emitting. This function is called
implicitly before attempting to emit the contents.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="275">TRUE if the #ModulemdModuleStream passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="268">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="build_depends_on_stream"
              c:identifier="modulemd_module_stream_build_depends_on_stream"
              version="2.1"
              stability="Unstable">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="468"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="459">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the build-time
dependencies.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="455">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="456">A module name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="457">The stream of the module</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="modulemd_module_stream_copy"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="224">Copies a #ModulemdModuleStream, optionally assigning it a new stream name in
the process.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="240"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="234">A newly-allocated #ModulemdModuleStream object
that is a complete copy of @self, optionally with a new stream name.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="226">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="227">An optional new name for the module of the
copied stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="229">An optional new name for the copied stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="depends_on_stream"
              c:identifier="modulemd_module_stream_depends_on_stream"
              version="2.1"
              stability="Unstable">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="448"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="439">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the runtime
dependencies.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="435">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="436">A module name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="437">The stream of the module</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_module_stream_equals"
              version="2.3">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="208">Checks if self_1 and self_2 are identical objects.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="220"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="215">TRUE, If both objects are equal. FALSE, otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="210">A #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="211">A #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_NSVCA"
              c:identifier="modulemd_module_stream_get_NSVCA"
              shadowed-by="get_NSVCA_as_string"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="115"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_NSVCA_as_string"
              c:identifier="modulemd_module_stream_get_NSVCA_as_string"
              shadows="get_NSVCA"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="430"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="422">The NSVCA of this module stream. The returned
format is described
[here](https://docs.fedoraproject.org/en-US/modularity/architecture/consuming/naming-policy/#_forms).
NULL if module name or stream stream is unknown.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="420">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_module_stream_get_arch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="396"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="389">Module architecture.
Indicates to which processor architecture this #ModulemdModuleStream
applies.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="387">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="modulemd_module_stream_get_context"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="368"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="360">Module context flag.
The context flag serves to distinguish module builds with the same name,
stream and version and plays an important role in automatic module stream
name expansion.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="358">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mdversion"
              c:identifier="modulemd_module_stream_get_mdversion"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="288">The metadata version of this #ModulemdModuleStream.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="286">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="modulemd_module_stream_get_module_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="305"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="300">The name of the module.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="298">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nsvc"
              c:identifier="modulemd_module_stream_get_nsvc"
              shadowed-by="get_nsvc_as_string"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="108"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nsvc_as_string"
              c:identifier="modulemd_module_stream_get_nsvc_as_string"
              shadows="get_nsvc"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="399">Retrieves a representation of the module name, stream name, version and
context of this #ModulemdModuleStream in the form
`module_name:stream_name:version:context`. Note that this excludes the
architecture of the module stream and as such is not guaranteed to be unique
within a repository.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="415"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="409">The NSVC (name:stream:version[:context]) of this
module stream. NULL if module name or stream stream is unknown.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="401">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_name"
              c:identifier="modulemd_module_stream_get_stream_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="317"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="312">The name of this stream.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="310">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="modulemd_module_stream_get_version">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="339"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="336">The version of this #ModulemdModuleStream.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="334">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_module_stream_set_arch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="381"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="373">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="arch"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="374">Module architecture.
Indicates to which processor architecture this #ModulemdModuleStream
applies.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_context"
              c:identifier="modulemd_module_stream_set_context"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="352"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="343">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="344">Module context flag.
The context flag serves to distinguish module builds with the same name,
stream and version and plays an important role in automatic module stream
name expansion.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_version"
              c:identifier="modulemd_module_stream_set_version"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="328"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="322">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="323">The version of this #ModulemdModuleStream</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="upgrade"
              c:identifier="modulemd_module_stream_upgrade"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="245">Return an upgraded copy of this object. Does not modify the original.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="261"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="254">A newly-allocated #ModulemdModuleStream copy of
this object upgraded to the requested version. Returns NULL and sets @error
appropriately if the upgrade could not be completed automatically.</doc>
          <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="247">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="248">The metadata version to upgrade to. If zero, upgrades to
the highest-supported version.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_module_stream_validate"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="266">Verifies that all stored values are internally consistent and that the
module is sufficiently-complete for emitting. This function is called
implicitly before attempting to emit the contents.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                         line="281"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
               line="275">TRUE if the #ModulemdModuleStream passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="268">This #ModulemdModuleStream.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="context"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="mdversion" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="stream-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ModuleStreamClass"
            c:type="ModulemdModuleStreamClass"
            glib:is-gtype-struct-for="ModuleStream">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                       line="92"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="copy">
        <callback name="copy">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="70"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="234">A newly-allocated #ModulemdModuleStream object
that is a complete copy of @self, optionally with a new stream name.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="226">This #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="module_name"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="227">An optional new name for the module of the
copied stream.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="module_stream"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="229">An optional new name for the copied stream.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="validate">
        <callback name="validate" throws="1">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="74"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="275">TRUE if the #ModulemdModuleStream passed validation. FALSE and sets
@error appropriately if validation fails.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="268">This #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mdversion">
        <callback name="get_mdversion">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="76"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="288">The metadata version of this #ModulemdModuleStream.</doc>
            <type name="guint64" c:type="guint64"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="286">This #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="depends_on_stream">
        <callback name="depends_on_stream">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="78"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="439">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the runtime
dependencies.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="435">This #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="module_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="436">A module name</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="stream_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="437">The stream of the module</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="build_depends_on_stream">
        <callback name="build_depends_on_stream">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="82"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="459">TRUE if any of the #ModulemdDependencies objects associated with
this module applies to the provided module name and stream in the build-time
dependencies.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="455">This #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="module_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="456">A module name</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="stream_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="457">The stream of the module</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equals">
        <callback name="equals">
          <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                           line="86"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                 line="215">TRUE, If both objects are equal. FALSE, otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self_1" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="210">A #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="self_2" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                   line="211">A #ModulemdModuleStream.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="7">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="ModuleStreamV1"
           c:symbol-prefix="module_stream_v1"
           c:type="ModulemdModuleStreamV1"
           parent="ModuleStream"
           glib:type-name="ModulemdModuleStreamV1"
           glib:get-type="modulemd_module_stream_v1_get_type"
           glib:type-struct="ModuleStreamV1Class">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                       line="38"/>
      <constructor name="new"
                   c:identifier="modulemd_module_stream_v1_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="50">A newly-allocated #ModulemdModuleStreamV1 object,
with the specified module and stream names, if provided.</doc>
          <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
        </return-value>
        <parameters>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="47">The name of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="48">The name of this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_buildtime_requirement"
              c:identifier="modulemd_module_stream_v1_add_buildtime_requirement"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="784">Add a build-time dependency for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="795"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="786">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="787">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="788">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_component"
              c:identifier="modulemd_module_stream_v1_add_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="259">Add a component definition to the module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="270"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="261">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="262">A #ModulemdComponent to be added to this
module stream.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_content_license"
              c:identifier="modulemd_module_stream_v1_add_content_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="395"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="388">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="389">A license under which one or more of the components of this
module stream are distributed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_module_license"
              c:identifier="modulemd_module_stream_v1_add_module_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="407"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="401">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="402">A license under which this module stream is distributed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_profile"
              c:identifier="modulemd_module_stream_v1_add_profile"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="490">Adds a profile definition to this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="500"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="492">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="493">A #ModulemdProfile for this module stream.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_api"
              c:identifier="modulemd_module_stream_v1_add_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="554"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="547">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="548">The name of a binary RPM present in this module that is
considered stable public API.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_artifact"
              c:identifier="modulemd_module_stream_v1_add_rpm_artifact"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="603"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="597">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="598">The NEVR of a binary RPM present in this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_filter"
              c:identifier="modulemd_module_stream_v1_add_rpm_filter"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="653"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="647">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="648">The name of a binary RPM to filter out of this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_runtime_requirement"
              c:identifier="modulemd_module_stream_v1_add_runtime_requirement"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="800">Add a runtime dependency for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="811"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="802">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="803">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="804">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_servicelevel"
              c:identifier="modulemd_module_stream_v1_add_servicelevel"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="695">Adds a servicelevel definition to this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="705"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="697">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="servicelevel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="698">A #ModulemdServiceLevel for this module stream.</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_buildtime_requirements"
              c:identifier="modulemd_module_stream_v1_clear_buildtime_requirements"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="845">Remove all buildtime dependencies for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="854"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="847">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_content_licenses"
              c:identifier="modulemd_module_stream_v1_clear_content_licenses"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="424">Remove all content licenses.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="433"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="426">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_components"
              c:identifier="modulemd_module_stream_v1_clear_module_components"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="289">Remove all module components from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="298"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="291">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_licenses"
              c:identifier="modulemd_module_stream_v1_clear_module_licenses"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="450">Remove all module licenses.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="459"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="452">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_profiles"
              c:identifier="modulemd_module_stream_v1_clear_profiles"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="504">Removes all profiles from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="513"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="506">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_api"
              c:identifier="modulemd_module_stream_v1_clear_rpm_api"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="570">Remove all RPMs from the list of stable public API.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="579"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="572">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_artifacts"
              c:identifier="modulemd_module_stream_v1_clear_rpm_artifacts"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="619">Remove all RPM NEVRs from the list of artifacts</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="628"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="621">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_components"
              c:identifier="modulemd_module_stream_v1_clear_rpm_components"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="317">Remove all RPM components from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="326"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="319">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_filters"
              c:identifier="modulemd_module_stream_v1_clear_rpm_filters"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="669">Remove all RPMs from the filter list.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="678"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="671">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_runtime_requirements"
              c:identifier="modulemd_module_stream_v1_clear_runtime_requirements"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="858">Remove all runtime dependencies for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="867"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="860">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_servicelevels"
              c:identifier="modulemd_module_stream_v1_clear_servicelevels"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="709">Removes all servicelevels from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="718"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="711">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_module_stream_v1_get_arch"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="81">The module artifact architecture.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="79">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildopts"
              c:identifier="modulemd_module_stream_v1_get_buildopts"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="108">The build options for this module's components.</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="106">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_modules"
              c:identifier="modulemd_module_stream_v1_get_buildtime_modules"
              shadowed-by="get_buildtime_modules_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="178"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_modules_as_strv"
              c:identifier="modulemd_module_stream_v1_get_buildtime_modules_as_strv"
              shadows="get_buildtime_modules"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="881"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="875">An ordered list of module names that this module
depends on at build-time.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="873">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_requirement_stream"
              c:identifier="modulemd_module_stream_v1_get_buildtime_requirement_stream"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="910"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="904">The name of the stream matching this module name
in the build-time dependencies.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="901">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="902">The name of the module this module depends on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_community"
              c:identifier="modulemd_module_stream_v1_get_community"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="134">The module community website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="132">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_licenses"
              c:identifier="modulemd_module_stream_v1_get_content_licenses"
              shadowed-by="get_content_licenses_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="135"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_licenses_as_strv"
              c:identifier="modulemd_module_stream_v1_get_content_licenses_as_strv"
              shadows="get_content_licenses"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="472"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="466">An ordered list of licenses under which one or
more components of this module stream are released.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="464">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_module_stream_v1_get_description"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="169"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="163">The module description, translated to the
requested locale if available.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="158">The name of the locale to use when translating
the string. If NULL, it will determine the locale with a system call to
setlocale(LC_MESSAGES, NULL) and return the that. If the caller wants the
untranslated string, they should pass "C" for the locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_documentation"
              c:identifier="modulemd_module_stream_v1_get_documentation"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="196"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="191">The module documentation website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="189">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_eol"
              c:identifier="modulemd_module_stream_v1_get_eol"
              version="2.0"
              deprecated="1"
              deprecated-version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="766">Compatibility function with early iterations of modulemd v1. This function
is a wrapper for Modulemd.ModuleStreamV1.get_servicelevel("rawhide").</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="781"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="773">The end-of-life date for the "rawhide" service
level.</doc>
          <type name="GLib.Date" c:type="GDate*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="768">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component"
              c:identifier="modulemd_module_stream_v1_get_module_component"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="367"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="361">The module component matching @component name if
it exists, else NULL.</doc>
          <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="358">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="359">The name of the component to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_module_component_names"
              c:identifier="modulemd_module_stream_v1_get_module_component_names"
              shadowed-by="get_module_component_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="121"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component_names_as_strv"
              c:identifier="modulemd_module_stream_v1_get_module_component_names_as_strv"
              shadows="get_module_component_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="339"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="333">An ordered list of module component names included
in this stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="331">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_licenses"
              c:identifier="modulemd_module_stream_v1_get_module_licenses"
              shadowed-by="get_module_licenses_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="141"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_licenses_as_strv"
              c:identifier="modulemd_module_stream_v1_get_module_licenses_as_strv"
              shadows="get_module_licenses"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="486"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="480">An ordered list of licenses under which this
module stream is released.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="478">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="modulemd_module_stream_v1_get_profile"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="541"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="535">The requested profile definition if present in the
module stream. NULL otherwise.</doc>
          <type name="Profile" c:type="ModulemdProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="532">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="533">The name of a profile to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_profile_names"
              c:identifier="modulemd_module_stream_v1_get_profile_names"
              shadowed-by="get_profile_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="147"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile_names_as_strv"
              c:identifier="modulemd_module_stream_v1_get_profile_names_as_strv"
              shadows="get_profile_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="526"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="520">An ordered list of profile names associated with
this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="518">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_api"
              c:identifier="modulemd_module_stream_v1_get_rpm_api"
              shadowed-by="get_rpm_api_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="153"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_api_as_strv"
              c:identifier="modulemd_module_stream_v1_get_rpm_api_as_strv"
              shadows="get_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="592"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="586">An ordered list of binary RPM names that forms
the public API of this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="584">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_artifacts"
              c:identifier="modulemd_module_stream_v1_get_rpm_artifacts"
              shadowed-by="get_rpm_artifacts_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="159"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_artifacts_as_strv"
              c:identifier="modulemd_module_stream_v1_get_rpm_artifacts_as_strv"
              shadows="get_rpm_artifacts"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="641"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="635">An ordered list of RPM NEVRs are included in this
module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="633">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component"
              c:identifier="modulemd_module_stream_v1_get_rpm_component"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="382"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="376">The RPM component matching @component name if it
exists, else NULL.</doc>
          <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="373">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="374">The name of the component to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rpm_component_names"
              c:identifier="modulemd_module_stream_v1_get_rpm_component_names"
              shadowed-by="get_rpm_component_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="128"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component_names_as_strv"
              c:identifier="modulemd_module_stream_v1_get_rpm_component_names_as_strv"
              shadows="get_rpm_component_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="352"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="346">An ordered list of RPM component names included
in this stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="344">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_filters"
              c:identifier="modulemd_module_stream_v1_get_rpm_filters"
              shadowed-by="get_rpm_filters_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="165"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_filters_as_strv"
              c:identifier="modulemd_module_stream_v1_get_rpm_filters_as_strv"
              shadows="get_rpm_filters"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="691"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="685">An ordered list of binary RPM names that are
filtered out of this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="683">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_modules"
              c:identifier="modulemd_module_stream_v1_get_runtime_modules"
              shadowed-by="get_runtime_modules_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="184"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_modules_as_strv"
              c:identifier="modulemd_module_stream_v1_get_runtime_modules_as_strv"
              shadows="get_runtime_modules"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="895"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="889">An ordered list of module names that this module
depends on at runtime.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="887">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_requirement_stream"
              c:identifier="modulemd_module_stream_v1_get_runtime_requirement_stream">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="925"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_servicelevel"
              c:identifier="modulemd_module_stream_v1_get_servicelevel"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="746"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="740">The requested servicelevel definition if present in the
module stream. NULL otherwise.</doc>
          <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="737">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="servicelevel_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="738">The name of a servicelevel to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_servicelevel_names"
              c:identifier="modulemd_module_stream_v1_get_servicelevel_names"
              shadowed-by="get_servicelevel_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="171"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_servicelevel_names_as_strv"
              c:identifier="modulemd_module_stream_v1_get_servicelevel_names_as_strv"
              shadows="get_servicelevel_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="731"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="725">An ordered list of servicelevel names associated with
this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="723">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="modulemd_module_stream_v1_get_summary"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="226"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="220">The module summary, translated to the requested
locale if available.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="215">The name of the locale to use when translating
the string. If NULL, it will determine the locale with a system call to
setlocale(LC_MESSAGES, NULL) and return the that. If the caller wants the
untranslated string, they should pass "C" for the locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tracker"
              c:identifier="modulemd_module_stream_v1_get_tracker"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="253"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="248">The module bug tracker website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="246">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmd" c:identifier="modulemd_module_stream_v1_get_xmd">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="955"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="952">The extensible metadata block as a GVariant.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="950">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_buildtime_requirement"
              c:identifier="modulemd_module_stream_v1_remove_buildtime_requirement"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="817">Remove a build-time dependency for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="827"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="819">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="820">The name of the module to be removed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_content_license"
              c:identifier="modulemd_module_stream_v1_remove_content_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="420"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="413">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="414">A license to remove from the list. Has no effect if the
license is not present.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_module_component"
              c:identifier="modulemd_module_stream_v1_remove_module_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="274">Remove a component from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="285"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="276">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="277">The name of the component to remove from the module
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_module_license"
              c:identifier="modulemd_module_stream_v1_remove_module_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="446"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="439">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="440">A license to remove from the list. Has no effect if the
license is not present.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_api"
              c:identifier="modulemd_module_stream_v1_remove_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="566"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="560">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="561">A binary RPM name to remove from the list of stable public API.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_artifact"
              c:identifier="modulemd_module_stream_v1_remove_rpm_artifact"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="615"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="609">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="610">An RPM NEVR to remove from the list of artifacts.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_component"
              c:identifier="modulemd_module_stream_v1_remove_rpm_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="302">Remove a component from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="313"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="304">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="305">The name of the component to remove from the module
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_filter"
              c:identifier="modulemd_module_stream_v1_remove_rpm_filter"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="665"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="659">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="660">A binary RPM name to remove from the filter list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_runtime_requirement"
              c:identifier="modulemd_module_stream_v1_remove_runtime_requirement"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="831">Remove a runtime dependency for this module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="841"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="833">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="834">The name of the module to be removed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_module_stream_v1_set_arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="63">Set the module artifact architecture.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="65">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="66">The module artifact architecture.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buildopts"
              c:identifier="modulemd_module_stream_v1_set_buildopts"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="89">Set build options for this module's components.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="91">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="buildopts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="92">A #ModulemdBuildopts object describing
build options that apply globally to components in this module.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_community"
              c:identifier="modulemd_module_stream_v1_set_community"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="116">Set the module community website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="118">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="community" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="119">The upstream community website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_module_stream_v1_set_description"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="142">Set the module description.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="144">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="145">The untranslated description of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_documentation"
              c:identifier="modulemd_module_stream_v1_set_documentation"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="173">Set the module documentation website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="175">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="documentation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="176">The upstream documentation website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_eol"
              c:identifier="modulemd_module_stream_v1_set_eol"
              version="2.0"
              deprecated="1"
              deprecated-version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="750">Comptibility function with early iterations of modulemd v1. This function is
a wrapper for Modulemd.ModuleStreamV1.add_servicelevel("rawhide", eol).</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="763"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="752">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="eol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="753">The end-of-life date for the "rawhide" service level.</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="modulemd_module_stream_v1_set_summary"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="199">Set the module summary.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="201">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="202">The untranslated summary of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tracker"
              c:identifier="modulemd_module_stream_v1_set_tracker"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="230">Set the module bug tracker website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="240"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="232">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="233">The upstream bug tracker website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_xmd"
              c:identifier="modulemd_module_stream_v1_set_xmd"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="929">Sets the eXtensible MetaData (XMD) for this module. XMD is arbitrary YAML
data that will be set and returned as-is (with the exception that the
ordering of mapping keys is not defined). Useful for carrying private data.

This function assumes ownership of the XMD #GVariant and thus should not be
freed by the caller.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="944"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="931">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="xmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="932">A #GVariant representing arbitrary YAML.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="buildopts" writable="1" transfer-ownership="none">
        <type name="Buildopts"/>
      </property>
      <property name="community"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="documentation"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tracker"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleStreamV1Class"
            c:type="ModulemdModuleStreamV1Class"
            glib:is-gtype-struct-for="ModuleStreamV1">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v1.h"
                       line="38"/>
      <field name="parent_class">
        <type name="ModuleStreamClass" c:type="ModulemdModuleStreamClass"/>
      </field>
    </record>
    <class name="ModuleStreamV2"
           c:symbol-prefix="module_stream_v2"
           c:type="ModulemdModuleStreamV2"
           parent="ModuleStream"
           glib:type-name="ModulemdModuleStreamV2"
           glib:get-type="modulemd_module_stream_v2_get_type"
           glib:type-struct="ModuleStreamV2Class">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                       line="39"/>
      <constructor name="new"
                   c:identifier="modulemd_module_stream_v2_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="51">A newly-allocated #ModulemdModuleStreamV2 object,
with the specified module and stream names, if provided.</doc>
          <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
        </return-value>
        <parameters>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="48">The name of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="49">The name of this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_component"
              c:identifier="modulemd_module_stream_v2_add_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="262">Add a component definition to the module.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="273"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="264">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="265">A #ModulemdComponent to be added to this
module stream.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_content_license"
              c:identifier="modulemd_module_stream_v2_add_content_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="394"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="387">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="388">A license under which one or more of the components of this
module stream are distributed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_dependencies"
              c:identifier="modulemd_module_stream_v2_add_dependencies"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="784">Add a #ModulemdDependencies object to the list of dependencies for this
module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="796"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="786">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="deps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="787">A #ModulemdDependencies object to add to the list for this
module stream.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_module_license"
              c:identifier="modulemd_module_stream_v2_add_module_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="406"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="400">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="401">A license under which this module stream is distributed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_profile"
              c:identifier="modulemd_module_stream_v2_add_profile"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="489">Adds a profile definition to this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="499"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="491">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="492">A #ModulemdProfile for this module stream.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_api"
              c:identifier="modulemd_module_stream_v2_add_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="553"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="546">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="547">The name of a binary RPM present in this module that is
considered stable public API.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_artifact"
              c:identifier="modulemd_module_stream_v2_add_rpm_artifact"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="602"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="596">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="597">The NEVR of a binary RPM present in this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_filter"
              c:identifier="modulemd_module_stream_v2_add_rpm_filter"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="687"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="681">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="682">The name of a binary RPM to filter out of this module stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_servicelevel"
              c:identifier="modulemd_module_stream_v2_add_servicelevel"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="729">Adds a servicelevel definition to this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="739"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="731">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="servicelevel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="732">A #ModulemdServiceLevel for this module stream.</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_content_licenses"
              c:identifier="modulemd_module_stream_v2_clear_content_licenses"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="436">Remove all content licenses.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="445"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="438">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_dependencies"
              c:identifier="modulemd_module_stream_v2_clear_dependencies"
              version="2.4">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="800">Empties the list of dependencies for this #ModulemdModuleStream</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="809"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="802">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_components"
              c:identifier="modulemd_module_stream_v2_clear_module_components">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="292">Remove all module components from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="299"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="294">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_licenses"
              c:identifier="modulemd_module_stream_v2_clear_module_licenses"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="449">Remove all module licenses.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="458"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="451">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_profiles"
              c:identifier="modulemd_module_stream_v2_clear_profiles"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="503">Removes all profiles from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="512"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="505">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_api"
              c:identifier="modulemd_module_stream_v2_clear_rpm_api"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="569">Remove all RPMs from the list of stable public API.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="578"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="571">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_artifacts"
              c:identifier="modulemd_module_stream_v2_clear_rpm_artifacts"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="618">Remove all NPM NEVRs from the list of artifacts.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="627"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="620">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_components"
              c:identifier="modulemd_module_stream_v2_clear_rpm_components">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="318">Remove all RPM components from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="325"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="320">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_filters"
              c:identifier="modulemd_module_stream_v2_clear_rpm_filters"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="703">Remove all RPMs from the filter list.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="712"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="705">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_servicelevels"
              c:identifier="modulemd_module_stream_v2_clear_servicelevels"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="743">Removes all servicelevels from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="752"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="745">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_module_stream_v2_get_arch"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="82">The module artifact architecture.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="80">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildopts"
              c:identifier="modulemd_module_stream_v2_get_buildopts"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="109">The build options for this module's components.</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="107">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_community"
              c:identifier="modulemd_module_stream_v2_get_community"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="135">The module community website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="133">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_licenses"
              c:identifier="modulemd_module_stream_v2_get_content_licenses"
              shadowed-by="get_content_licenses_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="204"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_licenses_as_strv"
              c:identifier="modulemd_module_stream_v2_get_content_licenses_as_strv"
              shadows="get_content_licenses"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="471"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="465">An ordered list of licenses under which one or
more components of this module stream are released.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="463">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dependencies"
              c:identifier="modulemd_module_stream_v2_get_dependencies">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="828">Return the list of #ModulemdDependencies objects as a GPtrArray</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="838"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="834">A list of
all #ModulemdDependencies objects associated with this module stream.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Dependencies"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="830">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_module_stream_v2_get_description"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="165">The module description, translated to the
requested locale if available.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="159">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="160">The name of the locale to use when translating
the string. If NULL, it will determine the locale with a system call to
setlocale(LC_MESSAGES, NULL) and return the that. If the caller wants the
untranslated string, they should pass "C" for the locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_documentation"
              c:identifier="modulemd_module_stream_v2_get_documentation"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="198"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="193">The module documentation website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="191">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component"
              c:identifier="modulemd_module_stream_v2_get_module_component"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="366"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="360">The module component matching @component name if
it exists, else NULL.</doc>
          <type name="ComponentModule" c:type="ModulemdComponentModule*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="357">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="358">The name of the component to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_module_component_names"
              c:identifier="modulemd_module_stream_v2_get_module_component_names"
              shadowed-by="get_module_component_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="190"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component_names_as_strv"
              c:identifier="modulemd_module_stream_v2_get_module_component_names_as_strv"
              shadows="get_module_component_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="338"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="332">An ordered list of module component names included
in this stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="330">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_licenses"
              c:identifier="modulemd_module_stream_v2_get_module_licenses"
              shadowed-by="get_module_licenses_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="210"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_licenses_as_strv"
              c:identifier="modulemd_module_stream_v2_get_module_licenses_as_strv"
              shadows="get_module_licenses"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="485"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="479">An ordered list of licenses under which this
module stream is released.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="477">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="modulemd_module_stream_v2_get_profile"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="540"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="534">The requested profile definition if present in the
module stream. NULL otherwise.</doc>
          <type name="Profile" c:type="ModulemdProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="531">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="532">The name of a profile to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_profile_names"
              c:identifier="modulemd_module_stream_v2_get_profile_names"
              shadowed-by="get_profile_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="216"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile_names_as_strv"
              c:identifier="modulemd_module_stream_v2_get_profile_names_as_strv"
              shadows="get_profile_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="525"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="519">An ordered list of profile names associated with
this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="517">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_api"
              c:identifier="modulemd_module_stream_v2_get_rpm_api"
              shadowed-by="get_rpm_api_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="222"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_api_as_strv"
              c:identifier="modulemd_module_stream_v2_get_rpm_api_as_strv"
              shadows="get_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="591"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="585">An ordered list of binary RPM names that forms
the public API of this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="583">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_artifact_map_entry"
              c:identifier="modulemd_module_stream_v2_get_rpm_artifact_map_entry"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="675"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="669">The #ModulemdRpmMapEntry object associated with
the provided @checksum generated by the provided @digest.</doc>
          <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="664">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="digest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="665">A string representing the digest algorithm used to generate
the @checksum.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="checksum" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="667">An RPM artifact checksum.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rpm_artifacts"
              c:identifier="modulemd_module_stream_v2_get_rpm_artifacts"
              shadowed-by="get_rpm_artifacts_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="228"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_artifacts_as_strv"
              c:identifier="modulemd_module_stream_v2_get_rpm_artifacts_as_strv"
              shadows="get_rpm_artifacts"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="640"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="634">An ordered list of RPM NEVRs are included in this
module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="632">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component"
              c:identifier="modulemd_module_stream_v2_get_rpm_component"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="381"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="375">The RPM component matching @component name if it
exists, else NULL.</doc>
          <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="372">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="373">The name of the component to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rpm_component_names"
              c:identifier="modulemd_module_stream_v2_get_rpm_component_names"
              shadowed-by="get_rpm_component_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="197"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component_names_as_strv"
              c:identifier="modulemd_module_stream_v2_get_rpm_component_names_as_strv"
              shadows="get_rpm_component_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="351"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="345">An ordered list of RPM component names included
in this stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="343">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_filters"
              c:identifier="modulemd_module_stream_v2_get_rpm_filters"
              shadowed-by="get_rpm_filters_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="234"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_filters_as_strv"
              c:identifier="modulemd_module_stream_v2_get_rpm_filters_as_strv"
              shadows="get_rpm_filters"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="725"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="719">An ordered list of binary RPM names that are
filtered out of this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="717">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_servicelevel"
              c:identifier="modulemd_module_stream_v2_get_servicelevel"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="780"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="774">The requested servicelevel definition if present in the
module stream. NULL otherwise.</doc>
          <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="771">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="servicelevel_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="772">The name of a servicelevel to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_servicelevel_names"
              c:identifier="modulemd_module_stream_v2_get_servicelevel_names"
              shadowed-by="get_servicelevel_names_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="240"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_servicelevel_names_as_strv"
              c:identifier="modulemd_module_stream_v2_get_servicelevel_names_as_strv"
              shadows="get_servicelevel_names"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="765"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="759">An ordered list of servicelevel names associated with
this module stream.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="757">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="modulemd_module_stream_v2_get_summary"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="229"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="223">The module summary, translated to the requested
locale if available.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="217">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="218">The name of the locale to use when translating
the string. If NULL, it will determine the locale with a system call to
setlocale(LC_MESSAGES, NULL) and return the that. If the caller wants the
untranslated string, they should pass "C" for the locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tracker"
              c:identifier="modulemd_module_stream_v2_get_tracker"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="256"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="251">The module bug tracker website address.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="249">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmd" c:identifier="modulemd_module_stream_v2_get_xmd">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="867"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="864">The extensible metadata block as a GVariant.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="862">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_content_license"
              c:identifier="modulemd_module_stream_v2_remove_content_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="419"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="412">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="413">A license to remove from the list. Has no effect if the
license is not present.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_dependencies"
              c:identifier="modulemd_module_stream_v2_remove_dependencies"
              version="2.4">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="812">Removes all entries matching @deps from the array of #ModulemdDependencies
objects.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="824"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="814">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="deps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="815">A #ModulemdDependencies object to remove from the list for this
module stream.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_module_component"
              c:identifier="modulemd_module_stream_v2_remove_module_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="277">Remove a component from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="288"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="279">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="280">The name of the component to remove from the module
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_module_license"
              c:identifier="modulemd_module_stream_v2_remove_module_license"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="432"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="425">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="426">A license to remove from the list. Has no effect if the
license is not present.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_api"
              c:identifier="modulemd_module_stream_v2_remove_rpm_api"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="565"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="559">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="560">A binary RPM name to remove from the list of stable public API.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_artifact"
              c:identifier="modulemd_module_stream_v2_remove_rpm_artifact"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="614"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="608">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="609">An RPM NEVR to remove from the list of artifacts.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_component"
              c:identifier="modulemd_module_stream_v2_remove_rpm_component"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="303">Remove a component from this module stream.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="314"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="305">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="306">The name of the component to remove from the module
stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_filter"
              c:identifier="modulemd_module_stream_v2_remove_rpm_filter"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="699"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="693">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="694">A binary RPM name to remove from the filter list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_module_stream_v2_set_arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="64">Set the module artifact architecture.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="66">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="67">The module artifact architecture.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buildopts"
              c:identifier="modulemd_module_stream_v2_set_buildopts"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="90">Set build options for this module's components.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="92">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="buildopts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="93">A #ModulemdBuildopts object describing
build options that apply globally to components in this module.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_community"
              c:identifier="modulemd_module_stream_v2_set_community"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="117">Set the module community website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="119">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="community" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="120">The upstream community website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_module_stream_v2_set_description"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="143">Set the module description.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="145">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="146">The untranslated description of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_documentation"
              c:identifier="modulemd_module_stream_v2_set_documentation"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="175">Set the module documentation website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="177">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="documentation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="178">The upstream documentation website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rpm_artifact_map_entry"
              c:identifier="modulemd_module_stream_v2_set_rpm_artifact_map_entry"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="655"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="646">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="647">The RPM map entry to save to the stream.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </parameter>
          <parameter name="digest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="648">A string representing the digest algorithm used to generate
the @checksum.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="checksum" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="650">An RPM artifact checksum.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="modulemd_module_stream_v2_set_summary"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="201">Set the module summary.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="211"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="203">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="204">The untranslated summary of this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tracker"
              c:identifier="modulemd_module_stream_v2_set_tracker"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="233">Set the module bug tracker website address.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="235">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="236">The upstream bug tracker website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_xmd"
              c:identifier="modulemd_module_stream_v2_set_xmd"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="841">Sets the eXtensible MetaData (XMD) for this module. XMD is arbitrary YAML
data that will be set and returned as-is (with the exception that the
ordering of mapping keys is not defined). Useful for carrying private data.

This function assumes ownership of the XMD #GVariant and thus should not be
freed by the caller.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="856"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="843">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="xmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="844">A #GVariant representing arbitrary YAML.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="buildopts" writable="1" transfer-ownership="none">
        <type name="Buildopts"/>
      </property>
      <property name="community"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="documentation"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tracker"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleStreamV2Class"
            c:type="ModulemdModuleStreamV2Class"
            glib:is-gtype-struct-for="ModuleStreamV2">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream-v2.h"
                       line="39"/>
      <field name="parent_class">
        <type name="ModuleStreamClass" c:type="ModulemdModuleStreamClass"/>
      </field>
    </record>
    <enumeration name="ModuleStreamVersionEnum"
                 version="2.0"
                 c:type="ModulemdModuleStreamVersionEnum">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
                       line="55"/>
      <member name="error"
              value="-1"
              c:identifier="MD_MODULESTREAM_VERSION_ERROR">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="34">Represents an error handling module stream
version.</doc>
      </member>
      <member name="unset"
              value="0"
              c:identifier="MD_MODULESTREAM_VERSION_UNSET">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="36">Represents an unset module stream version.</doc>
      </member>
      <member name="one" value="1" c:identifier="MD_MODULESTREAM_VERSION_ONE">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="37">Represents v1 of the #ModulemdModuleStream
metadata format.</doc>
      </member>
      <member name="two" value="2" c:identifier="MD_MODULESTREAM_VERSION_TWO">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="39">Represents v2 of the #ModulemdModuleStream
metadata format.</doc>
      </member>
      <member name="latest"
              value="2"
              c:identifier="MD_MODULESTREAM_VERSION_LATEST">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-stream.h"
             line="41">Represents the highest-supported version of
the #ModulemdModuleStream metadata format.</doc>
      </member>
    </enumeration>
    <class name="Profile"
           c:symbol-prefix="profile"
           c:type="ModulemdProfile"
           parent="GObject.Object"
           glib:type-name="ModulemdProfile"
           glib:get-type="modulemd_profile_get_type"
           glib:type-struct="ProfileClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_profile_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="50">A newly-allocated #ModulemdProfile. This object
must be freed with g_object_unref().</doc>
          <type name="Profile" c:type="ModulemdProfile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="48">The name of this profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_rpm"
              c:identifier="modulemd_profile_add_rpm"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="117">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="118">The name of a binary RPM that should be installed when this profile is
selected for installation.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_rpms"
              c:identifier="modulemd_profile_clear_rpms"
              version="2.5">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
             line="138">Remove all RPMs from this profile</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="140">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="modulemd_profile_copy" version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
             line="59">Create a copy of this #ModulemdProfile object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="65">a copied #ModulemdProfile object</doc>
          <type name="Profile" c:type="ModulemdProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="61">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_profile_equals"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="38">TRUE if all elements of self_1 and self_2 are equal. FALSE, otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="35">A #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="36">A #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_profile_get_description"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="105">The description of this profile translated into
the language specified by the locale if it is available, otherwise it
returns the C.UTF-8 original.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="99">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="100">The name of the locale to use when translating
the string. If NULL, it will determine the locale with a system call to
setlocale(LC_MESSAGES, NULL) and return the that. If the caller wants the
untranslated string, they should pass "C" for the locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_profile_get_name"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="77">The name of this profile.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="75">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpms"
              c:identifier="modulemd_profile_get_rpms"
              shadowed-by="get_rpms_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="247"/>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpms_as_strv"
              c:identifier="modulemd_profile_get_rpms_as_strv"
              shadows="get_rpms"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="160"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
               line="154">An ordered list of binary RPMS that would be
installed when this profile is selected for installation.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="152">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_rpm"
              c:identifier="modulemd_profile_remove_rpm"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="129">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="130">The name of a binary RPM to remove from this profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_profile_set_description"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="87">This #ModulemdProfile</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                 line="88">The description of this profile in the C locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ProfileClass"
            c:type="ModulemdProfileClass"
            glib:is-gtype-struct-for="Profile">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-profile.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <callback name="ReadHandler" c:type="ModulemdReadHandler" version="2.3">
      <doc xml:space="preserve"
           filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
           line="74">The prototype of a read handler.

The read handler is called when the parser needs to read more bytes from the
source. The handler should write not more than @size bytes to the @buffer.
The number of written bytes should be set to the @size_read variable.

This handler is identical to a
[yaml_read_handler_t](https://github.com/yaml/libyaml/blob/master/include/yaml.h#L988)
but is included here to avoid depending on yaml.h in modulemd headers.</doc>
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                       line="97"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="91">On success, the handler must return 1. If the handler failed,
the returned value must be 0.  On EOF, the handler must set the
@size_read to 0 and return 1.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="data"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="76">A private pointer to the data being read.</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="buffer"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="77">The buffer to write the data from the source.</doc>
          <type name="guint8" c:type="unsigned char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="78">The size of the buffer.</doc>
          <type name="gsize" c:type="size_t"/>
        </parameter>
        <parameter name="size_read"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="79">The actual number of bytes read from the source.</doc>
          <type name="gsize" c:type="size_t*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="RpmMapEntry"
           c:symbol-prefix="rpm_map_entry"
           c:type="ModulemdRpmMapEntry"
           parent="GObject.Object"
           glib:type-name="ModulemdRpmMapEntry"
           glib:get-type="modulemd_rpm_map_entry_get_type"
           glib:type-struct="RpmMapEntryClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                       line="30"/>
      <constructor name="new" c:identifier="modulemd_rpm_map_entry_new">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
             line="36">Create a new rpm-map entry. This will contain the decomposed NEVRA of an
RPM artifact.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="47">A newly-allocated #ModulemdRpmMapEntry with the
provided values.</doc>
          <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="38">The name of the package</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="epoch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="39">The epoch of the package</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="40">The version of the package</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="release" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="41">The release string of the package</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="42">The processor architecture of the package</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="modulemd_rpm_map_entry_copy"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="62">A deep copy of this #ModulemdRpmMapEntry object.</doc>
          <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="60">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_rpm_map_entry_equals"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="75">TRUE if the two entries contain equivalent data. FALSE if they
differ.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="72">A #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="73">Another #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_rpm_map_entry_get_arch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="211"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="206">The package architecture of this RPM</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="204">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_epoch"
              c:identifier="modulemd_rpm_map_entry_get_epoch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="135">The package epoch of this RPM</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="133">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_rpm_map_entry_get_name"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="112">The package name of this RPM</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="110">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nevra"
              c:identifier="modulemd_rpm_map_entry_get_nevra"
              shadowed-by="get_nevra_as_string"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="279"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nevra_as_string"
              c:identifier="modulemd_rpm_map_entry_get_nevra_as_string"
              shadows="get_nevra"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="225"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="218">A newly-allocated string containing the complete
N-E:V-R.A constructed from the component parts. NULL if any field is
missing.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="216">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release"
              c:identifier="modulemd_rpm_map_entry_get_release"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="183">The package release of this RPM</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="181">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="modulemd_rpm_map_entry_get_version"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="159">The package version of this RPM</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="157">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_rpm_map_entry_set_arch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="193">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="194">The package architecture of this RPM</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_epoch"
              c:identifier="modulemd_rpm_map_entry_set_epoch"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="122">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="epoch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="123">The package epoch of this RPM</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="modulemd_rpm_map_entry_set_name"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="99">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="100">The package name of this RPM</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_release"
              c:identifier="modulemd_rpm_map_entry_set_release"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="169">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="release" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="170">The package release string of this RPM</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_version"
              c:identifier="modulemd_rpm_map_entry_set_version"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="151"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="145">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="146">The package version of this RPM</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_rpm_map_entry_validate"
              version="2.2"
              throws="1">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="87">This #ModulemdRpmMapEntry</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="epoch"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="nevra" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="release"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="RpmMapEntryClass"
            c:type="ModulemdRpmMapEntryClass"
            glib:is-gtype-struct-for="RpmMapEntry">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                       line="30"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ServiceLevel"
           c:symbol-prefix="service_level"
           c:type="ModulemdServiceLevel"
           parent="GObject.Object"
           glib:type-name="ModulemdServiceLevel"
           glib:get-type="modulemd_service_level_get_type"
           glib:type-struct="ServiceLevelClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_service_level_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="39">A newly-allocated #ModulemdServiceLevel. This
object must be freed with g_object_unref().</doc>
          <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="37">The name of the service level.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="modulemd_service_level_copy"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
             line="48">Create a copy of this #ModulemdServiceLevel object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="54">a copied #ModulemdServiceLevel object</doc>
          <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="50">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_service_level_equals"
              version="2.2">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="146">TRUE if both the dates are either NULL or valid, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="143">A #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="144">A #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_eol"
              c:identifier="modulemd_service_level_get_eol"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="122">The end date of the service level as a #GDate.</doc>
          <type name="GLib.Date" c:type="GDate*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="120">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_eol_as_string"
              c:identifier="modulemd_service_level_get_eol_as_string"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="139"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="133">The end date of the service level as a
string of the form "YYYY-MM-DD" or NULL if the date is unset or invalid.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="131">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_service_level_get_name"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
             line="62">Get the name of this service level.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
               line="68">The name of this service level. This is a pointer
to the internal memory location and must not be freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="64">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_eol"
              c:identifier="modulemd_service_level_remove_eol"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
             line="107">Remove the EOL from this Service Level</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="109">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_eol"
              c:identifier="modulemd_service_level_set_eol"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
             line="77">Sets the end date of the service level. If the #GDate passed in is invalid
or NULL, the EOL will be unset.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="79">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
          <parameter name="date"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="80">The date this service level ends.</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_eol_ymd"
              c:identifier="modulemd_service_level_set_eol_ymd"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="93">This #ModulemdServiceLevel</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
          <parameter name="year" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="94">The year this service level ends.</doc>
            <type name="GLib.DateYear" c:type="GDateYear"/>
          </parameter>
          <parameter name="month" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="95">The month this service level ends.</doc>
            <type name="GLib.DateMonth" c:type="GDateMonth"/>
          </parameter>
          <parameter name="day" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                 line="96">The day of the month this service level ends.</doc>
            <type name="GLib.DateDay" c:type="GDateDay"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ServiceLevelClass"
            c:type="ModulemdServiceLevelClass"
            glib:is-gtype-struct-for="ServiceLevel">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-service-level.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SubdocumentInfo"
           c:symbol-prefix="subdocument_info"
           c:type="ModulemdSubdocumentInfo"
           parent="GObject.Object"
           glib:type-name="ModulemdSubdocumentInfo"
           glib:get-type="modulemd_subdocument_info_get_type"
           glib:type-struct="SubdocumentInfoClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                       line="29"/>
      <method name="get_gerror"
              c:identifier="modulemd_subdocument_info_get_gerror"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
               line="52">A GError containing an error code and message about why this subdocument failed parsing.</doc>
          <type name="GLib.Error" c:type="const GError*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                 line="50">This #ModulemdSubdocumentInfo</doc>
            <type name="SubdocumentInfo" c:type="ModulemdSubdocumentInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_yaml"
              c:identifier="modulemd_subdocument_info_get_yaml"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
               line="40">The associated YAML subdocument</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                 line="38">This #ModulemdSubdocumentInfo</doc>
            <type name="SubdocumentInfo" c:type="ModulemdSubdocumentInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="SubdocumentInfoClass"
            c:type="ModulemdSubdocumentInfoClass"
            glib:is-gtype-struct-for="SubdocumentInfo">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-subdocument-info.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Translation"
           c:symbol-prefix="translation"
           c:type="ModulemdTranslation"
           parent="GObject.Object"
           glib:type-name="ModulemdTranslation"
           glib:get-type="modulemd_translation_get_type"
           glib:type-struct="TranslationClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                       line="30"/>
      <constructor name="new"
                   c:identifier="modulemd_translation_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
               line="40">A newly-allocated #ModulemdTranslation. This
object must be freed with g_object_unref().</doc>
          <type name="Translation" c:type="ModulemdTranslation*"/>
        </return-value>
        <parameters>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="35">The metadata version of this #ModulemdTranslation.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="36">The name of the module to which these translations apply.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="37">The name of the module stream to which these translations apply.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="38">The last modified time represented as a 64-bit integer (such as 201807011200)</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="modulemd_translation_copy"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
             line="52">Create a copy of this #ModulemdTranslation object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="63"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
               line="58">a copied #ModulemdTranslation object</doc>
          <type name="Translation" c:type="ModulemdTranslation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="54">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_locales"
              c:identifier="modulemd_translation_get_locales"
              shadowed-by="get_locales_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="259"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_locales_as_strv"
              c:identifier="modulemd_translation_get_locales_as_strv"
              shadows="get_locales"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="100"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
               line="95">An ordered list of locales known to this Modulemd.Translation.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="93">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_translation_entry"
              c:identifier="modulemd_translation_get_translation_entry"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
               line="120">The translation entry for the requested locale, or NULL if the locale was unknown.</doc>
          <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="117">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="118">The locale of the translation to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modified"
              c:identifier="modulemd_translation_set_modified"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="81">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="82">The last modified time represented as a 64-bit integer (such as 201807011200)</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translation_entry"
              c:identifier="modulemd_translation_set_translation_entry"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="105">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="translation_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="106">A set of translations of this module stream for a particular locale.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_translation_validate"
              version="2.0"
              throws="1">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
             line="66">This method ensures that the translation is internally consistent for usage or dumping to YAML. It will be run implicitly prior to emitting YAML. This is not a complete linter, merely a sanity check that the values are not impossible.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                 line="68">This #ModulemdTranslation</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="modified" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="module-stream"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
    </class>
    <record name="TranslationClass"
            c:type="ModulemdTranslationClass"
            glib:is-gtype-struct-for="Translation">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation.h"
                       line="30"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="TranslationEntry"
           c:symbol-prefix="translation_entry"
           c:type="ModulemdTranslationEntry"
           parent="GObject.Object"
           glib:type-name="ModulemdTranslationEntry"
           glib:get-type="modulemd_translation_entry_get_type"
           glib:type-struct="TranslationEntryClass">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                       line="30"/>
      <constructor name="new"
                   c:identifier="modulemd_translation_entry_new"
                   version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="41">A newly-allocated #ModulemdTranslationEntry. This
object must be freed with g_object_unref().</doc>
          <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
        </return-value>
        <parameters>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="38">The locale for this translation entry.
It must correspond to the format specified by libc locale names.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="modulemd_translation_entry_copy"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="50">Create a copy of this #ModulemdTranslationEntry object.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="56">a copied #ModulemdTranslationEntry object</doc>
          <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="52">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_translation_entry_get_description"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="117">Get the description of this translation entry.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="123">The description of this module stream translated into the language specified by locale.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="119">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_locale"
              c:identifier="modulemd_translation_entry_get_locale"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="64">Get the locale of this translation entry.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="70">The locale of this translation entry. This is a pointer
to the internal memory location and must not be freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="66">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile_description"
              c:identifier="modulemd_translation_entry_get_profile_description">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_profiles"
              c:identifier="modulemd_translation_entry_get_profiles"
              shadowed-by="get_profiles_as_strv"
              introspectable="0">
        <source-position filename="../modulemd/v2/include/private/gi-binding-renames.h"
                         line="253"/>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profiles_as_strv"
              c:identifier="modulemd_translation_entry_get_profiles_as_strv"
              shadows="get_profiles"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="131">Get a list of profiles that have descriptions.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="142"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="137">An ordered list of profiles for which descriptions have been translated for this locale.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="133">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="modulemd_translation_entry_get_summary"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="91">Get the summary of this translation entry.</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
               line="97">The summary of this module stream translated into the language specified by locale.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="93">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_translation_entry_set_description"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="107">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="108">The description of this module stream translated into the language specified by locale.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_profile_description"
              c:identifier="modulemd_translation_entry_set_profile_description"
              version="2.0">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
             line="146">Adds a profile name translation</doc>
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="157"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="148">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="149">The name of the profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="profile_description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="150">The translated description of the profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="modulemd_translation_entry_set_summary"
              version="2.0">
        <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="81">This #ModulemdTranslationEntry</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="82">The summary of this module translated appropriately for this locale.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="description" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="locale"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="summary" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="TranslationEntryClass"
            c:type="ModulemdTranslationEntryClass"
            glib:is-gtype-struct-for="TranslationEntry">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-translation-entry.h"
                       line="30"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <callback name="WriteHandler" c:type="ModulemdWriteHandler" version="2.3">
      <doc xml:space="preserve"
           filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
           line="103">The prototype of a write handler.

The write handler is called when the emitter needs to flush the accumulated
characters to the output.  The handler should write @size bytes of the
@buffer to the output.

This handler is identical to a
[yaml_write_handler_t](https://github.com/yaml/libyaml/blob/master/include/yaml.h#L1478)
but is included here to avoid depending on yaml.h in modulemd headers.</doc>
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
                       line="124"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
             line="119">On success, the handler must return 1. If the handler failed,
the returned value must be 0.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="data"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="105">A private pointer that includes the data source.</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="buffer"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="106">The buffer with bytes to be written.</doc>
          <type name="guint8" c:type="unsigned char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../modulemd/v2/include/modulemd-2.0/modulemd-module-index.h"
               line="107">The size of the buffer.</doc>
          <type name="gsize" c:type="size_t"/>
        </parameter>
      </parameters>
    </callback>
    <function name="get_version"
              c:identifier="modulemd_get_version"
              version="2.0">
      <source-position filename="../modulemd/v2/include/modulemd-2.0/modulemd.h"
                       line="192"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../modulemd/v2/include/modulemd-2.0/modulemd.h"
             line="187">A string describing the version of libmodulemd.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
  </namespace>
</repository>
