<?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="BuildConfig"
           c:symbol-prefix="build_config"
           c:type="ModulemdBuildConfig"
           parent="GObject.Object"
           glib:type-name="ModulemdBuildConfig"
           glib:get-type="modulemd_build_config_get_type"
           glib:type-struct="BuildConfigClass">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                       line="31"/>
      <constructor name="new"
                   c:identifier="modulemd_build_config_new"
                   version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="35">Initialize a new #ModulemdBuildConfig representing a module build
configuration.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
        </return-value>
      </constructor>
      <method name="add_buildtime_requirement"
              c:identifier="modulemd_build_config_add_buildtime_requirement"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="183">Add a build-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.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/include/modulemd-2.0/modulemd-build-config.h"
                 line="185">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="186">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="187">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_runtime_requirement"
              c:identifier="modulemd_build_config_add_runtime_requirement"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="113">Add a build-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.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/include/modulemd-2.0/modulemd-build-config.h"
                 line="115">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="116">The name of the module to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="117">The name of the module stream to depend on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_buildtime_requirements"
              c:identifier="modulemd_build_config_clear_buildtime_requirements"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="213">Remove all build-time dependencies for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="222"/>
        <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/include/modulemd-2.0/modulemd-build-config.h"
                 line="215">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_runtime_requirements"
              c:identifier="modulemd_build_config_clear_runtime_requirements"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="143">Remove all run-time dependencies for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.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/include/modulemd-2.0/modulemd-build-config.h"
                 line="145">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="compare"
              c:identifier="modulemd_build_config_compare"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="338"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="332">Less than zero if @self_1 sorts less than @self_2, zero for equal,
greater than zero if @self_1 is greater than @self_2.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="329">A pointer to a #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="330">A pointer to a #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="modulemd_build_config_copy"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="308"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="303">A deep copy of @self</doc>
          <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="301">This #ModulemdBuildConfig object</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equals"
              c:identifier="modulemd_build_config_equals"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="323"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="316">TRUE, if @self_1 and @self_2 are pointers to #ModulemdBuildConfig
objects containing equivalent data. 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/include/modulemd-2.0/modulemd-build-config.h"
                 line="313">A pointer to a #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="314">A pointer to a #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buildopts"
              c:identifier="modulemd_build_config_get_buildopts"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="278"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="273">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/include/modulemd-2.0/modulemd-build-config.h"
                 line="271">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_modules_as_strv"
              c:identifier="modulemd_build_config_get_buildtime_modules_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="250"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="244">An ordered #GStrv 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/include/modulemd-2.0/modulemd-build-config.h"
                 line="242">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildtime_requirement_stream"
              c:identifier="modulemd_build_config_get_buildtime_requirement_stream"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="236"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="230">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/include/modulemd-2.0/modulemd-build-config.h"
                 line="227">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="228">The name of the module this module depends on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="modulemd_build_config_get_context"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="65">Get the context that this build configuration produces.

Note: This function returns the context as stored internally. If you want to
be sure that it is in the correct format, call
modulemd_build_config_validate() first.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="75">The string representing the context that this
build configuration produces.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="67">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_platform"
              c:identifier="modulemd_build_config_get_platform"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="98">Get the platform that this build configuration applies to.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="104">The string representing the platform that this
build configuration applies to.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="100">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_modules_as_strv"
              c:identifier="modulemd_build_config_get_runtime_modules_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="180"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="174">An ordered #GStrv list of module names that this
module depends on 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/include/modulemd-2.0/modulemd-build-config.h"
                 line="172">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runtime_requirement_stream"
              c:identifier="modulemd_build_config_get_runtime_requirement_stream"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="166"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="160">The name of the stream matching this module name
in the run-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/include/modulemd-2.0/modulemd-build-config.h"
                 line="157">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="158">The name of the module this module depends on.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_buildtime_requirement"
              c:identifier="modulemd_build_config_remove_buildtime_requirement"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="199">Remove a build-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.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/include/modulemd-2.0/modulemd-build-config.h"
                 line="201">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="202">The name of the module to be removed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_runtime_requirement"
              c:identifier="modulemd_build_config_remove_runtime_requirement"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="129">Remove a run-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.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/include/modulemd-2.0/modulemd-build-config.h"
                 line="131">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="132">The name of the module to be removed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buildopts"
              c:identifier="modulemd_build_config_set_buildopts"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="254">Set build options for this module's components.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="265"/>
        <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/include/modulemd-2.0/modulemd-build-config.h"
                 line="256">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="buildopts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="257">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_context"
              c:identifier="modulemd_build_config_set_context"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="47">Set the context that this build configuration produces.

Note: For consistency in the API, this function does not validate the input
@context. This validation will be performed as part of the
modulemd_build_config_validate() routine where it can be reported cleanly.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="61"/>
        <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/include/modulemd-2.0/modulemd-build-config.h"
                 line="49">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="50">A string of up to ten alphanumeric characters.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_platform"
              c:identifier="modulemd_build_config_set_platform"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="84">Set the platform that this build configuration applies to.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="94"/>
        <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/include/modulemd-2.0/modulemd-build-config.h"
                 line="86">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
          <parameter name="platform" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="87">A string of up to ten alphanumeric characters.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_build_config_validate"
              version="2.11"
              throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
             line="281">Determine if this #ModulemdBuildConfig is valid according to the YAML
specification.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                         line="296"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
               line="289">TRUE if validation passes. Returns FALSE and sets @error
appropriately on validation failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                 line="283">This #ModulemdBuildConfig object.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="BuildConfigClass"
            c:type="ModulemdBuildConfigClass"
            glib:is-gtype-struct-for="BuildConfig">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-build-config.h"
                       line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <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/include/modulemd-2.0/modulemd-buildopts.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_buildopts_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
               line="35">A newly-allocated #ModulemdBuildopts object. This
object must be freed with g_object_unref().</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
      </constructor>
      <method name="add_arch"
              c:identifier="modulemd_buildopts_add_arch"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
             line="149">Restrict the list of architectures for which to build this module. It may be
called any number of times to indicate support on additional architectures.
Use modulemd_buildopts_clear_arches() to return to "all architectures".</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="161"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="151">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="152">An architecture for which to build this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_to_whitelist"
              c:identifier="modulemd_buildopts_add_rpm_to_whitelist"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="109"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="103">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="104">An RPM name to add to the whitelist.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_arches"
              c:identifier="modulemd_buildopts_clear_arches"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
             line="176">Indicate that this module should be built for all architectures.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="178">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_whitelist"
              c:identifier="modulemd_buildopts_clear_rpm_whitelist"
              version="2.5">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
             line="125">Remove all RPMs from the whitelist.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="134"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="127">This #ModulemdBuildopts object.</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/include/modulemd-2.0/modulemd-buildopts.h"
             line="60">Create a copy of this #ModulemdBuildopts object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
               line="66">A newly-allocated #ModulemdBuildopts object that
is a copy of @self.</doc>
          <type name="Buildopts" c:type="ModulemdBuildopts*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="62">This #ModulemdBuildopts object.</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/include/modulemd-2.0/modulemd-buildopts.h"
             line="44">Check for equality for two #ModulemdBuildopts objects.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="46">A #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="47">A #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arches"
              c:identifier="modulemd_buildopts_get_arches"
              shadowed-by="get_arches_as_strv"
              introspectable="0">
        <source-position filename="modulemd/include/private/gi-binding-renames.h"
                         line="30"/>
        <return-value>
          <array c:type="GStrv">
            <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_arches_as_strv"
              c:identifier="modulemd_buildopts_get_arches_as_strv"
              shadows="get_arches"
              version="2.9">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="199"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
               line="192">A #GStrv list of architectures for which this
module should be built. If empty, this module should be built for all
architectures.</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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="190">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_macros"
              c:identifier="modulemd_buildopts_get_rpm_macros"
              glib:get-property="rpm-macros"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
               line="92">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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="90">This #ModulemdBuildopts object.</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/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="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/include/modulemd-2.0/modulemd-buildopts.h"
                         line="146"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
               line="141">An ordered #GStrv list of all RPMs in the whitelist.</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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="139">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_arch"
              c:identifier="modulemd_buildopts_remove_arch"
              version="2.9">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="173"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="166">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="167">An architecture to remove from the list of architectures for which to
build this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_rpm_from_whitelist"
              c:identifier="modulemd_buildopts_remove_rpm_from_whitelist"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="121"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="115">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="116">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"
              glib:set-property="rpm-macros"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                         line="84"/>
        <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/include/modulemd-2.0/modulemd-buildopts.h"
                 line="77">This #ModulemdBuildopts object.</doc>
            <type name="Buildopts" c:type="ModulemdBuildopts*"/>
          </instance-parameter>
          <parameter name="rpm_macros" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-buildopts.h"
                 line="78">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"
                setter="set_rpm_macros"
                getter="get_rpm_macros"
                default-value="__BUILDOPTS_RPM_MACROS_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="BuildoptsClass"
            c:type="ModulemdBuildoptsClass"
            glib:is-gtype-struct-for="Buildopts">
      <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-component.h"
                       line="44"/>
      <virtual-method name="copy" invoker="copy" version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                         line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/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/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-component.h"
                 line="77">This #ModulemdComponent object.</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/include/modulemd-2.0/modulemd-component.h"
             line="93">Add a build dependency of this component.</doc>
        <source-position filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-component.h"
             line="107">Remove all buildafter entries for this component.</doc>
        <source-position filename="modulemd/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/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="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/include/modulemd-2.0/modulemd-component.h"
                         line="129"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="buildonly"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                         line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="buildorder"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="rationale"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                         line="247"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:set-property="buildonly"
              version="2.2">
        <source-position filename="modulemd/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/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/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"
              glib:set-property="buildorder"
              version="2.0">
        <source-position filename="modulemd/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/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/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/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/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/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"
              glib:set-property="rationale"
              version="2.0">
        <source-position filename="modulemd/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/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/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/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/include/modulemd-2.0/modulemd-component.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-component.h"
                 line="77">This #ModulemdComponent object.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="buildonly"
                writable="1"
                transfer-ownership="none"
                setter="set_buildonly"
                getter="get_buildonly"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="buildorder"
                writable="1"
                transfer-ownership="none"
                setter="set_buildorder"
                getter="get_buildorder"
                default-value="0">
        <type name="gint64" c:type="gint64"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_name"
                default-value="__UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="rationale"
                writable="1"
                transfer-ownership="none"
                setter="set_rationale"
                getter="get_rationale"
                default-value="__UNSET__">
        <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/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/include/modulemd-2.0/modulemd-component.h"
                           line="35"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/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/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/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/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/include/modulemd-2.0/modulemd-component.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-component.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/include/modulemd-2.0/modulemd-component.h"
                   line="77">This #ModulemdComponent object.</doc>
              <type name="Component" c:type="ModulemdComponent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equals">
        <callback name="equals">
          <source-position filename="modulemd/include/modulemd-2.0/modulemd-component.h"
                           line="39"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/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/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/include/modulemd-2.0/modulemd-component-module.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="ref"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-module.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="repository"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-module.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:set-property="ref"
              version="2.0">
        <source-position filename="modulemd/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/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/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"
              glib:set-property="repository"
              version="2.0">
        <source-position filename="modulemd/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/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/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"
                setter="set_ref"
                getter="get_ref"
                default-value="__UNSET_COMPONENT_MODULE__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="repository"
                writable="1"
                transfer-ownership="none"
                setter="set_repository"
                getter="get_repository"
                default-value="__UNSET_COMPONENT_MODULE__">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ComponentModuleClass"
            c:type="ModulemdComponentModuleClass"
            glib:is-gtype-struct-for="ComponentModule">
      <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-component-rpm.h"
                       line="30"/>
      <constructor name="new"
                   c:identifier="modulemd_component_rpm_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="42">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="39">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/include/modulemd-2.0/modulemd-component-rpm.h"
             line="106">Add an architecture on which this RPM will be multilib. It may be called
any number of times. Use modulemd_component_rpm_clear_multilib_arches() to
return to "no architectures".</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="108">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="109">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/include/modulemd-2.0/modulemd-component-rpm.h"
             line="50">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_clear_arches() to return to "all
architectures".</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="63"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="52">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="53">An architecture on which this package should be available.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_arches"
              c:identifier="modulemd_component_rpm_clear_arches"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
             line="81">Indicate that this RPM component is available on all arches.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="90"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="83">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_multilib_arches"
              c:identifier="modulemd_component_rpm_clear_multilib_arches"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
             line="136">Indicate that this RPM component is multilib on no architectures.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="138">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-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/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_arches_as_strv"
              c:identifier="modulemd_component_rpm_get_arches_as_strv"
              shadows="get_arches"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="103"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="97">A #GStrv 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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="95">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buildroot"
              c:identifier="modulemd_component_rpm_get_buildroot"
              glib:get-property="buildroot"
              version="2.7">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="254"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="249">The #ModulemdComponentRpm:buildroot flag.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="247">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"
              glib:get-property="cache"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="178">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="176">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/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="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/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="158"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="152">A #GStrv 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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="150">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"
              glib:get-property="ref"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="206"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="201">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="199">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"
              glib:get-property="repository"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="225">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="223">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_srpm_buildroot"
              c:identifier="modulemd_component_rpm_get_srpm_buildroot"
              glib:get-property="srpm-buildroot"
              version="2.7">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="279"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
               line="274">The #ModulemdComponentRpm:srpm_buildroot flag.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="272">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"
              deprecated="1"
              deprecated-version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
             line="67">Indicate that this RPM component is available on all arches.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_component_rpm_clear_arches() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="78"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="69">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"
              deprecated="1"
              deprecated-version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
             line="122">Indicate that this RPM component is multilib on no architectures.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_component_rpm_clear_multilib_arches() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="133"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="124">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_buildroot"
              c:identifier="modulemd_component_rpm_set_buildroot"
              glib:set-property="buildroot"
              version="2.7">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="241"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="235">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="buildroot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="236">The #ModulemdComponentRpm:buildroot flag to set for @self.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cache"
              c:identifier="modulemd_component_rpm_set_cache"
              glib:set-property="cache"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="164">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="165">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"
              glib:set-property="ref"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="188">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="189">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"
              glib:set-property="repository"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="217"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="211">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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="212">The URI of the SCM repository.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_srpm_buildroot"
              c:identifier="modulemd_component_rpm_set_srpm_buildroot"
              glib:set-property="srpm-buildroot"
              version="2.7">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                         line="266"/>
        <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/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="259">This #ModulemdComponentRpm object.</doc>
            <type name="ComponentRpm" c:type="ModulemdComponentRpm*"/>
          </instance-parameter>
          <parameter name="srpm_buildroot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                 line="260">The #ModulemdComponentRpm:srpm_buildroot flag to set
for @self.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="buildroot"
                writable="1"
                transfer-ownership="none"
                setter="set_buildroot"
                getter="get_buildroot"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="cache"
                writable="1"
                transfer-ownership="none"
                setter="set_cache"
                getter="get_cache"
                default-value="__UNSET_COMPONENT_RPM__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="ref"
                writable="1"
                transfer-ownership="none"
                setter="set_ref"
                getter="get_ref"
                default-value="__UNSET_COMPONENT_RPM__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="repository"
                writable="1"
                transfer-ownership="none"
                setter="set_repository"
                getter="get_repository"
                default-value="__UNSET_COMPONENT_RPM__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="srpm-buildroot"
                writable="1"
                transfer-ownership="none"
                setter="set_srpm_buildroot"
                getter="get_srpm_buildroot"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ComponentRpmClass"
            c:type="ModulemdComponentRpmClass"
            glib:is-gtype-struct-for="ComponentRpm">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-component-rpm.h"
                       line="30"/>
      <field name="parent_class">
        <type name="ComponentClass" c:type="ModulemdComponentClass"/>
      </field>
    </record>
    <enumeration name="CompressionTypeEnum"
                 version="2.8"
                 c:type="ModulemdCompressionTypeEnum">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
                       line="53"/>
      <member name="zstd_compression"
              value="-3"
              c:identifier="MODULEMD_COMPRESSION_TYPE_ZSTD_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="37">Zstandard compression; since 2.15</doc>
      </member>
      <member name="detection_failed"
              value="-2"
              c:identifier="MODULEMD_COMPRESSION_TYPE_DETECTION_FAILED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="30">Autodetection failure</doc>
      </member>
      <member name="unknown_compression"
              value="-1"
              c:identifier="MODULEMD_COMPRESSION_TYPE_UNKNOWN_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="31">Unknown compression</doc>
      </member>
      <member name="no_compression"
              value="0"
              c:identifier="MODULEMD_COMPRESSION_TYPE_NO_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="32">No compression</doc>
      </member>
      <member name="gz_compression"
              value="1"
              c:identifier="MODULEMD_COMPRESSION_TYPE_GZ_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="33">gzip compression</doc>
      </member>
      <member name="bz2_compression"
              value="2"
              c:identifier="MODULEMD_COMPRESSION_TYPE_BZ2_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="34">bzip2 compression</doc>
      </member>
      <member name="xz_compression"
              value="3"
              c:identifier="MODULEMD_COMPRESSION_TYPE_XZ_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="35">LZMA compression</doc>
      </member>
      <member name="zck_compression"
              value="4"
              c:identifier="MODULEMD_COMPRESSION_TYPE_ZCK_COMPRESSION">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="36">zchunk compression</doc>
      </member>
      <member name="sentinel"
              value="5"
              c:identifier="MODULEMD_COMPRESSION_TYPE_SENTINEL">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="38">Enum list terminator</doc>
      </member>
    </enumeration>
    <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/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/include/modulemd-2.0/modulemd-defaults.h"
             line="75">Create a new #ModulemdDefaults.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-defaults.h"
                         line="88"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="100"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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"
              glib:get-property="mdversion"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-defaults.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="module-name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-defaults.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-defaults.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
                getter="get_mdversion"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_module_name"
                default-value="__NAME_UNSET__">
        <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/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/include/modulemd-2.0/modulemd-defaults.h"
                           line="61"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                           line="63"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/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/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/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="106">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/include/modulemd-2.0/modulemd-defaults-v1.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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="108">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="109">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="111">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="112">The name of the system intent to add profile
defaults to. If NULL, this sets the generic fallback profiles for the
stream. System intents are deprecated and calls with this non-NULL argument
will become void in the future.</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/include/private/gi-binding-renames.h"
                         line="67"/>
        <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/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="183"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="176">A sorted #GStrv 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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="169">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="170">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="172">The name of the system intent for which to
retrieve the profile defaults for this stream. System intents are
deprecated and this argument will be ignored in the future.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="78">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="71">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="72">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.
System intents are deprecated and this argument will be ignored in the
future.</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/include/private/gi-binding-renames.h"
                         line="60"/>
        <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/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="102"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-defaults-v1.h"
               line="96">A sorted #GStrv 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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="89">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="90">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. System intents are deprecated and this argument will be ignored
in the future.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="148">Removes this stream from the list of profiles entirely. It will not appear
in the output document.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-defaults-v1.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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="150">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="151">The name of the module stream from which to remove
default profiles.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="153">The name of the system intent from which to remove
the profile defaults for this stream. System intents are deprecated and
calls with this non-NULL arugment will become void in the future.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="49">Set the default stream for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-defaults-v1.h"
                         line="64"/>
        <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/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/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/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.
System intents are deprecated and calls with this non-NULL argument will
become void in the future.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
             line="130">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/include/modulemd-2.0/modulemd-defaults-v1.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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="132">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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="133">The name of the module stream for which to empty
default profiles.</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/include/modulemd-2.0/modulemd-defaults-v1.h"
                 line="135">The name of the system intent from which to clear
the profile defaults for this stream. System intents are deprecated and
calls with this non-NULL argument will become void in the future.</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/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/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/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/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/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/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/include/modulemd-2.0/modulemd-dependencies.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_dependencies_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="35">A newly-allocated #ModulemdDependencies object.
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/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/include/modulemd-2.0/modulemd-dependencies.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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="76">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-dependencies.h"
             line="150">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/include/modulemd-2.0/modulemd-dependencies.h"
                         line="164"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="152">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="153">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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="154">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"
              version="2.5">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
             line="107">Remove all buildtime dependencies from this #ModulemdDependencies object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="109">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_runtime_dependencies"
              c:identifier="modulemd_dependencies_clear_runtime_dependencies"
              version="2.5">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
             line="183">Remove all runtime dependencies from this #ModulemdDependencies object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="192"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="185">This #ModulemdDependencies object.</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/include/modulemd-2.0/modulemd-dependencies.h"
             line="60">Create a copy of this #ModulemdDependencies object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="66">The 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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="62">This #ModulemdDependencies object.</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/include/modulemd-2.0/modulemd-dependencies.h"
             line="44">Check if @self_1 and @self_2 are equal objects.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="46">A #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="47">A #ModulemdDependencies object.</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/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>
        </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/include/modulemd-2.0/modulemd-dependencies.h"
                         line="130"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="124">An ordered #GStrv 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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="122">This #ModulemdDependencies object.</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/include/private/gi-binding-renames.h"
                         line="81"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                         line="146"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="139">An ordered #GStrv 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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="136">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="137">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/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>
        </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/include/modulemd-2.0/modulemd-dependencies.h"
                         line="205"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="199">An ordered #GStrv 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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="197">This #ModulemdDependencies object.</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/include/private/gi-binding-renames.h"
                         line="94"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                         line="219"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
               line="213">An ordered #GStrv 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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="210">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="211">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/include/modulemd-2.0/modulemd-dependencies.h"
             line="93">Adds a module and inserts an empty list for it as buildtime dependency.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="103"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="95">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="96">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/include/modulemd-2.0/modulemd-dependencies.h"
             line="169">Adds a module and inserts an empty list for it as runtime dependency.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                         line="179"/>
        <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/include/modulemd-2.0/modulemd-dependencies.h"
                 line="171">This #ModulemdDependencies object.</doc>
            <type name="Dependencies" c:type="ModulemdDependencies*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-dependencies.h"
                 line="172">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/include/modulemd-2.0/modulemd-dependencies.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="Error"
                 version="2.9"
                 c:type="ModulemdError"
                 glib:error-domain="modulemd-error-quark">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
                       line="82"/>
      <member name="upgrade" value="0" c:identifier="MMD_ERROR_UPGRADE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="51">Represents an error encountered while upgrading the
metadata version of a module stream or module defaults.</doc>
      </member>
      <member name="validate" value="1" c:identifier="MMD_ERROR_VALIDATE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="53">Represents an error encountered while validating
module metadata.</doc>
      </member>
      <member name="file_access"
              value="2"
              c:identifier="MMD_ERROR_FILE_ACCESS">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="55">Represents an error encountered when attempting
to access a file.</doc>
      </member>
      <member name="no_matches" value="3" c:identifier="MMD_ERROR_NO_MATCHES">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="57">Represents an error indicating that no streams
matched when searching for a specific module stream.</doc>
      </member>
      <member name="too_many_matches"
              value="4"
              c:identifier="MMD_ERROR_TOO_MANY_MATCHES">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="59">Represents an error indicating that
multiple streams matched when searching for a specific module
stream.</doc>
      </member>
      <member name="magic" value="5" c:identifier="MMD_ERROR_MAGIC">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="62">Could not detect the mime type of a file for
automatic detection of compression format.</doc>
      </member>
      <member name="not_implemented"
              value="6"
              c:identifier="MMD_ERROR_NOT_IMPLEMENTED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="64">The requested function is not implemented
on this platform, likely due to needing a newer version of a dependency
library.</doc>
      </member>
      <member name="missing_required"
              value="7"
              c:identifier="MMD_ERROR_MISSING_REQUIRED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="67">The object is missing some data necessary
for proper operation.</doc>
      </member>
    </enumeration>
    <enumeration name="ErrorEnum"
                 version="2.0"
                 deprecated="1"
                 deprecated-version="2.9"
                 c:type="ModulemdErrorEnum">
      <doc-deprecated xml:space="preserve">
Use #ModulemdError instead.</doc-deprecated>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
                       line="118"/>
      <member name="upgrade" value="0" c:identifier="MODULEMD_ERROR_UPGRADE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="87">Represents an error encountered while upgrading the
metadata version of a module stream or module defaults.</doc>
      </member>
      <member name="validate" value="1" c:identifier="MODULEMD_ERROR_VALIDATE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="89">Represents an error encountered while validating
module metadata.</doc>
      </member>
      <member name="file_access"
              value="2"
              c:identifier="MODULEMD_ERROR_FILE_ACCESS">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="91">Represents an error encountered when attempting
to access a file.</doc>
      </member>
      <member name="no_matches"
              value="3"
              c:identifier="MODULEMD_ERROR_NO_MATCHES">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="93">Represents an error indicating that no streams
matched when searching for a specific module stream. Since: 2.2</doc>
      </member>
      <member name="too_many_matches"
              value="4"
              c:identifier="MODULEMD_ERROR_TOO_MANY_MATCHES">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="95">Represents an error indicating that
multiple streams matched when searching for a specific module
stream. Since: 2.2</doc>
      </member>
      <member name="magic" value="5" c:identifier="MODULEMD_ERROR_MAGIC">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="98">Could not detect the mime type of a file for
automatic detection of compression format. Since: 2.8</doc>
      </member>
      <member name="not_implemented"
              value="6"
              c:identifier="MODULEMD_ERROR_NOT_IMPLEMENTED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="100">The requested function is not implemented
on this platform, likely due to needing a newer version of a dependency
library. Since: 2.8</doc>
      </member>
    </enumeration>
    <function-macro name="MMD_DEPRECATED_FOR"
                    c:identifier="MMD_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-deprecated.h"
                       line="22"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MMD_DEPRECATED_TYPE_FOR"
                    c:identifier="MMD_DEPRECATED_TYPE_FOR"
                    introspectable="0">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-deprecated.h"
                       line="24"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="MMD_MAXCONTEXTLEN"
              value="10"
              c:type="MMD_MAXCONTEXTLEN"
              version="2.10">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
           line="32">The ModuleStream v3 specification defines the maximum lenth of the context
field.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                       line="40"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MMD_PACKAGER_DEFAULT_MODULE_LICENSE"
              value="MIT"
              c:type="MMD_PACKAGER_DEFAULT_MODULE_LICENSE"
              version="2.11">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
           line="40">The #ModulemdPackagerV3 default module metadata license.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                       line="47"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="MMD_UNAVAILABLE"
                    c:identifier="MMD_UNAVAILABLE"
                    introspectable="0">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-deprecated.h"
                       line="23"/>
      <parameters>
        <parameter name="maj">
        </parameter>
        <parameter name="min">
        </parameter>
      </parameters>
    </function-macro>
    <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/include/modulemd-2.0/modulemd-module.h"
                       line="34"/>
      <method name="clear_xmds"
              c:identifier="modulemd_module_clear_xmds"
              version="2.14">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module.h"
             line="340">Iterates through all #ModulemdModuleStream entries in this
#ModulemdModule and removes any XMD sections that are present. This is
generally done to trim down the metadata to only the portions that are
useful to the package manager.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.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/include/modulemd-2.0/modulemd-module.h"
                 line="342">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="modulemd_module_copy" version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="55">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/include/modulemd-2.0/modulemd-module.h"
                 line="53">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/include/modulemd-2.0/modulemd-module.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="93">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/include/modulemd-2.0/modulemd-module.h"
                 line="91">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/include/modulemd-2.0/modulemd-module.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="288">The defaults of this module or NULL if none.</doc>
          <type name="Defaults" c:type="ModulemdDefaults*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="286">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"
              glib:get-property="module-name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="81">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/include/modulemd-2.0/modulemd-module.h"
                 line="79">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newest_active_obsoletes"
              c:identifier="modulemd_module_get_newest_active_obsoletes"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="335"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="328">The newest active obsoletes attached to this module with
specified stream and context (when eol_date is not set or it already occured
the obsoletes is active). If no context is passed it matches obsoletes without context.</doc>
          <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="324">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="325">The stream to look up obsoletes for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="326">The stream context to look up obsoletes for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_obsoletes"
              c:identifier="modulemd_module_get_obsoletes"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="319"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="313">A list of all obsoletes attached
to this module. These are pointers to the internal memory objects and must not be modified or freed.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Obsoletes"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="311">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">
        <doc-deprecated xml:space="preserve">Use modulemd_module_get_stream_by_NSVCA() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="126">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/include/modulemd-2.0/modulemd-module.h"
                 line="121">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/include/modulemd-2.0/modulemd-module.h"
                 line="122">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/include/modulemd-2.0/modulemd-module.h"
                 line="123">The version of the stream to retrieve.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="124">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/include/modulemd-2.0/modulemd-module.h"
                         line="238"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="231">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/include/modulemd-2.0/modulemd-module.h"
                 line="220">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/include/modulemd-2.0/modulemd-module.h"
                 line="221">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/include/modulemd-2.0/modulemd-module.h"
                 line="222">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="guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="224">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/include/modulemd-2.0/modulemd-module.h"
                 line="226">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/include/private/gi-binding-renames.h"
                         line="101"/>
        <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/include/modulemd-2.0/modulemd-module.h"
                         line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="42">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module.h"
                 line="40">This #ModulemdModule object.</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/include/private/gi-binding-renames.h"
                         line="107"/>
        <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/include/modulemd-2.0/modulemd-module.h"
                         line="115"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="108">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/include/modulemd-2.0/modulemd-module.h"
                 line="105">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/include/modulemd-2.0/modulemd-module.h"
                 line="106">The name of the stream to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_translation"
              c:identifier="modulemd_module_get_translation"
              version="2.8">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="306"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="301">The set of translations attached to streams.</doc>
          <type name="Translation" c:type="ModulemdTranslation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="298">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="299">The stream to look up translations for.</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/include/modulemd-2.0/modulemd-module.h"
             line="246">Remove one or more #ModulemdModuleStream objects from this #ModulemdModule
that match the provided parameters.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="263"/>
        <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/include/modulemd-2.0/modulemd-module.h"
                 line="248">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/include/modulemd-2.0/modulemd-module.h"
                 line="249">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/include/modulemd-2.0/modulemd-module.h"
                 line="250">The version of the stream to remove. If set to zero, matches all
versions.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="252">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/include/modulemd-2.0/modulemd-module.h"
                 line="254">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/include/modulemd-2.0/modulemd-module.h"
                         line="160"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="150">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/include/modulemd-2.0/modulemd-module.h"
                 line="141">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/include/modulemd-2.0/modulemd-module.h"
                 line="142">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/include/modulemd-2.0/modulemd-module.h"
                 line="143">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="guint64"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="145">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/include/modulemd-2.0/modulemd-module.h"
                 line="147">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="search_streams_by_glob"
              c:identifier="modulemd_module_search_streams_by_glob"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module.h"
             line="166">All arguments to this method will be compared using
[fnmatch(3)](https://www.mankier.com/3/fnmatch).</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="191"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="181">The list
of stream objects matching all of 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 module
name, then stream name, then by version (highest first), 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/include/modulemd-2.0/modulemd-module.h"
                 line="168">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="stream_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="169">The name of the stream to retrieve. If NULL, will
search all streams.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="171">The version of the stream to retrieve. If NULL, will
search all versions.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="173">The context of the stream to retrieve. If NULL, will
search all 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/include/modulemd-2.0/modulemd-module.h"
                 line="175">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="search_streams_by_nsvca_glob"
              c:identifier="modulemd_module_search_streams_by_nsvca_glob"
              version="2.9">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                         line="214"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="204">An array
of #ModulemdModuleStream objects whose NSVCA string matches the provided
pattern. This function cannot fail, but may return an array of zero entries
if the pattern did not match any streams. The returned streams will be in a
predictable order, sorted first by module name, then stream name, then by
version (highest first), 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/include/modulemd-2.0/modulemd-module.h"
                 line="199">This #ModulemdModule object.</doc>
            <type name="Module" c:type="ModulemdModule*"/>
          </instance-parameter>
          <parameter name="nsvca_pattern"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                 line="200">A [glob](https://www.mankier.com/3/glob)
pattern to match against the NSVCA strings of the #ModulemdModuleStream
objects in this module. If NULL, this will match all NSVCAs.</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/include/modulemd-2.0/modulemd-module.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="69">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/include/modulemd-2.0/modulemd-module.h"
                 line="65">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"
                getter="get_module_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleClass"
            c:type="ModulemdModuleClass"
            glib:is-gtype-struct-for="Module">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                       line="34"/>
      <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/include/modulemd-2.0/modulemd-module-index.h"
                       line="72"/>
      <constructor name="new"
                   c:identifier="modulemd_module_index_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="141"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="136">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/include/modulemd-2.0/modulemd-module-index.h"
                         line="541"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="534">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 appropriately.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="529">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="defaults" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="530">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/include/modulemd-2.0/modulemd-module-index.h"
             line="501">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/include/modulemd-2.0/modulemd-module-index.h"
                         line="522"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="515">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="503">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="504">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_obsoletes"
              c:identifier="modulemd_module_index_add_obsoletes"
              version="2.10"
              throws="1">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="560"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="553">TRUE if the #ModulemdObsoletes was added successfully. If the obsoletes
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/include/modulemd-2.0/modulemd-module-index.h"
                 line="548">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="obsoletes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="549">The #ModulemdObsoletes object to add to the index.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_translation"
              c:identifier="modulemd_module_index_add_translation"
              version="2.0"
              throws="1">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="604"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="597">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="592">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="translation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="593">The #ModulemdTranslation object to add to the index.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_xmds"
              c:identifier="modulemd_module_index_clear_xmds"
              version="2.14">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="674">Iterates through all #ModulemdModuleStream entries in this
#ModulemdModuleIndex and removes any XMD sections that are present. This is
generally done to trim down the metadata to only the portions that are
useful to the package manager.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="686"/>
        <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/include/modulemd-2.0/modulemd-module-index.h"
                 line="676">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-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/include/modulemd-2.0/modulemd-module-index.h"
                         line="369"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="363">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="356">This #ModulemdModuleIndex object.</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/include/modulemd-2.0/modulemd-module-index.h"
                 line="357">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="358">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/include/modulemd-2.0/modulemd-module-index.h"
                         line="349"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="343">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="337">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="338">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/include/modulemd-2.0/modulemd-module-index.h"
                         line="332"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="326">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="322">This #ModulemdModuleIndex object.</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/include/private/gi-binding-renames.h"
                         line="277"/>
        <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/include/modulemd-2.0/modulemd-module-index.h"
             line="565">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/include/modulemd-2.0/modulemd-module-index.h"
                         line="586"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="578">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="567">This #ModulemdModuleIndex object.</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/include/modulemd-2.0/modulemd-module-index.h"
                 line="568">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.
System intents are deprecated and this argument will be ignored in the
future.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="617"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="612">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="610">This #ModulemdModuleIndex object.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="398"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="392">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="389">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="390">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/include/private/gi-binding-renames.h"
                         line="271"/>
        <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/include/modulemd-2.0/modulemd-module-index.h"
                         line="384"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="379">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="377">This #ModulemdModuleIndex object.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="630"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="624">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="622">This #ModulemdModuleIndex object.</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/include/modulemd-2.0/modulemd-module-index.h"
             line="483">Remove a module, including all of its streams, its defaults and its
translations from a #ModulemdModuleIndex.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="498"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="491">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="485">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="486">The name of the module to remove from the index.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_rpms"
              c:identifier="modulemd_module_index_search_rpms"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="458">All arguments to this method will be compared using
[fnmatch(3)](https://www.mankier.com/3/fnmatch).</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="479"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="468">The list
of stream objects containing an RPM that matches the @nevra_pattern.
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 module
name, then stream name, then by version (highest first), 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="460">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="nevra_pattern" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="461">A [glob](https://www.mankier.com/3/glob)
pattern to match against the NEVRA strings of the rpm artifacts in the
#ModulemdModuleStream objects in this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_streams"
              c:identifier="modulemd_module_index_search_streams"
              version="2.9">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="402">All arguments to this method will be compared using
[fnmatch(3)](https://www.mankier.com/3/fnmatch).</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="429"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="419">The list
of stream objects matching all of 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 module
name, then stream name, then by version (highest first), 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="404">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="405">The name of the module to retrieve. If NULL, will
search all modules in the index.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stream_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="407">The name of the stream to retrieve. If NULL, will
search all streams in a module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="409">The version of the stream to retrieve. If NULL, will
search all versions.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="411">The context of the stream to retrieve. If NULL, will
search all 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="413">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="search_streams_by_nsvca_glob"
              c:identifier="modulemd_module_index_search_streams_by_nsvca_glob"
              version="2.9">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="454"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="444">The list
of stream objects matching all of 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 module
name, then stream name, then by version (highest first), 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="439">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="nsvca_pattern"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="440">A [glob](https://www.mankier.com/3/glob)
pattern to match against the NSVCA strings of the #ModulemdModuleStream
objects in this module. If NULL, this will match all NSVCAs.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="273"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="266">%TRUE if the update was successful. Returns %FALSE and sets
@failures appropriately 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="248">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="249">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="250">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="251">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="253">
On output, an array containing any subdocuments (pointers to
#ModulemdSubdocumentInfo) from the YAML file that failed to parse. On
input, it must be a non-%NULL pointer. If that pointer points to %NULL, this
call will allocate a new array (regardless of any failures) with an element
destructor set to g_object_unref(). Otherwise, the pointed array is reused
without emptying before adding the failed subdocuments. The caller is
responsible for freeing the array.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray**">
              <type name="SubdocumentInfo"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="update_from_defaults_directory"
              c:identifier="modulemd_module_index_update_from_defaults_directory"
              version="2.8"
              throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="281">This function will open the directory at @path and iterate through it,
adding any files with the suffix ".yaml" to @self. If @overrides_path is
non-%NULL, it will also open any files with the suffix ".yaml" in that
location and import them, overriding any conflicts with the existing
defaults.

Note: If you need detailed information about what failed and why, it is
better to implement the directory traversal yourself and use the
modulemd_module_index_update_from_file() function, as it will return the
failures information.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="312"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="305">%TRUE if all ".yaml" files in the directory were imported
successfully (this includes if no ".yaml" files were present). %FALSE if one
or more files could not be read successfully 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="283">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="284">The path to a directory containing defaults documents.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strict" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="285">Whether the parser should return failure if it encounters an
unknown mapping key or a conflict in module default streams.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="overrides_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="287">If non-%NULL, the path to a directory
containing defaults documents that should override those in @path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </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/include/modulemd-2.0/modulemd-module-index.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="164">%TRUE if the update was successful. Returns %FALSE and sets
@failures appropriately 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="146">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="147">A name of 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="149">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="151">
On output, an array containing any subdocuments (pointers to
#ModulemdSubdocumentInfo) from the YAML file that failed to parse. On
input, it must be a non-%NULL pointer. If that pointer points to %NULL, this
call will allocate a new array (regardless of any failures) with an element
destructor set to g_object_unref(). Otherwise, the pointed array is reused
without emptying before adding the failed subdocuments. The caller is
responsible for freeing the array.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="239"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="232">%TRUE if the update was successful. Returns %FALSE and sets
@failures appropriately 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="214">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="215">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="217">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="219">
On output, an array containing any subdocuments (pointers to
#ModulemdSubdocumentInfo) from the YAML file that failed to parse. On
input, it must be a non-%NULL pointer. If that pointer points to %NULL, this
call will allocate a new array (regardless of any failures) with an element
destructor set to g_object_unref(). Otherwise, the pointed array is reused
without emptying before adding the failed subdocuments. The caller is
responsible for freeing the array.</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/include/modulemd-2.0/modulemd-module-index.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
               line="198">%TRUE if the update was successful. Returns %FALSE and sets
@failures appropriately 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/include/modulemd-2.0/modulemd-module-index.h"
                 line="180">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="181">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="183">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/include/modulemd-2.0/modulemd-module-index.h"
                 line="185">
On output, an array containing any subdocuments (pointers to
#ModulemdSubdocumentInfo) from the YAML file that failed to parse. On
input, it must be a non-%NULL pointer. If that pointer points to %NULL, this
call will allocate a new array (regardless of any failures) with an element
destructor set to g_object_unref(). Otherwise, the pointed array is reused
without emptying before adding the failed subdocuments. The caller is
responsible for freeing the array.</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/include/modulemd-2.0/modulemd-module-index.h"
             line="652">Upgrades all #ModulemdDefaults objects in this index to @mdversion if they
are not already at that version. An attempt to downgrade or an attempt to
upgrade beyond the latest supported version will report an error. In the
case of a failure to upgrade a particular #ModulemdDefaults object of the
index, an error will be reported and the index will be left in an undefined
state.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="669"/>
        <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/include/modulemd-2.0/modulemd-module-index.h"
                 line="654">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="655">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/include/modulemd-2.0/modulemd-module-index.h"
             line="633">Upgrades all #ModulemdModuleStream objects in this index to @mdversion if
they are not already at that version.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                         line="646"/>
        <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/include/modulemd-2.0/modulemd-module-index.h"
                 line="635">This #ModulemdModuleIndex object.</doc>
            <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                 line="636">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/include/modulemd-2.0/modulemd-module-index.h"
                       line="72"/>
      <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/include/modulemd-2.0/modulemd-module-index-merger.h"
                       line="125"/>
      <constructor name="new"
                   c:identifier="modulemd_module_index_merger_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="141"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="135">A newly-allocated #ModulemdModuleIndexMerger
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/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="144">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/include/modulemd-2.0/modulemd-module-index-merger.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/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="146">This #ModulemdModuleIndexMerger object.</doc>
            <type name="ModuleIndexMerger"
                  c:type="ModulemdModuleIndexMerger*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="147">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/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="154">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/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="175">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/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="200"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="193">A newly-allocated #ModulemdModuleIndex object
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/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="177">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/include/modulemd-2.0/modulemd-module-index-merger.h"
             line="204">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/include/modulemd-2.0/modulemd-module-index-merger.h"
                         line="228"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
               line="221">A newly-allocated #ModulemdModuleIndex object
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/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="206">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/include/modulemd-2.0/modulemd-module-index-merger.h"
                 line="207">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/include/modulemd-2.0/modulemd-module-index-merger.h"
                       line="125"/>
      <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/include/modulemd-2.0/modulemd-module-stream.h"
                       line="105"/>
      <constructor name="new"
                   c:identifier="modulemd_module_stream_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="120"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="114">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="110">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="111">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="112">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"
                deprecated="1"
                deprecated-version="2.11"
                throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
             line="125">Create a #ModulemdModuleStream object from a YAML file.

Note: This function also reads modulemd-packager v2 and v3 documents, which
are transparently returned as #ModulemdModuleStream (V2) objects. However,
if a modulemd-packager v3 document (#ModulemdPackagerV3) is encountered and
it uses buildopts (#ModulemdBuildopts) in one or more build configurations,
only the buildopts present in the first listed configuration (if any) will be
applied to the returned #ModulemdModuleStreamV2 object.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_read_packager_file() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="159"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="148">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 @error 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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="127">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="129">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="131">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="134">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="207">Create a #ModulemdModuleStream object from a YAML file.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="232"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="223">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="209">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="211">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="213">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="216">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"
                deprecated="1"
                deprecated-version="2.11"
                throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
             line="166">Create a #ModulemdModuleStream object from a YAML string.

Note: This function also reads modulemd-packager v2 and v3 documents, which
are transparently returned as #ModulemdModuleStream (V2) objects. However,
if a modulemd-packager v3 document (#ModulemdPackagerV3) is encountered and
it uses buildopts (#ModulemdBuildopts) in one or more build configurations,
only the buildopts present in the first listed configuration (if any) will be
applied to the returned #ModulemdModuleStreamV2 object.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_read_packager_string() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="200"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="189">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 @error 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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="168">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="170">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="172">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="175">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="512">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="508">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="509">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="510">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="255">Copies a #ModulemdModuleStream, optionally assigning it a new stream name in
the process.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="83"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="265">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="257">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="258">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="260">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="492">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="488">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="489">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="490">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="239">Checks if @self_1 and @self_2 are identical objects.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="246">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="241">A #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="242">A #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="341">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="339">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
             line="319">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="328">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="321">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="521"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="512">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="508">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="509">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="510">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="255">Copies a #ModulemdModuleStream, optionally assigning it a new stream name in
the process.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="271"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="265">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="257">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="258">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="260">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="501"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="492">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="488">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="489">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="490">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="239">Checks if @self_1 and @self_2 are identical objects.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="246">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="241">A #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="242">A #ModulemdModuleStream object.</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/include/private/gi-binding-renames.h"
                         line="121"/>
        <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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="483"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="475">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="473">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_module_stream_get_arch"
              glib:get-property="arch"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="449"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="442">Module architecture object.
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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="440">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="modulemd_module_stream_get_context"
              glib:get-property="context"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="421"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="413">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="411">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mdversion"
              c:identifier="modulemd_module_stream_get_mdversion"
              glib:get-property="mdversion"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="346"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="341">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="339">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="modulemd_module_stream_get_module_name"
              glib:get-property="module-name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="358"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="353">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="351">This #ModulemdModuleStream object.</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/include/private/gi-binding-renames.h"
                         line="114"/>
        <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/include/modulemd-2.0/modulemd-module-stream.h"
             line="452">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="468"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="462">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="454">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_name"
              c:identifier="modulemd_module_stream_get_stream_name"
              glib:get-property="stream-name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="370"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="365">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="363">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="modulemd_module_stream_get_version"
              glib:get-property="version">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="392"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="389">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="387">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_module_stream_set_arch"
              glib:set-property="arch"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="434"/>
        <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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="426">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="427">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"
              glib:set-property="context"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="405"/>
        <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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="396">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="397">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"
              glib:set-property="version"
              version="2.0">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="375">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="376">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"
              deprecated="1"
              deprecated-version="2.10"
              throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
             line="276">Return an upgraded copy of this object. Does not modify the original.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_module_stream_upgrade_ext() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="294"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="285">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="278">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="279">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="upgrade_ext"
              c:identifier="modulemd_module_stream_upgrade_ext"
              version="2.10"
              throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
             line="298">Does not modify the original #ModulemdModuleStream object, @from.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                         line="315"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="307">A newly-allocated #ModulemdModule containing a copy
of this object upgraded to the requested version, possibly with multiple
streams. Returns NULL and sets @error appropriately if the upgrade could not
be completed automatically.</doc>
          <type name="Module" c:type="ModulemdModule*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="300">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="301">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="319">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/include/modulemd-2.0/modulemd-module-stream.h"
                         line="334"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
               line="328">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/include/modulemd-2.0/modulemd-module-stream.h"
                 line="321">This #ModulemdModuleStream object.</doc>
            <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_arch"
                getter="get_arch"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="context"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_context"
                getter="get_context"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="mdversion"
                transfer-ownership="none"
                getter="get_mdversion"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_module_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="stream-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_stream_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_version"
                getter="get_version"
                default-value="0">
        <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/include/modulemd-2.0/modulemd-module-stream.h"
                       line="105"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="copy">
        <callback name="copy">
          <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                           line="83"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="265">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="257">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="258">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="260">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/include/modulemd-2.0/modulemd-module-stream.h"
                           line="87"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="328">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="321">This #ModulemdModuleStream object.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mdversion">
        <callback name="get_mdversion">
          <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                           line="89"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="341">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="339">This #ModulemdModuleStream object.</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/include/modulemd-2.0/modulemd-module-stream.h"
                           line="91"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="492">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="488">This #ModulemdModuleStream object.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="module_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                   line="489">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="490">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/include/modulemd-2.0/modulemd-module-stream.h"
                           line="95"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="512">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="508">This #ModulemdModuleStream object.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="module_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                   line="509">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="510">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/include/modulemd-2.0/modulemd-module-stream.h"
                           line="99"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                 line="246">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/include/modulemd-2.0/modulemd-module-stream.h"
                   line="241">A #ModulemdModuleStream object.</doc>
              <type name="ModuleStream" c:type="ModulemdModuleStream*"/>
            </parameter>
            <parameter name="self_2" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
                   line="242">A #ModulemdModuleStream object.</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/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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="788">Add a build-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="799"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="790">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="791">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="792">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="263">Add a component definition to the module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="274"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="265">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="266">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="399"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="392">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="393">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="411"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="405">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="406">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="494">Adds a profile definition to this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="504"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="496">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="497">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="558"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="551">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="552">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="607"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="601">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="602">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="657"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="651">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="652">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="804">Add a runtime dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="815"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="806">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="807">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="808">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="699">Adds a servicelevel definition to this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="709"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="701">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="servicelevel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="702">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="849">Remove all buildtime dependencies for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="858"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="851">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="428">Remove all content licenses.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="437"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="430">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="293">Remove all module components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="302"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="295">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="454">Remove all module licenses.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="463"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="456">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="508">Remove all profiles from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="517"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="510">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="574">Remove all RPMs from the list of stable public API.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="583"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="576">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="623">Remove all RPM NEVRs from the list of artifacts.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="632"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="625">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="321">Remove all RPM components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="330"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="323">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="673">Remove all RPMs from the filter list.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="682"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="675">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="862">Remove all runtime dependencies for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="871"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="864">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="713">Remove all servicelevels from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="722"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="715">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"
              glib:get-property="arch"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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"
              glib:get-property="buildopts"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="885"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="879">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="877">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="914"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="908">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="905">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="906">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"
              glib:get-property="community"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="476"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="470">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="468">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="164">The module description, translated to the
requested locale if available. Translation information is managed by the
#ModulemdTranslation and #ModulemdTranslationEntry objects.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="158">This #ModulemdModuleStreamV1 object.</doc>
            <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="159">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 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"
              glib:get-property="documentation"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="198"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="191">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="770">Compatibility function with early iterations of modulemd v1. This function
is a wrapper for `modulemd_module_stream_v1_get_servicelevel("rawhide")`.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_module_stream_v1_get_servicelevel() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="785"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="777">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="772">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="371"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="365">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="362">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="363">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/include/private/gi-binding-renames.h"
                         line="127"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="343"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="337">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="335">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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="490"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="484">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="482">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="545"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="539">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="536">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="537">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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="530"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="524">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="522">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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="596"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="590">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="588">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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="645"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="639">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="637">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="386"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="380">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="377">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="378">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/include/private/gi-binding-renames.h"
                         line="134"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="356"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="350">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="348">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/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_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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="695"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="689">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="687">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/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="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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="899"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="893">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="891">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="929"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="750"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="744">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="741">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="742">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/include/private/gi-binding-renames.h"
                         line="177"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="735"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="729">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="727">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="223">The module summary, translated to the requested
locale if available. Translation information is managed by the
#ModulemdTranslation and #ModulemdTranslationEntry objects.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="217">This #ModulemdModuleStreamV1 object.</doc>
            <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/include/modulemd-2.0/modulemd-module-stream-v1.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 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"
              glib:get-property="tracker"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="257"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="252">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="250">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="959"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
               line="956">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="954">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="821">Remove a build-time dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="831"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="823">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="824">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="424"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="417">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="418">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="278">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="289"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="280">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="281">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="450"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="443">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="444">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="570"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="564">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="565">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="619"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="613">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="614">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="306">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="317"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="308">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="309">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="669"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="663">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="664">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="835">Remove a runtime dependency for this module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="845"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="837">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="838">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"
              glib:set-property="arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="63">Set the module artifact architecture.</doc>
        <source-position filename="modulemd/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/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/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"
              glib:set-property="buildopts"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="89">Set build options for this module's components.</doc>
        <source-position filename="modulemd/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/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/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"
              glib:set-property="community"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="116">Set the module community website address.</doc>
        <source-position filename="modulemd/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/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/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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="142">Set the module description.</doc>
        <source-position filename="modulemd/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/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/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"
              glib:set-property="documentation"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="175">Set the module documentation website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="177">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="documentation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="178">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="754">Comptibility function with early iterations of modulemd v1. This function is
a wrapper for `modulemd_module_stream_v1_add_servicelevel("rawhide", eol)`.</doc>
        <doc-deprecated xml:space="preserve">Use modulemd_module_stream_v1_add_servicelevel() instead.</doc-deprecated>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="767"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="756">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="eol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="757">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="201">Set the module summary.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="203">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/include/modulemd-2.0/modulemd-module-stream-v1.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_v1_set_tracker"
              glib:set-property="tracker"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="234">Set the module bug tracker website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="244"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="236">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="237">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
             line="933">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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                         line="948"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="935">This #ModulemdModuleStreamV1 object.</doc>
            <type name="ModuleStreamV1" c:type="ModulemdModuleStreamV1*"/>
          </instance-parameter>
          <parameter name="xmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v1.h"
                 line="936">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"
                setter="set_arch"
                getter="get_arch"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="buildopts"
                writable="1"
                transfer-ownership="none"
                setter="set_buildopts"
                getter="get_buildopts">
        <type name="Buildopts"/>
      </property>
      <property name="community"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_community"
                getter="get_community"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="documentation"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_documentation"
                getter="get_documentation"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tracker"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_tracker"
                getter="get_tracker"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleStreamV1Class"
            c:type="ModulemdModuleStreamV1Class"
            glib:is-gtype-struct-for="ModuleStreamV1">
      <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                       line="40"/>
      <constructor name="new"
                   c:identifier="modulemd_module_stream_v2_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="52">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="49">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="50">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="282">Add a component definition to the module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="293"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="284">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="285">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="414"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="407">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="408">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_demodularized_rpm"
              c:identifier="modulemd_module_stream_v2_add_demodularized_rpm"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="766">Add a binary package name to a list of demodularized packages.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="776"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="768">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="769">A name of a binary RPM package to become non-modular.</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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="876">Add a #ModulemdDependencies object to the list of dependencies for this
module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="888"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="878">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="deps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="879">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="426"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="420">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="421">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="509">Adds a profile definition to this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="519"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="511">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="512">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="590"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="583">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="584">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="639"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="633">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="634">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="724"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="718">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="719">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="821">Adds a servicelevel definition to this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="831"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="823">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="servicelevel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="824">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="456">Remove all content licenses.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="465"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="458">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_demodularized_rpms"
              c:identifier="modulemd_module_stream_v2_clear_demodularized_rpms"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="794">Remove all RPM packages from a demodularized list of the object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="803"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="796">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="892">Empties the list of dependencies for this #ModulemdModuleStream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="901"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="894">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="312">Remove all module components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="319"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="314">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="469">Remove all module licenses.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="478"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="471">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="523">Remove all profiles from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="532"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="525">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="606">Remove all RPMs from the list of stable public API.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="608">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="655">Remove all NPM NEVRs from the list of artifacts.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="664"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="657">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="338">Remove all RPM components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="345"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="340">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="740">Remove all RPMs from the filter list.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="749"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="742">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="835">Remove all servicelevels from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="844"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="837">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_xmd"
              c:identifier="modulemd_module_stream_v2_clear_xmd"
              version="2.14">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="962">Removes all XMD data from this #ModulemdModuleStreamV2</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="971"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="964">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"
              glib:get-property="arch"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="83">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="81">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"
              glib:get-property="buildopts"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="110">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="108">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"
              glib:get-property="community"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="136">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="134">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="491"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="485">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="483">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_demodularized_rpms"
              c:identifier="modulemd_module_stream_v2_get_demodularized_rpms"
              version="2.13">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="817"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="811">An ordered #GStrv list of binary RPM package names
that became non-modular.</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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="809">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="920">Return the list of #ModulemdDependencies objects as a #GPtrArray.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="930"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="926">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="922">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="166">The module description, translated to the
requested locale if available. Translation information is managed by the
#ModulemdTranslation and #ModulemdTranslationEntry objects.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="160">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="161">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 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"
              glib:get-property="documentation"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="200"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="195">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="193">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="386"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="380">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="377">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="378">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/include/private/gi-binding-renames.h"
                         line="196"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="358"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="352">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="350">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="505"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="499">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="497">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_obsoletes_resolved"
              c:identifier="modulemd_module_stream_v2_get_obsoletes_resolved"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="275"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="266">The #ModulemdObsoletes information associated with
this object. If the associated obsoletes has reset attribute set, this
function doesn't return it. From outside obsoletes with reset looks like
there is no obsoletes set for this stream. Every obsoletes (even with reset) can
be accessed from the streams module.</doc>
          <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="264">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="560"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="554">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="551">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="552">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="545"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="539">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="537">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="628"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="622">An ordered #GStrv list of binary RPM names that
form 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/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="get_rpm_artifact_map_entry"
              c:identifier="modulemd_module_stream_v2_get_rpm_artifact_map_entry"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="712"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="706">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="701">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="digest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="702">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="704">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="677"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="671">An ordered #GStrv list of RPM NEVRs that 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="669">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="401"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="395">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="392">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="393">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/include/private/gi-binding-renames.h"
                         line="203"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="371"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="365">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="363">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/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_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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="762"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="756">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="754">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="872"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="866">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="863">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="864">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/include/private/gi-binding-renames.h"
                         line="246"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="857"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="851">An ordered #GStrv 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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="849">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="232"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="225">The module summary, translated to the requested
locale if available. Translation information is managed by the
#ModulemdTranslation and #ModulemdTranslationEntry objects.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="219">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="220">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 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"
              glib:get-property="tracker"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="259"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="254">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="252">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="959"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="956">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="954">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_static_context"
              c:identifier="modulemd_module_stream_v2_is_static_context"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="1009"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="1004">Whether the `context` attribute should be treated as static.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="1002">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="439"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="432">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="433">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_demodularized_rpm"
              c:identifier="modulemd_module_stream_v2_remove_demodularized_rpm"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="780">Remove a binary package name from a list of demodularized packages.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="790"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="782">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="783">A binary RPM name to remove from a demodularized list.</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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="904">Removes all entries matching @deps from the array of #ModulemdDependencies
objects.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="916"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="906">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="deps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="907">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="297">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="308"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="299">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="300">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="452"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="445">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="446">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/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/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="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="597">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="651"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="645">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="nevr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="646">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="323">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="334"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="325">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="326">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="736"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="730">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="731">A binary RPM name to remove from the filter list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_profiles"
              c:identifier="modulemd_module_stream_v2_search_profiles">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="577"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
               line="571">The list of
#ModulemdProfile objects whose name matched @profile_pattern. This function
cannot fail, but it may return a zero-length list if no matches were found.
The returned profiles will be sorted alphabetically by profile name.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Profile"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="566">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="profile_pattern"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="567">A globbing pattern to locate one or more
profiles in this #ModulemdModuleStreamV2 object. The names will be compared
using [fnmatch(3)](https://www.mankier.com/3/fnmatch).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_module_stream_v2_set_arch"
              glib:set-property="arch"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="65">Set the module artifact architecture.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="67">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="68">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"
              glib:set-property="buildopts"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="91">Set build options for this module's components.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="93">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="buildopts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="94">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"
              glib:set-property="community"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="118">Set the module community website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="120">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="community" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="121">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="144">Set the module description.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="154"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="146">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="147">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"
              glib:set-property="documentation"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="177">Set the module documentation website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="187"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="179">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="documentation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="180">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="692"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="683">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="684">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="685">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="687">An RPM artifact checksum.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_static_context"
              c:identifier="modulemd_module_stream_v2_set_static_context"
              glib:set-property="static-context"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="974">Marks this #ModulemdModuleStreamV2 to indicate to dependency solvers that
they must treat the `context` attribute as informative.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="984"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="976">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="modulemd_module_stream_v2_set_summary"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="203">Set the module summary.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="213"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="205">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="206">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"
              glib:set-property="tracker"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="236">Set the module bug tracker website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="246"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="238">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="239">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="933">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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="948"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="935">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
          <parameter name="xmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="936">A #GVariant representing arbitrary YAML.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unset_static_context"
              c:identifier="modulemd_module_stream_v2_unset_static_context"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
             line="987">Marks this #ModulemdModuleStreamV2 to indicate to dependency solvers that
they must ignore the `context` attribute as a uniqueness element.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                         line="997"/>
        <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/include/modulemd-2.0/modulemd-module-stream-v2.h"
                 line="989">This #ModulemdModuleStreamV2 object.</doc>
            <type name="ModuleStreamV2" c:type="ModulemdModuleStreamV2*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_arch"
                getter="get_arch"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="buildopts"
                writable="1"
                transfer-ownership="none"
                setter="set_buildopts"
                getter="get_buildopts">
        <type name="Buildopts"/>
      </property>
      <property name="community"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_community"
                getter="get_community"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="documentation"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_documentation"
                getter="get_documentation"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="static-context"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_static_context"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="tracker"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_tracker"
                getter="get_tracker"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ModuleStreamV2Class"
            c:type="ModulemdModuleStreamV2Class"
            glib:is-gtype-struct-for="ModuleStreamV2">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-stream-v2.h"
                       line="40"/>
      <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/include/modulemd-2.0/modulemd-module-stream.h"
                       line="68"/>
      <member name="error"
              value="-1"
              c:identifier="MD_MODULESTREAM_VERSION_ERROR">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-stream.h"
             line="47">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="49">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="50">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="52">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/include/modulemd-2.0/modulemd-module-stream.h"
             line="54">Represents the highest-supported version of
the #ModulemdModuleStream metadata format.</doc>
      </member>
    </enumeration>
    <class name="Obsoletes"
           c:symbol-prefix="obsoletes"
           c:type="ModulemdObsoletes"
           parent="GObject.Object"
           glib:type-name="ModulemdObsoletes"
           glib:get-type="modulemd_obsoletes_get_type"
           glib:type-struct="ObsoletesClass">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_obsoletes_new"
                   version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="63">A newly-allocated #ModulemdObsoletes object.
This object must be freed with g_object_unref().</doc>
          <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
        </return-value>
        <parameters>
          <parameter name="mdversion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="56">The metadata version of this #ModulemdObsoletes.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="57">The last modified time represented as a 64-bit integer (such as
201807011200).</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="59">The name of the module to which this obsoletes applies.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="module_stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="60">The name of the module stream to which this obsoletes applies.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="61">A string describing the change, reason, etc.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="modulemd_obsoletes_copy"
              version="2.10">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="75">Create a copy of this #ModulemdObsoletes object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="86"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="81">The copied #ModulemdObsoletes object.</doc>
          <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="77">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_eol_date"
              c:identifier="modulemd_obsoletes_get_eol_date"
              glib:get-property="eol-date"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="181"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="176">A date 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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="174">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message"
              c:identifier="modulemd_obsoletes_get_message"
              glib:get-property="message"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="192"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="187">The message associated with this #ModulemdObsoletes object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="185">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified"
              c:identifier="modulemd_obsoletes_get_modified"
              glib:get-property="modified"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="242"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="236">The last modified time of this #ModulemdObsoletes object
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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="234">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_context"
              c:identifier="modulemd_obsoletes_get_module_context"
              glib:get-property="module-context"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="107">The context name to which this #ModulemdObsoletes object 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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="105">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_obsoleted_by_module_name"
              c:identifier="modulemd_obsoletes_get_obsoleted_by_module_name"
              glib:get-property="obsoleted-by-module-name"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="219"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="214">The module name of obsoleting 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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="212">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_obsoleted_by_module_stream"
              c:identifier="modulemd_obsoletes_get_obsoleted_by_module_stream"
              glib:get-property="obsoleted-by-module-stream"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="225">The module stream of obsoleting 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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="223">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reset"
              c:identifier="modulemd_obsoletes_get_reset"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="154">Whether this #ModulemdObsoletes object cancels/resets all previously specified obsoletes.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="152">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_active"
              c:identifier="modulemd_obsoletes_is_active"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="255"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
               line="248">If this #ModulemdObsoletes object has eol_date set and the
date has not occured yet it returns false otherwise it returns true.
(When eol_date is not set or it already occured the obsoletes is active.)</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="246">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_eol_date"
              c:identifier="modulemd_obsoletes_set_eol_date"
              glib:set-property="eol-date"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="163">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
          <parameter name="eol_date" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="164">The end-of-life date for this stream. If set to zero, the stream is
EOLed immediately.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modified"
              c:identifier="modulemd_obsoletes_set_modified"
              glib:set-property="modified"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="128">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="129">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_module_context"
              c:identifier="modulemd_obsoletes_set_module_context"
              glib:set-property="module-context"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="123"/>
        <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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="116">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
          <parameter name="module_context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="117">The name of the module context to which this obsoletes
applies.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_obsoleted_by"
              c:identifier="modulemd_obsoletes_set_obsoleted_by"
              version="2.10">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="194">Sets both obsoleted by module name and stream because having one without
the other is invalid.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="206"/>
        <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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="196">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
          <parameter name="obsoleted_by_module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="197">The module name of obsoleting stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="obsoleted_by_module_stream"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="198">The module stream of obsoleting stream.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reset"
              c:identifier="modulemd_obsoletes_set_reset"
              version="2.10">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="137">Sets the reset attribute on #ModulemdObsoletes object. With this boolean attribute set the
obsoletes resets (cancels out) all previously specified obsoletes.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="148"/>
        <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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="139">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
          <parameter name="reset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="140">Whether to reset/cancel all previously specified obsoletes.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="modulemd_obsoletes_validate"
              version="2.10"
              throws="1">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="88">This method ensures that the obsoletes 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/include/modulemd-2.0/modulemd-obsoletes.h"
                         line="101"/>
        <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/include/modulemd-2.0/modulemd-obsoletes.h"
                 line="90">This #ModulemdObsoletes object.</doc>
            <type name="Obsoletes" c:type="ModulemdObsoletes*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="eol-date"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_eol_date"
                getter="get_eol_date"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="mdversion"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="message"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_message"
                default-value="__obsoletes_VALUE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="modified"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_modified"
                getter="get_modified"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-context"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_module_context"
                getter="get_module_context"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="__obsoletes_VALUE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="module-stream"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="__obsoletes_VALUE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="obsoleted-by-module-name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_obsoleted_by_module_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="obsoleted-by-module-stream"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_obsoleted_by_module_stream"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="override-previous"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ObsoletesClass"
            c:type="ModulemdObsoletesClass"
            glib:is-gtype-struct-for="Obsoletes">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                       line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ObsoletesVersionEnum"
                 version="2.10"
                 c:type="ModulemdObsoletesVersionEnum">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
                       line="52"/>
      <member name="error"
              value="-1"
              c:identifier="MD_OBSOLETES_VERSION_ERROR">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="34">Represents an error handling mdversion.</doc>
      </member>
      <member name="unset" value="0" c:identifier="MD_OBSOLETES_VERSION_UNSET">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="35">Represents an unset mdversion.</doc>
      </member>
      <member name="one" value="1" c:identifier="MD_OBSOLETES_VERSION_ONE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="36">Represents v1 of the #ModulemdObsoletes metadata
format.</doc>
      </member>
      <member name="latest"
              value="1"
              c:identifier="MD_OBSOLETES_VERSION_LATEST">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-obsoletes.h"
             line="38">Represents the highest-supported version of the
#ModulemdObsoletes metadata format.</doc>
      </member>
    </enumeration>
    <class name="PackagerV3"
           c:symbol-prefix="packager_v3"
           c:type="ModulemdPackagerV3"
           parent="GObject.Object"
           glib:type-name="ModulemdPackagerV3"
           glib:get-type="modulemd_packager_v3_get_type"
           glib:type-struct="PackagerV3Class">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                       line="36"/>
      <constructor name="new"
                   c:identifier="modulemd_packager_v3_new"
                   version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="85"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="79">A newly-allocated #ModulemdPackagerV3 object. This
object must be freed with g_object_unref().</doc>
          <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
        </return-value>
      </constructor>
      <method name="add_build_config"
              c:identifier="modulemd_packager_v3_add_build_config"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="305"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="299">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="buildconfig" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="300">A #ModulemdBuildConfig to include.</doc>
            <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_component"
              c:identifier="modulemd_packager_v3_add_component"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="681">Add a component definition to the module.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="692"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="683">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="684">A #ModulemdComponent to be added to this
module stream.</doc>
            <type name="Component" c:type="ModulemdComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_demodularized_rpm"
              c:identifier="modulemd_packager_v3_add_demodularized_rpm"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="613">Add a binary package name to a list of demodularized packages.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="623"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="615">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="616">A name of a binary RPM package to become non-modular.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_module_license"
              c:identifier="modulemd_packager_v3_add_module_license"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="213"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="207">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="208">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_packager_v3_add_profile"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="429">Adds a #ModulemdProfile to this #ModulemdPackagerV3 object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="439"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="431">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="432">The new #ModulemdProfile to add.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rpm_api"
              c:identifier="modulemd_packager_v3_add_rpm_api"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="492"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="485">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="486">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_filter"
              c:identifier="modulemd_packager_v3_add_rpm_filter"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="556"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="550">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="551">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="clear_build_configs"
              c:identifier="modulemd_packager_v3_clear_build_configs"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="309">Remove all added #ModulemdBuildConfig objects from @self</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="318"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="311">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_demodularized_rpms"
              c:identifier="modulemd_packager_v3_clear_demodularized_rpms"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="641">Remove all RPM packages from a demodularized list of the object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="650"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="643">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_components"
              c:identifier="modulemd_packager_v3_clear_module_components"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="711">Remove all module components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="720"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="713">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_module_licenses"
              c:identifier="modulemd_packager_v3_clear_module_licenses"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="230">Remove all module licenses from @self</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="239"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="232">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_profiles"
              c:identifier="modulemd_packager_v3_clear_profiles"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="443">Removes all #ModulemdProfile objects from this #ModulemdPackagerV3 object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="452"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="445">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_api"
              c:identifier="modulemd_packager_v3_clear_rpm_api"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="507">Remove all RPMs from the list of stable public API.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="516"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="509">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_components"
              c:identifier="modulemd_packager_v3_clear_rpm_components"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="738">Remove all RPM components from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="747"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="740">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_rpm_filters"
              c:identifier="modulemd_packager_v3_clear_rpm_filters"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="572">Remove all RPMs from the filter list.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="581"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="574">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="convert_to_index"
              c:identifier="modulemd_packager_v3_convert_to_index"
              version="2.11"
              throws="1">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="822"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="812">A newly-allocated #ModulemdModuleIndex object
containing a set of one or more #ModulemdModuleStreamV2 objects and possibly
a #ModulemdDefaults object corresponding to the #ModulemdPackagerV3 object
@self. NULL if there was an error doing the mapping and sets @error
appropriately. One of the errors is missing a module name or a stream name
if a default profile is present.</doc>
          <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="809">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="modulemd_packager_v3_copy"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="98"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="92">A newly-allocated deep-copy of this
#ModulemdPackagerV3 object. This object must be freed with g_object_unref().</doc>
          <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="90">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_build_config"
              c:identifier="modulemd_packager_v3_get_build_config"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="347"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="341">A #ModulemdBuildConfig with the provided @context
or NULL if it was not present.</doc>
          <type name="BuildConfig" c:type="ModulemdBuildConfig*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="337">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="338">The context of the #ModulemdBuildConfig to retrieve
from @self.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_build_config_contexts_as_strv"
              c:identifier="modulemd_packager_v3_get_build_config_contexts_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="331"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="325">A list of contexts associated with the build
configurations.</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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="323">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_community"
              c:identifier="modulemd_packager_v3_get_community"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="374"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="369">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="367">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_demodularized_rpms"
              c:identifier="modulemd_packager_v3_get_demodularized_rpms"
              version="2.13">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="663"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="657">An ordered #GStrv list of binary RPM package names
that became non-modular.</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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="655">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_packager_v3_get_description"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="202"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="197">The long description 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="195">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documentation"
              c:identifier="modulemd_packager_v3_get_documentation"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="400"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="395">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="393">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mdversion"
              c:identifier="modulemd_packager_v3_get_mdversion"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="294"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="289">The metadata version of this #ModulemdPackagerV3.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="287">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component"
              c:identifier="modulemd_packager_v3_get_module_component"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="788"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="782">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="779">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="780">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_packager_v3_get_module_component_names"
              shadowed-by="get_module_component_names_as_strv"
              introspectable="0">
        <source-position filename="modulemd/include/private/gi-binding-renames.h"
                         line="292"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_component_names_as_strv"
              c:identifier="modulemd_packager_v3_get_module_component_names_as_strv"
              shadows="get_module_component_names"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="760"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="754">An ordered #GStrv 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="752">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_licenses_as_strv"
              c:identifier="modulemd_packager_v3_get_module_licenses_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="252"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="246">A #GStrv of module licenses 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="244">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="modulemd_packager_v3_get_module_name"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="119">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="117">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="modulemd_packager_v3_get_profile"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="479"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="473">The requested profile definition if present in the
#ModulemdPackagerV3 object. 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="470">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="471">The name of a profile to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_profile_names_as_strv"
              c:identifier="modulemd_packager_v3_get_profile_names_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="465"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="459">An ordered #GStrv list of profile names associated
with this #ModulemdPackagerV3 object.</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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="457">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_api_as_strv"
              c:identifier="modulemd_packager_v3_get_rpm_api_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="545"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="539">An ordered #GStrv list of binary RPM names that
form 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="537">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component"
              c:identifier="modulemd_packager_v3_get_rpm_component"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="803"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="797">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="794">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="795">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_packager_v3_get_rpm_component_names"
              shadowed-by="get_rpm_component_names_as_strv"
              introspectable="0">
        <source-position filename="modulemd/include/private/gi-binding-renames.h"
                         line="298"/>
        <return-value>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_component_names_as_strv"
              c:identifier="modulemd_packager_v3_get_rpm_component_names_as_strv"
              shadows="get_rpm_component_names"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="773"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="767">An ordered #GStrv 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="765">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rpm_filters_as_strv"
              c:identifier="modulemd_packager_v3_get_rpm_filters_as_strv"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="594"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="588">An ordered #GStrv 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="586">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_name"
              c:identifier="modulemd_packager_v3_get_stream_name"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="145">The module stream 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="143">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="modulemd_packager_v3_get_summary"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="176"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="171">The short description 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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="169">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tracker"
              c:identifier="modulemd_packager_v3_get_tracker"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="426"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="421">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="419">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmd"
              c:identifier="modulemd_packager_v3_get_xmd"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="282"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
               line="277">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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="275">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_demodularized_rpm"
              c:identifier="modulemd_packager_v3_remove_demodularized_rpm"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="627">Remove a binary package name from a list of demodularized packages.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="637"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="629">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="630">A binary RPM package name to remove from a demodularized list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_module_component"
              c:identifier="modulemd_packager_v3_remove_module_component"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="696">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="707"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="698">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="699">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_packager_v3_remove_module_license"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="226"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="219">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="220">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_packager_v3_remove_rpm_api"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="503"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="497">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="498">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_component"
              c:identifier="modulemd_packager_v3_remove_rpm_component"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="723">Remove a component from this module stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="734"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="725">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="component_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="726">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_packager_v3_remove_rpm_filter"
              version="2.11">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="568"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="562">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="563">A binary RPM name to remove from the filter list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_demodularized_rpms"
              c:identifier="modulemd_packager_v3_replace_demodularized_rpms"
              version="2.13">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="666">Any existing demodularized binary RPM package names associated with module
stream @self are removed and replaced by @set.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="677"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="668">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="669">A #GHashTable set of names of binary RPM packages to demodularize.</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="replace_rpm_api"
              c:identifier="modulemd_packager_v3_replace_rpm_api"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="519">Any existing API RPMs associated with module stream @self are removed and
replaced by @set.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="531"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="521">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="522">A #GHashTable set of binary RPMs present in this module stream that is
considered stable public API.</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="replace_rpm_filters"
              c:identifier="modulemd_packager_v3_replace_rpm_filters"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="597">Any existing filtered binary RPM names associated with module stream @self
are removed and replaced by @set.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="609"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="599">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="600">A #GHashTable set of names of binary RPMs to filter out of this
module stream.</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_community"
              c:identifier="modulemd_packager_v3_set_community"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="351">Set the module community website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="361"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="353">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="community" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="354">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_packager_v3_set_description"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="179">Sets the module's long description.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="189"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="181">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="182">A complete description of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_documentation"
              c:identifier="modulemd_packager_v3_set_documentation"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="377">Set the module documentation website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="387"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="379">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="documentation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="380">The upstream documentation website for this module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_module_name"
              c:identifier="modulemd_packager_v3_set_module_name"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="101">Sets the module name that this #ModulemdPackagerV3 object references.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="103">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="module_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="104">The name of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stream_name"
              c:identifier="modulemd_packager_v3_set_stream_name"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="127">Sets the stream name that this #ModulemdPackagerV3 object references.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="137"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="129">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="stream_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="130">The name of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="modulemd_packager_v3_set_summary"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="153">Sets the module's short description.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="155">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="156">A short description of the module.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tracker"
              c:identifier="modulemd_packager_v3_set_tracker"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="403">Set the module bug tracker website address.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                         line="413"/>
        <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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="405">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="406">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_packager_v3_set_xmd"
              version="2.11">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="255">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/include/modulemd-2.0/modulemd-packager-v3.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/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="257">This #ModulemdPackagerV3 object.</doc>
            <type name="PackagerV3" c:type="ModulemdPackagerV3*"/>
          </instance-parameter>
          <parameter name="xmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                 line="258">A #GVariant representing arbitrary YAML.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="PackagerV3Class"
            c:type="ModulemdPackagerV3Class"
            glib:is-gtype-struct-for="PackagerV3">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                       line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="PackagerVersionEnum"
                 version="2.11"
                 c:type="ModulemdPackagerVersionEnum">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
                       line="73"/>
      <member name="error" value="-1" c:identifier="MD_PACKAGER_VERSION_ERROR">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="51">Represents an error handling module stream
version.</doc>
      </member>
      <member name="unset" value="0" c:identifier="MD_PACKAGER_VERSION_UNSET">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="53">Represents an unset module stream version.</doc>
      </member>
      <member name="two" value="2" c:identifier="MD_PACKAGER_VERSION_TWO">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="54">Represents v2 of the ModulePackager
metadata format. Since: 2.11</doc>
      </member>
      <member name="three" value="3" c:identifier="MD_PACKAGER_VERSION_THREE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="56">Represents v3 of the ModulePackager
metadata format. Since: 2.11</doc>
      </member>
      <member name="latest"
              value="3"
              c:identifier="MD_PACKAGER_VERSION_LATEST">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-packager-v3.h"
             line="58">Represents the highest-supported version of
the ModulePackager 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/include/modulemd-2.0/modulemd-profile.h"
                       line="29"/>
      <constructor name="new"
                   c:identifier="modulemd_profile_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="51">A newly-allocated #ModulemdProfile object. 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/include/modulemd-2.0/modulemd-profile.h"
                 line="49">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/include/modulemd-2.0/modulemd-profile.h"
                         line="167"/>
        <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/include/modulemd-2.0/modulemd-profile.h"
                 line="160">This #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                 line="161">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/include/modulemd-2.0/modulemd-profile.h"
             line="181">Remove all RPMs from this profile.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="190"/>
        <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/include/modulemd-2.0/modulemd-profile.h"
                 line="183">This #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
             line="60">Create a copy of this #ModulemdProfile object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="66">The 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/include/modulemd-2.0/modulemd-profile.h"
                 line="62">This #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-profile.h"
                 line="35">A #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                 line="36">A #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="106">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. Translation information is managed by the
#ModulemdTranslation and #ModulemdTranslationEntry objects.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                 line="100">This #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
                 line="101">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 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"
              glib:get-property="name"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="78">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/include/modulemd-2.0/modulemd-profile.h"
                 line="76">This #ModulemdProfile object.</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/include/private/gi-binding-renames.h"
                         line="253"/>
        <return-value>
          <array c:type="GStrv">
            <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/include/modulemd-2.0/modulemd-profile.h"
                         line="203"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="197">An ordered #GStrv list of binary RPMS that would be
installed when this profile is selected for installation.</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/include/modulemd-2.0/modulemd-profile.h"
                 line="195">This #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_default"
              c:identifier="modulemd_profile_is_default"
              version="2.10">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
               line="149">TRUE if this profile is a default for the associated stream. FALSE
otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                 line="147">This #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
                         line="178"/>
        <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/include/modulemd-2.0/modulemd-profile.h"
                 line="172">This #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
          <parameter name="rpm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                 line="173">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_default"
              c:identifier="modulemd_profile_set_default"
              version="2.10">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
             line="117">Calling this function indicates that this profile should be considered one
of the default profiles for the associated stream.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.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/include/modulemd-2.0/modulemd-profile.h"
                 line="119">This #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_profile_set_description"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
                         line="94"/>
        <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/include/modulemd-2.0/modulemd-profile.h"
                 line="88">This #ModulemdProfile object.</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/include/modulemd-2.0/modulemd-profile.h"
                 line="89">The untranslated description of this profile.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unset_default"
              c:identifier="modulemd_profile_unset_default"
              version="2.10">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-profile.h"
             line="130">Calling this function indicates that this profile should not be considered
one of the default profiles for this stream. This is the normal state of
a #ModulemdProfile and thus this function is usually unnecessary. It has no
effect if @self is already non-default.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-profile.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/include/modulemd-2.0/modulemd-profile.h"
                 line="132">This #ModulemdProfile object.</doc>
            <type name="Profile" c:type="ModulemdProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_name"
                default-value="__PROFILE_NAME_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ProfileClass"
            c:type="ModulemdProfileClass"
            glib:is-gtype-struct-for="Profile">
      <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-module-index.h"
           line="76">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 in yaml.h header of
libyaml](https://github.com/yaml/libyaml/blob/2c891fc7a770e8ba2fec34fc6b545c672beb37e6/include/yaml.h#L988)
but is included here to avoid depending on yaml.h in modulemd headers.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                       line="100"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="94">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/include/modulemd-2.0/modulemd-module-index.h"
               line="78">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/include/modulemd-2.0/modulemd-module-index.h"
               line="79">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/include/modulemd-2.0/modulemd-module-index.h"
               line="80">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/include/modulemd-2.0/modulemd-module-index.h"
               line="81">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/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/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
               line="47">A newly-allocated #ModulemdRpmMapEntry object 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/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/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/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/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/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="60">This #ModulemdRpmMapEntry object.</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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="72">A #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="73">Another #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="modulemd_rpm_map_entry_get_arch"
              glib:get-property="arch"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="211"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="204">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_epoch"
              c:identifier="modulemd_rpm_map_entry_get_epoch"
              glib:get-property="epoch"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="133">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_rpm_map_entry_get_name"
              glib:get-property="name"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="110">This #ModulemdRpmMapEntry object.</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"
              glib:get-property="nevra"
              introspectable="0">
        <source-position filename="modulemd/include/private/gi-binding-renames.h"
                         line="285"/>
        <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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="225"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="216">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release"
              c:identifier="modulemd_rpm_map_entry_get_release"
              glib:get-property="release"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="181">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="modulemd_rpm_map_entry_get_version"
              glib:get-property="version"
              version="2.2">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                         line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="157">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_arch"
              c:identifier="modulemd_rpm_map_entry_set_arch"
              glib:set-property="arch"
              version="2.2">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="193">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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"
              glib:set-property="epoch"
              version="2.2">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="122">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="epoch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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"
              glib:set-property="name"
              version="2.2">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="99">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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"
              glib:set-property="release"
              version="2.2">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="169">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="release" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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"
              glib:set-property="version"
              version="2.2">
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="145">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/include/modulemd-2.0/modulemd-rpm-map-entry.h"
                 line="87">This #ModulemdRpmMapEntry object.</doc>
            <type name="RpmMapEntry" c:type="ModulemdRpmMapEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="arch"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_arch"
                getter="get_arch"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="epoch"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_epoch"
                getter="get_epoch"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="nevra"
                transfer-ownership="none"
                getter="get_nevra"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="release"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_release"
                getter="get_release"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_version"
                getter="get_version"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="RpmMapEntryClass"
            c:type="ModulemdRpmMapEntryClass"
            glib:is-gtype-struct-for="RpmMapEntry">
      <source-position filename="modulemd/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/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/include/modulemd-2.0/modulemd-service-level.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
               line="39">A newly-allocated #ModulemdServiceLevel object.
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/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/include/modulemd-2.0/modulemd-service-level.h"
             line="48">Create a copy of this #ModulemdServiceLevel object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
                         line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
               line="54">The 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/include/modulemd-2.0/modulemd-service-level.h"
                 line="50">This #ModulemdServiceLevel object.</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/include/modulemd-2.0/modulemd-service-level.h"
                         line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="143">A #ModulemdServiceLevel object.</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
          <parameter name="self_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
                 line="144">A #ModulemdServiceLevel object.</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/include/modulemd-2.0/modulemd-service-level.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="120">This #ModulemdServiceLevel object.</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/include/modulemd-2.0/modulemd-service-level.h"
                         line="139"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="131">This #ModulemdServiceLevel object.</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="modulemd_service_level_get_name"
              glib:get-property="name"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
             line="62">Get the name of this service level.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-service-level.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="64">This #ModulemdServiceLevel object.</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/include/modulemd-2.0/modulemd-service-level.h"
             line="107">Remove the EOL from this Service Level.</doc>
        <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="109">This #ModulemdServiceLevel object.</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/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/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="79">This #ModulemdServiceLevel object.</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/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/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/include/modulemd-2.0/modulemd-service-level.h"
                 line="93">This #ModulemdServiceLevel object.</doc>
            <type name="ServiceLevel" c:type="ModulemdServiceLevel*"/>
          </instance-parameter>
          <parameter name="year" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/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/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/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"
                getter="get_name"
                default-value="__NAME_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ServiceLevelClass"
            c:type="ModulemdServiceLevelClass"
            glib:is-gtype-struct-for="ServiceLevel">
      <source-position filename="modulemd/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/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/include/modulemd-2.0/modulemd-subdocument-info.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-subdocument-info.h"
                 line="50">This #ModulemdSubdocumentInfo object.</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/include/modulemd-2.0/modulemd-subdocument-info.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-subdocument-info.h"
                 line="38">This #ModulemdSubdocumentInfo object.</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/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/include/modulemd-2.0/modulemd-translation.h"
                       line="30"/>
      <constructor name="new"
                   c:identifier="modulemd_translation_new"
                   version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
               line="41">A newly-allocated #ModulemdTranslation object.
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/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/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/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/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/include/modulemd-2.0/modulemd-translation.h"
             line="53">Create a copy of this #ModulemdTranslation object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                         line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
               line="59">The 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/include/modulemd-2.0/modulemd-translation.h"
                 line="55">This #ModulemdTranslation object.</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/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="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/include/modulemd-2.0/modulemd-translation.h"
                         line="106"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
               line="100">An ordered #GStrv list of locales known to this
#ModulemdTranslation.</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/include/modulemd-2.0/modulemd-translation.h"
                 line="98">This #ModulemdTranslation object.</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/include/modulemd-2.0/modulemd-translation.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
               line="126">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/include/modulemd-2.0/modulemd-translation.h"
                 line="123">This #ModulemdTranslation object.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                 line="124">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"
              glib:set-property="modified"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                         line="92"/>
        <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/include/modulemd-2.0/modulemd-translation.h"
                 line="85">This #ModulemdTranslation object.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                 line="86">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/include/modulemd-2.0/modulemd-translation.h"
                         line="117"/>
        <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/include/modulemd-2.0/modulemd-translation.h"
                 line="111">This #ModulemdTranslation object.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
          <parameter name="translation_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-translation.h"
                 line="112">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/include/modulemd-2.0/modulemd-translation.h"
             line="67">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/include/modulemd-2.0/modulemd-translation.h"
                         line="80"/>
        <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/include/modulemd-2.0/modulemd-translation.h"
                 line="69">This #ModulemdTranslation object.</doc>
            <type name="Translation" c:type="ModulemdTranslation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="modified"
                writable="1"
                transfer-ownership="none"
                setter="set_modified"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="module-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="__TRANSLATION_VALUE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="module-stream"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="__TRANSLATION_VALUE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
    </class>
    <record name="TranslationClass"
            c:type="ModulemdTranslationClass"
            glib:is-gtype-struct-for="Translation">
      <source-position filename="modulemd/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/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/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
               line="41">A newly-allocated #ModulemdTranslationEntry
object. 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/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/include/modulemd-2.0/modulemd-translation-entry.h"
             line="50">Create a copy of this #ModulemdTranslationEntry object.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
               line="56">The 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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="52">This #ModulemdTranslationEntry object.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="modulemd_translation_entry_get_description"
              glib:get-property="description"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
             line="120">Get the description of this translation entry.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
               line="126">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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="122">This #ModulemdTranslationEntry object.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_locale"
              c:identifier="modulemd_translation_entry_get_locale"
              glib:get-property="locale"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
             line="64">Get the locale of this translation entry.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="66">This #ModulemdTranslationEntry object.</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/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="178"/>
        <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/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="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/include/modulemd-2.0/modulemd-translation-entry.h"
             line="135">Get a list of profiles that have descriptions.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="147"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
               line="141">An ordered #GStrv list of profiles for which
descriptions have been translated for this locale.</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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="137">This #ModulemdTranslationEntry object.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="modulemd_translation_entry_get_summary"
              glib:get-property="summary"
              version="2.0">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
             line="92">Get the summary of this translation entry.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
               line="98">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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="94">This #ModulemdTranslationEntry object.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="modulemd_translation_entry_set_description"
              glib:set-property="description"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="109">This #ModulemdTranslationEntry object.</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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="110">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/include/modulemd-2.0/modulemd-translation-entry.h"
             line="151">Adds a profile name translation.</doc>
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                         line="162"/>
        <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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="153">This #ModulemdTranslationEntry object.</doc>
            <type name="TranslationEntry" c:type="ModulemdTranslationEntry*"/>
          </instance-parameter>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="154">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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="155">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"
              glib:set-property="summary"
              version="2.0">
        <source-position filename="modulemd/include/modulemd-2.0/modulemd-translation-entry.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/include/modulemd-2.0/modulemd-translation-entry.h"
                 line="81">This #ModulemdTranslationEntry object.</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/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"
                setter="set_description"
                getter="get_description"
                default-value="__LOCALE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="locale"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_locale"
                default-value="__LOCALE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="summary"
                writable="1"
                transfer-ownership="none"
                setter="set_summary"
                getter="get_summary"
                default-value="__LOCALE_UNSET__">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="TranslationEntryClass"
            c:type="ModulemdTranslationEntryClass"
            glib:is-gtype-struct-for="TranslationEntry">
      <source-position filename="modulemd/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/include/modulemd-2.0/modulemd-module-index.h"
           line="106">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 in yaml.h header of
libyaml](https://github.com/yaml/libyaml/blob/2c891fc7a770e8ba2fec34fc6b545c672beb37e6/include/yaml.h#L1478)
but is included here to avoid depending on yaml.h in modulemd headers.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
                       line="128"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
             line="123">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/include/modulemd-2.0/modulemd-module-index.h"
               line="108">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/include/modulemd-2.0/modulemd-module-index.h"
               line="109">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/include/modulemd-2.0/modulemd-module-index.h"
               line="110">The size of the buffer.</doc>
          <type name="gsize" c:type="size_t"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="YamlError"
                 version="2.9"
                 c:type="ModulemdYamlError"
                 glib:error-domain="modulemd-yaml-error-quark">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
                       line="176"/>
      <member name="open" value="0" c:identifier="MMD_YAML_ERROR_OPEN">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="142">Represents an error encountered while opening a
YAML file.</doc>
      </member>
      <member name="programming"
              value="1"
              c:identifier="MMD_YAML_ERROR_PROGRAMMING">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="144">Represents an internal programming error
encountered while parsing a YAML document.</doc>
      </member>
      <member name="unparseable"
              value="2"
              c:identifier="MMD_YAML_ERROR_UNPARSEABLE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="146">Represents an error indicating that
unexpected data or some other parsing error that violates the YAML spec
was encountered while parsing a YAML document.</doc>
      </member>
      <member name="parse" value="3" c:identifier="MMD_YAML_ERROR_PARSE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="149">Represents an error indicating invalid data
violating the modulemd YAML spec was encountered while parsing a YAML
document.</doc>
      </member>
      <member name="emit" value="4" c:identifier="MMD_YAML_ERROR_EMIT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="152">Represents an error encountered while writing a
YAML file.</doc>
      </member>
      <member name="missing_required"
              value="5"
              c:identifier="MMD_YAML_ERROR_MISSING_REQUIRED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="154">Represents an error indicating that
required elements are missing while parsing a YAML document.</doc>
      </member>
      <member name="event_init"
              value="6"
              c:identifier="MMD_YAML_ERROR_EVENT_INIT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="156">Represents an error indicating that a YAML
output event could not be initialized.</doc>
      </member>
      <member name="inconsistent"
              value="7"
              c:identifier="MMD_YAML_ERROR_INCONSISTENT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="158">Represents a data inconsistency error
encountered while parsing a YAML document.</doc>
      </member>
      <member name="unknown_attr"
              value="8"
              c:identifier="MMD_YAML_ERROR_UNKNOWN_ATTR">
      </member>
    </enumeration>
    <enumeration name="YamlErrorEnum"
                 version="2.0"
                 deprecated="1"
                 deprecated-version="2.9"
                 c:type="ModulemdYamlErrorEnum">
      <doc-deprecated xml:space="preserve">
Use #ModulemdYamlError instead.</doc-deprecated>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
                       line="214"/>
      <member name="open" value="0" c:identifier="MODULEMD_YAML_ERROR_OPEN">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="181">Represents an error encountered while opening a
YAML file.</doc>
      </member>
      <member name="programming"
              value="1"
              c:identifier="MODULEMD_YAML_ERROR_PROGRAMMING">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="183">Represents an internal programming error
encountered while parsing a YAML document.</doc>
      </member>
      <member name="unparseable"
              value="2"
              c:identifier="MODULEMD_YAML_ERROR_UNPARSEABLE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="185">Represents an error indicating that
unexpected data or some other parsing error was encountered while parsing a
YAML document.</doc>
      </member>
      <member name="parse" value="3" c:identifier="MODULEMD_YAML_ERROR_PARSE">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="188">Represents an error indicating invalid data was
encountered while parsing a YAML document.</doc>
      </member>
      <member name="emit" value="4" c:identifier="MODULEMD_YAML_ERROR_EMIT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="190">Represents an error encountered while writing a
YAML file.</doc>
      </member>
      <member name="missing_required"
              value="5"
              c:identifier="MODULEMD_YAML_ERROR_MISSING_REQUIRED">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="192">Represents an error indicating that
required elements are missing while parsing a YAML document.</doc>
      </member>
      <member name="event_init"
              value="6"
              c:identifier="MODULEMD_YAML_ERROR_EVENT_INIT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="194">Represents an error indicating that a YAML
output event could not be initialized.</doc>
      </member>
      <member name="inconsistent"
              value="7"
              c:identifier="MODULEMD_YAML_ERROR_INCONSISTENT">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="196">Represents a data inconsistency error
encountered while parsing a YAML document.</doc>
      </member>
    </enumeration>
    <function name="compression_type"
              c:identifier="modulemd_compression_type"
              version="2.8">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
                       line="69"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
             line="61">The #ModulemdCompressionTypeEnum value corresponding to the
provided string if available or
#MODULEMD_COMPRESSION_TYPE_UNKNOWN_COMPRESSION if the string does not match
a known type.</doc>
        <type name="CompressionTypeEnum" c:type="ModulemdCompressionTypeEnum"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-compression.h"
               line="58">The name of the compression type. Valid options are:
"gz", "gzip", "bz2", "bzip2", "xz", "zck", and "zstd".</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_quark"
              c:identifier="modulemd_error_quark"
              version="2.9">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="41">A #GQuark used to identify an error in the general modulemd domain.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="get_version"
              c:identifier="modulemd_get_version"
              version="2.0">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="296"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="291">A string describing the version of libmodulemd.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="load_file"
              c:identifier="modulemd_load_file"
              version="2.10"
              throws="1">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd.h"
           line="299">This is a convenience function that is a wrapper around
modulemd_module_index_new() and modulemd_module_index_update_from_file()
with `strict=False`.

It will return the imported module metadata if all subdocuments are
parseable and valid. If any part of the document is unreadable or fails
validation, it will return NULL and set @error appropriately. If you need
more detail about which parts of the document failed, use the lower-level
functions.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="323"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="316">A newly-allocated #ModulemdModuleIndex object
initialized with the content from @yaml_file. Returns NULL and sets @error
if the file is not completely valid.</doc>
        <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
      </return-value>
      <parameters>
        <parameter name="yaml_file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="301">A YAML file containing the module metadata and other
related information such as default streams.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="load_string"
              c:identifier="modulemd_load_string"
              version="2.10"
              throws="1">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd.h"
           line="326">This is a convenience function that is a wrapper around
modulemd_module_index_new() and modulemd_module_index_update_from_string()
with `strict=False`.

It will return the imported module metadata if all subdocuments are
parseable and valid. If any part of the document is unreadable or fails
validation, it will return NULL and set @error appropriately. If you need
more detail about which parts of the document failed, use the lower-level
functions.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="350"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="343">A newly-allocated #ModulemdModuleIndex object
initialized with the content from @yaml_string. Returns NULL and sets @error
if the metadata is not completely valid.</doc>
        <type name="ModuleIndex" c:type="ModulemdModuleIndex*"/>
      </return-value>
      <parameters>
        <parameter name="yaml_string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="328">A YAML string containing the module metadata and other
related information such as default streams.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function-macro name="module_remove_streams_by_name"
                    c:identifier="modulemd_module_remove_streams_by_name"
                    version="2.3"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd-module.h"
           line="270">Remove one or more #ModulemdModuleStream objects from this #ModulemdModule
that match the provided stream name.</doc>
      <source-position filename="modulemd/include/modulemd-2.0/modulemd-module.h"
                       line="280"/>
      <parameters>
        <parameter name="self">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="272">This #ModulemdModule object.</doc>
        </parameter>
        <parameter name="stream_name">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd-module.h"
               line="273">The name of the stream to remove.</doc>
        </parameter>
      </parameters>
    </function-macro>
    <docsection name="modulemd">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd.h"
           line="44"># Working with repodata (DNF use-case)
The libmodulemd API provides a number of convenience tools for interacting
with repodata (that is, streams of YAML that contains information on multiple
streams, default data and translations). The documentation will use two
repositories, called "fedora" and "updates" for demonstrative purposes. It
will assume that the content of the YAML module metadata from those two
repositories have been loaded into string variables `fedora_yaml` and
`updates_yaml`, respectively.

Tools such as DNF that are consuming data from a repository should always
set `strict=False`, so that it can safely handle minor,
backwards-compatible changes to the modulemd format.

First step is to load the metadata from these two repositories into
#ModulemdModuleIndex objects. This is done as follows:

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModuleIndex *fedora_index = modulemd_module_index_new ();
gboolean ret = modulemd_module_index_update_from_string (
  fedora_index, fedora_yaml, FALSE, &amp;failures, &amp;error);

ModulemdModuleIndex *updates_index = modulemd_module_index_new ();
gboolean ret2 = modulemd_module_index_update_from_string (
  updates_index, updates_yaml, FALSE, &amp;failures, &amp;error);
]|

In Python:
|[&lt;!-- language="Python" --&gt;
fedora_index = Modulemd.ModuleIndex.new()
ret, failures = fedora_index.update_from_string(fedora_yaml, False)

updates_index = Modulemd.ModuleIndex.new()
ret, failures = updates_index.update_from_string(updates_yaml, False)
]|

The @failures are a list of subdocuments in the YAML that failed parsing,
along with the reason they failed. Hence, by checking the return value of
@failures we will know if the YAML parsing was successful or not.

Since it doesn't really make sense to view the contents from separate
repositories in isolation (in most cases), the next step is to merge the two
indexes into a combined one:

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModuleIndexMerger *merger = modulemd_module_index_merger_new ();

modulemd_module_index_merger_associate_index (merger, fedora_index, 0);
modulemd_module_index_merger_associate_index (merger, updates_index, 0);

ModulemdModuleIndex *merged_index =
  modulemd_module_index_merger_resolve (merger, &amp;error);
]|

In Python:
|[&lt;!-- language="Python" --&gt;
merger = Modulemd.ModuleIndexMerger.new()

merger.associate_index(fedora_index, 0)
merger.associate_index(updates_index, 0)

merged_index = merger.resolve()
]|

At this point, you now have either a complete view of the merged repodata,
or else have received an error describing why the merge was unable to
complete successfully. Additionally, it should be noted that the combined
metadata in any #ModulemdModuleIndex will have all of its component parts
upgraded to match the highest version of those objects seen. So for example
if the repodata has a mix of v1 and v2 #ModulemdModuleStream objects, the
index will contain only v2 objects (with the v1 objects automatically
upgraded internally).

Now, we can start operating on the retrieved data. This guide will
give only a brief overview of the most common operations. See the API
specification for a full list of information that can be retrieved.

## Discover the default stream for a particular module.

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModule *module =
  modulemd_module_index_get_module (merged_index, "modulename");
ModulemdDefaults *defaults = modulemd_module_get_defaults (module);
if (defaults)
  {
    printf ("Default stream for modulename is %s\n",
            modulemd_defaults_v1_get_default_stream (
              MODULEMD_DEFAULTS_V1 (defaults), NULL));
  }
]|

In Python:
|[&lt;!-- language="Python" --&gt;
module = merged_index.get_module("modulename")
defaults = module.get_defaults()
print("Default stream for modulename is %s" % defaults.get_default_stream())
]|

## Get the list of RPMs defining the public API for a particular module NSVCA
First, query the #ModulemdModuleIndex for the module with a given name.

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModule *module =
  modulemd_module_index_get_module (merged_index, "modulename");
]|

In Python:
|[&lt;!-- language="Python" --&gt;
module = merged_index.get_module("modulename")
]|

Then, query the #ModulemdModule for the #ModulemdModuleStream associated with the
provided NSVCA (name-stream-version-context-architecture identifier).

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModuleStream *stream = modulemd_module_get_stream_by_NSVCA (
  module, "modulestream", 0, "deadbeef", "coolarch", &amp;error);
]|

In Python:
|[&lt;!-- language="Python" --&gt;
stream = module.get_stream_by_NSVCA("modulestream", 0, "deadbeef", "coolarch")
]|

Lastly, read the RPM API from the #ModulemdModuleStream. Here, `api_list` is
a list of strings containing package names.

In C:
|[&lt;!-- language="C" --&gt;
GStrv api_list = modulemd_module_stream_v2_get_rpm_api_as_strv (
  MODULEMD_MODULE_STREAM_V2 (stream));
]|

In Python:
|[&lt;!-- language="Python" --&gt;
api_list = stream.get_rpm_api()
]|

Also note that in addition to accessor API methods, many objects also have
properties that can be accessed directly.

In C:
|[&lt;!-- language="C" --&gt;
printf ("Documentation for module stream is at %s\n",
        modulemd_module_stream_v2_get_documentation (
          MODULEMD_MODULE_STREAM_V2 (stream)));
g_autofree gchar *doc;
g_object_get (MODULEMD_MODULE_STREAM_V2 (stream), "documentation", &amp;doc, NULL);
printf ("Documentation for module stream is at %s\n", doc);
]|

In Python:
|[&lt;!-- language="Python" --&gt;
print("Documentation for module stream is at %s" % stream.get_documentation())
print("Documentation for module stream is at %s" % stream.props.documentation)
]|

## Retrieve the modular runtime dependencies for a particular module NSVCA

In C:
|[&lt;!-- language="C" --&gt;
ModulemdModule *module =
  modulemd_module_index_get_module (merged_index, "modulename");
ModulemdModuleStream *stream = modulemd_module_get_stream_by_NSVCA (
  module, "modulestream", 0, "deadbeef", "coolarch", &amp;error);
GPtrArray *deps_list = modulemd_module_stream_v2_get_dependencies (
  MODULEMD_MODULE_STREAM_V2 (stream));

for (gint i = 0; i &lt; deps_list-&gt;len; i++)
  {
    GStrv depmodules_list =
     modulemd_dependencies_get_runtime_modules_as_strv (
       g_ptr_array_index (deps_list, i));

    for (gint j = 0; j &lt; g_strv_length (depmodules_list); j++)
      {
        GStrv depstreams_list =
          modulemd_dependencies_get_runtime_streams_as_strv (
            g_ptr_array_index (deps_list, i), depmodules_list[j]);

        for (gint k = 0; k &lt; g_strv_length (depstreams_list); k++)
          {
            // do stuff with depmodules_list[j], depstreams_list[k]
          }
      }
  }
]|

In Python:
|[&lt;!-- language="Python" --&gt;
module = merged_index.get_module("modulename")
stream = module.get_stream_by_NSVCA("modulestream", 0, "deadbeef", "coolarch")
deps_list = stream.get_dependencies()
for dep in deps_list:
    depmodules_list = dep.get_runtime_modules()
    for depmod in depmodules_list:
        depstream_list = dep.get_runtime_streams(depmod)
        for depstream in depstream_list:
            # do stuff with depmod, depstream
]|

# Working with a single module stream (Packager/MBS use-case)
One limitation of the #ModulemdModuleIndex format is that it requires that
all module streams loaded into it have both a name and a stream name.
This however is not possible when dealing with streams such as a packager
would be using (since the build-system auto-generates the module name and
stream name from the git repository information. In this case, we need to
work with a single module stream document at a time. For this, we will
use the #ModulemdModuleStream interface.

This example will assume that the module name and stream name have
already been determined from the repodata and that they are stored in
string variables named `module_name` and `stream_name`, respectively.

In Python:
|[&lt;!-- language="Python" --&gt;
stream = Modulemd.ModuleStream.read_file(
    "/path/to/module_name.yaml", True, module_name, stream_name
)
v2_stream = stream.upgrade(Modulemd.ModuleStreamVersionEnum.TWO)
v2_stream.validate()
]|
In the example above, we upgraded the stream to v2, in case we were reading
from v1 metadata. This will allow us to avoid having to manage multiple
code-paths and support only the latest we understand. After that, it calls
validate() to ensure that the content that was read in was valid both
syntactically and referentially.

Also available is `Modulemd.ModuleStreamVersionEnum.LATEST` which will
always represent the highest-supported version of the
#ModulemdModuleStream metadata format. This may change at any time.</doc>
    </docsection>
    <docsection name="modulemd-module-index">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd-module-index.h"
           line="25">This object provides an interface to the complete metadata read from a
repository or manually added to this object.

NOTE: When adding or updating this object from YAML, all objects imported
will be automatically upgraded to match the highest version of that object
that is seen. This means that if the repository has a mix of
#ModulemdModuleStreamV1 and #ModulemdModuleStreamV2 objects, the index will
contain only #ModulemdModuleStreamV2. You can check the versions the index
upgraded to with the modulemd_module_index_get_stream_mdversion() and
modulemd_module_index_get_defaults_mdversion(). If your application would
prefer to always work with a particular stream or defaults version (such as
to avoid extra branching logic), the modulemd_module_index_upgrade_streams()
and modulemd_module_index_upgrade_defaults() functions can be used to force
the contents of the index to upgrade to those versions.

Interacting with #ModulemdModuleIndex is relatively simple. A common Python
example for working with Fedora repodata might be (assuming the metadata has
already been read into strings):

|[&lt;!-- language="Python" --&gt;
fedora_repo_index = Modulemd.ModuleIndex.new()
fedora_repo_index.update_from_string(fedora_modulemd, True)

# Get the list of all module names in the index
module_names = fedora_repo_index.get_module_names()

# Retrieve information about a particular module from the index
module = fedora_repo_index.get_module('module_name')
]|

See the #ModulemdModule documentation for details on retrieving information
about specific modules, including how to get #ModulemdDefaults information
and retrieve individual #ModulemdModuleStream objects.

See the #ModulemdModuleIndexMerger documentation for details on merging
#ModulemdModuleIndex objects from separate repositories together.</doc>
    </docsection>
    <docsection name="modulemd-module-index-merger">
      <doc xml:space="preserve"
           filename="modulemd/include/modulemd-2.0/modulemd-module-index-merger.h"
           line="21">ModuleIndexMerger is used to resolve merges between multiple repository
metadata sources, possibly with varying priorities.

It is expected to be used as follows (python example) by tools such as `yum`:

|[&lt;!-- language="Python" --&gt;
merger = Modulemd.ModuleIndexMerger.new()

merger.associate_index(fedora_repo_index, 0)
merger.associate_index(updates_repo_index, 0)
merger.associate_index(updates_testing_repo_index, 0)

merged_index = merger.resolve()

]|

In the above code, merged_index will be a complete, merged view of the
metadata from all of the added #ModulemdModuleIndex instances.

When merging module streams, entries will be deduplicated based on whether
they share the same module name, stream name, version number, and context.
If the repository configuration is broken and there exists two
#ModulemdModuleStream entries that have different content for the same
NSVCA, the behavior is undefined.

Merging #ModulemdDefaults entries behaves as follows (note that this
behavior has changed slightly as of 2.8.1):

- Any module defaults object that is provided by a single
  #ModulemdModuleIndex will be the defaults object in the resulting merged
  #ModulemdModuleIndex.
- If the #ModulemdModuleIndex inputs have different priorities (not common),
  then the defaults from the highest priority #ModulemdModuleIndex will be
  used and the others entirely discarded. The `modified` value will not be
  considered at all. (Priority is intended for providing a total override,
  including an on-disk configuration).
- If the repos have the same priority (such as "fedora" and "updates" in the
  Fedora Project) and `modified` value, the entries will be merged as
  follows for default streams:
  - If both #ModulemdModuleIndex objects specify the same default stream for
    the module, that one will be used.
  - If either #ModulemdModuleIndex specifies a default stream for the module
    and the other does not, the provided one will be used.
  - If both #ModulemdModuleIndex objects specify different default streams
    and have different `modified` values, the default stream from the
    #ModulemdDefaults object with the higher `modified` value will be used.
  - If both #ModulemdModuleIndex objects specify different default streams
    and have the same `modified` value, the merge will unset the default
    stream and leave no default stream in the resulting merged
    #ModulemdModuleIndex. This behavior can be controlled by using
    modulemd_module_index_merger_resolve_ext() and setting
    `strict_default_streams` to #TRUE. In that case, an error will be
    returned if conflicting default streams have been provided.
- and for profile defaults:
  - If both #ModulemdModuleIndex objects specify a set of default profiles
    for a particular module and stream and the sets are equivalent, use that
    set.
  - If one #ModulemdModuleIndex object specifies a set of default profiles
    for a module and stream and the other does not, use the provided set.
  - If both #ModulemdModuleIndex objects specify a set of default profiles
    for a stream, each are providing a different set and the `modified`
    value differs, the set from the object with the higher `modified` value
    will be used.
  - If both #ModulemdModuleIndex objects specify a set of default profiles
    for a stream, each are providing a different set and the `modified`
    value is the same, this is an unresolvable merge conflict and the merge
    resolution will fail and return an error.
  - Intents behave in exactly the same manner as described for the top-level
    defaults, except that they merge beneath each intent name. Intents are
    deprecated.

Merging #ModulemdTranslations entries behaves as follows:

- For each translated summary, description and profile description, compare
  the `modified` value of the Translation document matching this module name
  and stream. Whichever has the higher value will be used. Any translation
  containing the empty string will be interpreted as removing the
  translation. Subsequent processing of a higher modified value may restore
  it.

Merging #ModulemdObsoletes entries with identical module, stream, context
and modified values behaves as follows (when accessed through module):

- Any obsoletes object that is provided by a single #ModulemdModuleIndex
  will be the obsoletes object in the resulting merged #ModulemdModuleIndex.
- If the #ModulemdModuleIndex inputs have different priorities (not common),
  then the obsoletes from the highest priority #ModulemdModuleIndex will be
  used and the others entirely discarded. (Priority is intended for providing
  a total override, including an on-disk configuration).
- If the repos have the same priority (such as "fedora" and "updates" in the
  Fedora Project) the behaviour is undefined.</doc>
    </docsection>
    <function name="read_packager_file"
              c:identifier="modulemd_read_packager_file"
              shadowed-by="read_packager_file_ext"
              version="2.11"
              introspectable="0"
              throws="1">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="367"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="360">@MODULEMD_TYPE_MODULE_STREAM_V2, @MODULEMD_TYPE_PACKAGER_V3, or
@G_TYPE_INVALID. Returns the matching GObject through the @object parameter.
If the return value is @G_TYPE_INVALID, returns the reason as @error.</doc>
        <type name="GType" c:type="GType"/>
      </return-value>
      <parameters>
        <parameter name="yaml_path" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="354">A path to a YAML file containing a packager document.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="355">(transfer full): A newly allocated #ModulemdModuleStreamV2 or
#ModulemdPackagerV3 object initialized with the content from @yaml_path.</doc>
          <type name="GObject.Object" c:type="GObject**"/>
        </parameter>
      </parameters>
    </function>
    <function name="read_packager_file_ext"
              c:identifier="modulemd_read_packager_file_ext"
              shadows="read_packager_file"
              version="2.11"
              throws="1">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="392"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="385">@MODULEMD_TYPE_MODULE_STREAM_V2, @MODULEMD_TYPE_PACKAGER_V3, or
@G_TYPE_INVALID. Returns the matching GObject through the @object parameter.
If the return value is @G_TYPE_INVALID, returns the reason as @error.</doc>
        <type name="GType" c:type="GType"/>
      </return-value>
      <parameters>
        <parameter name="yaml_path" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="373">A path to a YAML file containing a packager document.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="374">(transfer full): A newly allocated #ModulemdModuleStreamV2 or
#ModulemdPackagerV3 object initialized with the content from @yaml_path.</doc>
          <type name="GObject.Object" c:type="GObject**"/>
        </parameter>
        <parameter name="module_name"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="376">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/include/modulemd-2.0/modulemd.h"
               line="379">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_packager_string"
              c:identifier="modulemd_read_packager_string"
              shadowed-by="read_packager_string_ext"
              version="2.11"
              introspectable="0"
              throws="1">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="413"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="406">@MODULEMD_TYPE_MODULE_STREAM_V2, @MODULEMD_TYPE_PACKAGER_V3, or
@G_TYPE_INVALID. Returns the matching GObject through the @object parameter.
If the return value is @G_TYPE_INVALID, returns the reason as @error.</doc>
        <type name="GType" c:type="GType"/>
      </return-value>
      <parameters>
        <parameter name="yaml_string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="400">A YAML string containing a packager document.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="401">(transfer full): A newly allocated #ModulemdModuleStreamV2 or
#ModulemdPackagerV3 object initialized with the content from @yaml_string.</doc>
          <type name="GObject.Object" c:type="GObject**"/>
        </parameter>
      </parameters>
    </function>
    <function name="read_packager_string_ext"
              c:identifier="modulemd_read_packager_string_ext"
              shadows="read_packager_string"
              version="2.11"
              throws="1">
      <source-position filename="modulemd/include/modulemd-2.0/modulemd.h"
                       line="438"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd.h"
             line="431">@MODULEMD_TYPE_MODULE_STREAM_V2, @MODULEMD_TYPE_PACKAGER_V3, or
@G_TYPE_INVALID. Returns the matching GObject through the @object parameter.
If the return value is @G_TYPE_INVALID, returns the reason as @error.</doc>
        <type name="GType" c:type="GType"/>
      </return-value>
      <parameters>
        <parameter name="yaml_string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="419">A YAML string containing a packager document.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="420">(transfer full): A newly allocated #ModulemdModuleStreamV2 or
#ModulemdPackagerV3 object initialized with the content from @yaml_string.</doc>
          <type name="GObject.Object" c:type="GObject**"/>
        </parameter>
        <parameter name="module_name"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="modulemd/include/modulemd-2.0/modulemd.h"
               line="422">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/include/modulemd-2.0/modulemd.h"
               line="425">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="yaml_error_quark"
              c:identifier="modulemd_yaml_error_quark"
              version="2.9">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="modulemd/include/modulemd-2.0/modulemd-errors.h"
             line="132">A #GQuark used to identify an error in the modulemd yaml domain.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
