## Modulemd.ModuleStreamV2 Modulemd.ModuleStreamV2 — The data to represent a stream of a module as described by a modulemd YAML document of version 2. |

## Stability Level

Stable, unless otherwise indicated

## Functions

ModulemdModuleStreamV2 * | modulemd_module_stream_v2_new ()
void | modulemd_module_stream_v2_set_arch ()
const gchar * | modulemd_module_stream_v2_get_arch ()
void | modulemd_module_stream_v2_set_buildopts ()
ModulemdBuildopts * | modulemd_module_stream_v2_get_buildopts ()
void | modulemd_module_stream_v2_set_community ()
const gchar * | modulemd_module_stream_v2_get_community ()
void | modulemd_module_stream_v2_set_description ()
const gchar * | modulemd_module_stream_v2_get_description ()
void | modulemd_module_stream_v2_set_documentation ()
const gchar * | modulemd_module_stream_v2_get_documentation ()
void | modulemd_module_stream_v2_set_summary ()
const gchar * | modulemd_module_stream_v2_get_summary ()
void | modulemd_module_stream_v2_set_tracker ()
const gchar * | modulemd_module_stream_v2_get_tracker ()
ModulemdObsoletes * | modulemd_module_stream_v2_get_obsoletes_resolved ()
void | modulemd_module_stream_v2_add_component ()
void | modulemd_module_stream_v2_remove_module_component ()
void | modulemd_module_stream_v2_clear_module_components ()
void | modulemd_module_stream_v2_remove_rpm_component ()
void | modulemd_module_stream_v2_clear_rpm_components ()
GStrv | modulemd_module_stream_v2_get_module_component_names_as_strv ()
GStrv | modulemd_module_stream_v2_get_rpm_component_names_as_strv ()
ModulemdComponentModule * | modulemd_module_stream_v2_get_module_component ()
ModulemdComponentRpm * | modulemd_module_stream_v2_get_rpm_component ()
void | modulemd_module_stream_v2_add_content_license ()
void | modulemd_module_stream_v2_add_module_license ()
void | modulemd_module_stream_v2_remove_content_license ()
void | modulemd_module_stream_v2_remove_module_license ()
void | modulemd_module_stream_v2_clear_content_licenses ()
void | modulemd_module_stream_v2_clear_module_licenses ()
GStrv | modulemd_module_stream_v2_get_content_licenses_as_strv ()
GStrv | modulemd_module_stream_v2_get_module_licenses_as_strv ()
void | modulemd_module_stream_v2_add_profile ()
void | modulemd_module_stream_v2_clear_profiles ()
GStrv | modulemd_module_stream_v2_get_profile_names_as_strv ()
ModulemdProfile * | modulemd_module_stream_v2_get_profile ()
GPtrArray * | modulemd_module_stream_v2_search_profiles ()
void | modulemd_module_stream_v2_add_rpm_api ()
void | modulemd_module_stream_v2_remove_rpm_api ()
void | modulemd_module_stream_v2_clear_rpm_api ()
GStrv | modulemd_module_stream_v2_get_rpm_api_as_strv ()
void | modulemd_module_stream_v2_add_rpm_artifact ()
void | modulemd_module_stream_v2_remove_rpm_artifact ()
void | modulemd_module_stream_v2_clear_rpm_artifacts ()
GStrv | modulemd_module_stream_v2_get_rpm_artifacts_as_strv ()
void | modulemd_module_stream_v2_set_rpm_artifact_map_entry ()
ModulemdRpmMapEntry * | modulemd_module_stream_v2_get_rpm_artifact_map_entry ()
void | modulemd_module_stream_v2_add_rpm_filter ()
void | modulemd_module_stream_v2_remove_rpm_filter ()
void | modulemd_module_stream_v2_clear_rpm_filters ()
GStrv | modulemd_module_stream_v2_get_rpm_filters_as_strv ()
void | modulemd_module_stream_v2_add_demodularized_rpm ()
void | modulemd_module_stream_v2_remove_demodularized_rpm ()
void | modulemd_module_stream_v2_clear_demodularized_rpms ()
GStrv | modulemd_module_stream_v2_get_demodularized_rpms ()
void | modulemd_module_stream_v2_add_servicelevel ()
void | modulemd_module_stream_v2_clear_servicelevels ()
GStrv | modulemd_module_stream_v2_get_servicelevel_names_as_strv ()
ModulemdServiceLevel * | modulemd_module_stream_v2_get_servicelevel ()
void | modulemd_module_stream_v2_add_dependencies ()
void | modulemd_module_stream_v2_clear_dependencies ()
void | modulemd_module_stream_v2_remove_dependencies ()
GPtrArray * | modulemd_module_stream_v2_get_dependencies ()
void | modulemd_module_stream_v2_set_xmd ()
GVariant * | modulemd_module_stream_v2_get_xmd ()
void | modulemd_module_stream_v2_clear_xmd ()
void | modulemd_module_stream_v2_set_static_context ()
void | modulemd_module_stream_v2_unset_static_context ()
gboolean | modulemd_module_stream_v2_is_static_context ()

## Properties

char * | arch | Read / Write / Construct
ModulemdBuildopts * | buildopts | Read / Write
char * | community | Read / Write / Construct
char * | documentation | Read / Write / Construct
gboolean | static-context | Read / Write / Construct
char * | tracker | Read / Write / Construct

## Types and Values

#define | MODULEMD_TYPE_MODULE_STREAM_V2
| ModulemdModuleStreamV2

## Object Hierarchy

        GObject
        ╰── ModulemdModuleStream
            ╰── ModulemdModuleStreamV2

## Description

## Functions

### modulemd_module_stream_v2_new ()

    ModulemdModuleStreamV2 *
    modulemd_module_stream_v2_new (const gchar *module_name,
                                   const gchar *module_stream);

#### Parameters

module_name | The name of this module. | [in][nullable]
module_stream | The name of this module stream. | [in][nullable]

#### Returns

A newly-allocated ModulemdModuleStreamV2 object, with the specified module and stream names, if provided.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_set_arch ()

    void
    modulemd_module_stream_v2_set_arch (ModulemdModuleStreamV2 *self,
                                        const gchar *arch);

Set the module artifact architecture.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
arch | The module artifact architecture. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_arch ()

    const gchar *
    modulemd_module_stream_v2_get_arch (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The module artifact architecture.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_buildopts ()

    void
    modulemd_module_stream_v2_set_buildopts
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdBuildopts *buildopts);

Set build options for this module's components.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
buildopts | A ModulemdBuildopts object describing build options that apply globally to components in this module. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v2_get_buildopts ()

    ModulemdBuildopts *
    modulemd_module_stream_v2_get_buildopts
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The build options for this module's components.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_community ()

    void
    modulemd_module_stream_v2_set_community
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *community);

Set the module community website address.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
community | The upstream community website for this module. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_community ()

    const gchar *
    modulemd_module_stream_v2_get_community
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The module community website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_description ()

    void
    modulemd_module_stream_v2_set_description
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *description);

Set the module description.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
description | The untranslated description of this module. | [in][nullable]

Since: 2.0

### modulemd_module_stream_v2_get_description ()

    const gchar *
    modulemd_module_stream_v2_get_description
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *locale);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
locale | 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. | [in][nullable]

#### Returns

The module description, translated to the requested locale if available. Translation information is managed by the ModulemdTranslation and ModulemdTranslationEntry objects.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_documentation ()

    void
    modulemd_module_stream_v2_set_documentation
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *documentation);

Set the module documentation website address.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
documentation | The upstream documentation website for this module. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_documentation ()

    const gchar *
    modulemd_module_stream_v2_get_documentation
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The module documentation website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_summary ()

    void
    modulemd_module_stream_v2_set_summary (ModulemdModuleStreamV2 *self,
                                           const gchar *summary);

Set the module summary.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
summary | The untranslated summary of this module. | [in][nullable]

Since: 2.0

### modulemd_module_stream_v2_get_summary ()

    const gchar *
    modulemd_module_stream_v2_get_summary (ModulemdModuleStreamV2 *self,
                                           const gchar *locale);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
locale | 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. | [in][nullable]

#### Returns

The module summary, translated to the requested locale if available. Translation information is managed by the ModulemdTranslation and ModulemdTranslationEntry objects.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_set_tracker ()

    void
    modulemd_module_stream_v2_set_tracker (ModulemdModuleStreamV2 *self,
                                           const gchar *tracker);

Set the module bug tracker website address.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
tracker | The upstream bug tracker website for this module. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_tracker ()

    const gchar *
    modulemd_module_stream_v2_get_tracker (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The module bug tracker website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_get_obsoletes_resolved ()

    ModulemdObsoletes *
    modulemd_module_stream_v2_get_obsoletes_resolved
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

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.

[transfer none]

Since: 2.10

### modulemd_module_stream_v2_add_component ()

    void
    modulemd_module_stream_v2_add_component
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdComponent *component);

Add a component definition to the module.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
component | A ModulemdComponent to be added to this module stream. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v2_remove_module_component ()

    void
    modulemd_module_stream_v2_remove_module_component
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *component_name);

Remove a component from this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
component_name | The name of the component to remove from the module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_module_components ()

    void
    modulemd_module_stream_v2_clear_module_components
                                   (ModulemdModuleStreamV2 *self);

Remove all module components from this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

### modulemd_module_stream_v2_remove_rpm_component ()

    void
    modulemd_module_stream_v2_remove_rpm_component
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *component_name);

Remove a component from this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
component_name | The name of the component to remove from the module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_rpm_components ()

    void
    modulemd_module_stream_v2_clear_rpm_components
                                   (ModulemdModuleStreamV2 *self);

Remove all RPM components from this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

### modulemd_module_stream_v2_get_module_component_names_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_module_component_names_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_module_component_names]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of module component names included in this stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_get_rpm_component_names_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_rpm_component_names_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_rpm_component_names]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of RPM component names included in this stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_get_module_component ()

    ModulemdComponentModule *
    modulemd_module_stream_v2_get_module_component
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *component_name);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
component_name | The name of the component to retrieve. | [in]

#### Returns

The module component matching `component_name` if it exists, else NULL.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_get_rpm_component ()

    ModulemdComponentRpm *
    modulemd_module_stream_v2_get_rpm_component
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *component_name);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
component_name | The name of the component to retrieve. | [in]

#### Returns

The RPM component matching `component_name` if it exists, else NULL.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_add_content_license ()

    void
    modulemd_module_stream_v2_add_content_license
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
license | A license under which one or more of the components of this module stream are distributed. | [in]

Since: 2.0

### modulemd_module_stream_v2_add_module_license ()

    void
    modulemd_module_stream_v2_add_module_license
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
license | A license under which this module stream is distributed. | [in]

Since: 2.0

### modulemd_module_stream_v2_remove_content_license ()

    void
    modulemd_module_stream_v2_remove_content_license
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
license | A license to remove from the list. Has no effect if the license is not present. | [in]

Since: 2.0

### modulemd_module_stream_v2_remove_module_license ()

    void
    modulemd_module_stream_v2_remove_module_license
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
license | A license to remove from the list. Has no effect if the license is not present. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_content_licenses ()

    void
    modulemd_module_stream_v2_clear_content_licenses
                                   (ModulemdModuleStreamV2 *self);

Remove all content licenses.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.5

### modulemd_module_stream_v2_clear_module_licenses ()

    void
    modulemd_module_stream_v2_clear_module_licenses
                                   (ModulemdModuleStreamV2 *self);

Remove all module licenses.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.5

### modulemd_module_stream_v2_get_content_licenses_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_content_licenses_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_content_licenses]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of licenses under which one or more components of this module stream are released.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_get_module_licenses_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_module_licenses_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_module_licenses]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of licenses under which this module stream is released.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_add_profile ()

    void
    modulemd_module_stream_v2_add_profile (ModulemdModuleStreamV2 *self,
                                           ModulemdProfile *profile);

Adds a profile definition to this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
profile | A ModulemdProfile for this module stream. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v2_clear_profiles ()

    void
    modulemd_module_stream_v2_clear_profiles
                                   (ModulemdModuleStreamV2 *self);

Remove all profiles from this module stream.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_profile_names_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_profile_names_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_profile_names]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of profile names associated with this module stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_get_profile ()

    ModulemdProfile *
    modulemd_module_stream_v2_get_profile (ModulemdModuleStreamV2 *self,
                                           const gchar *profile_name);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
profile_name | The name of a profile to retrieve. | [in]

#### Returns

The requested profile definition if present in the module stream. NULL otherwise.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_search_profiles ()

    GPtrArray *
    modulemd_module_stream_v2_search_profiles
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *profile_pattern);

#### Parameters

self | This ModulemdModuleStreamV2 object. |
profile_pattern | A globbing pattern to locate one or more profiles in this ModulemdModuleStreamV2 object. The names will be compared using fnmatch(3). | [nullable]

#### Returns

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.

[transfer container][element-type ModulemdProfile]

### modulemd_module_stream_v2_add_rpm_api ()

    void
    modulemd_module_stream_v2_add_rpm_api (ModulemdModuleStreamV2 *self,
                                           const gchar *rpm);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | The name of a binary RPM present in this module that is considered stable public API. | [in]

Since: 2.0

### modulemd_module_stream_v2_remove_rpm_api ()

    void
    modulemd_module_stream_v2_remove_rpm_api
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *rpm);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | A binary RPM name to remove from the list of stable public API. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_rpm_api ()

    void
    modulemd_module_stream_v2_clear_rpm_api
                                   (ModulemdModuleStreamV2 *self);

Remove all RPMs from the list of stable public API.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.5

### modulemd_module_stream_v2_get_rpm_api_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_rpm_api_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_rpm_api]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of binary RPM names that form the public API of this module stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_add_rpm_artifact ()

    void
    modulemd_module_stream_v2_add_rpm_artifact
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *nevr);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
nevr | The NEVR of a binary RPM present in this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_remove_rpm_artifact ()

    void
    modulemd_module_stream_v2_remove_rpm_artifact
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *nevr);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
nevr | An RPM NEVR to remove from the list of artifacts. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_rpm_artifacts ()

    void
    modulemd_module_stream_v2_clear_rpm_artifacts
                                   (ModulemdModuleStreamV2 *self);

Remove all NPM NEVRs from the list of artifacts.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.5

### modulemd_module_stream_v2_get_rpm_artifacts_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_rpm_artifacts_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_rpm_artifacts]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of RPM NEVRs that are included in this module stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_set_rpm_artifact_map_entry ()

    void
    modulemd_module_stream_v2_set_rpm_artifact_map_entry
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdRpmMapEntry *entry,
                                    const gchar *digest,
                                    const gchar *checksum);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
entry | The RPM map entry to save to the stream. | [in]
digest | A string representing the digest algorithm used to generate the `checksum` . | [in]
checksum | An RPM artifact checksum. | [in]

Since: 2.2

### modulemd_module_stream_v2_get_rpm_artifact_map_entry ()

    ModulemdRpmMapEntry *
    modulemd_module_stream_v2_get_rpm_artifact_map_entry
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *digest,
                                    const gchar *checksum);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
digest | A string representing the digest algorithm used to generate the `checksum` . | [in]
checksum | An RPM artifact checksum. | [in]

#### Returns

The ModulemdRpmMapEntry object associated with the provided `checksum` generated by the provided `digest` .

[transfer none]

Since: 2.2

### modulemd_module_stream_v2_add_rpm_filter ()

    void
    modulemd_module_stream_v2_add_rpm_filter
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *rpm);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | The name of a binary RPM to filter out of this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_remove_rpm_filter ()

    void
    modulemd_module_stream_v2_remove_rpm_filter
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *rpm);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | A binary RPM name to remove from the filter list. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_rpm_filters ()

    void
    modulemd_module_stream_v2_clear_rpm_filters
                                   (ModulemdModuleStreamV2 *self);

Remove all RPMs from the filter list.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.5

### modulemd_module_stream_v2_get_rpm_filters_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_rpm_filters_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_rpm_filters]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of binary RPM names that are filtered out of this module stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_add_demodularized_rpm ()

    void
    modulemd_module_stream_v2_add_demodularized_rpm
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *rpm);

Add a binary package name to a list of demodularized packages.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | A name of a binary RPM package to become non-modular. | [in]

Since: 2.13

### modulemd_module_stream_v2_remove_demodularized_rpm ()

    void
    modulemd_module_stream_v2_remove_demodularized_rpm
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *rpm);

Remove a binary package name from a list of demodularized packages.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
rpm | A binary RPM name to remove from a demodularized list. | [in]

Since: 2.13

### modulemd_module_stream_v2_clear_demodularized_rpms ()

    void
    modulemd_module_stream_v2_clear_demodularized_rpms
                                   (ModulemdModuleStreamV2 *self);

Remove all RPM packages from a demodularized list of the object.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.13

### modulemd_module_stream_v2_get_demodularized_rpms ()

    GStrv
    modulemd_module_stream_v2_get_demodularized_rpms
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of binary RPM package names that became non-modular.

[transfer full]

Since: 2.13

### modulemd_module_stream_v2_add_servicelevel ()

    void
    modulemd_module_stream_v2_add_servicelevel
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdServiceLevel *servicelevel);

Adds a servicelevel definition to this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
servicelevel | A ModulemdServiceLevel for this module stream. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v2_clear_servicelevels ()

    void
    modulemd_module_stream_v2_clear_servicelevels
                                   (ModulemdModuleStreamV2 *self);

Remove all servicelevels from this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.0

### modulemd_module_stream_v2_get_servicelevel_names_as_strv ()

    GStrv
    modulemd_module_stream_v2_get_servicelevel_names_as_strv
                                   (ModulemdModuleStreamV2 *self);

[rename-to modulemd_module_stream_v2_get_servicelevel_names]

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

An ordered GStrv list of servicelevel names associated with this module stream.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_get_servicelevel ()

    ModulemdServiceLevel *
    modulemd_module_stream_v2_get_servicelevel
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *servicelevel_name);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
servicelevel_name | The name of a servicelevel to retrieve. | [in]

#### Returns

The requested servicelevel definition if present in the module stream. NULL otherwise.

[transfer none]

Since: 2.0

### modulemd_module_stream_v2_add_dependencies ()

    void
    modulemd_module_stream_v2_add_dependencies
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdDependencies *deps);

Add a ModulemdDependencies object to the list of dependencies for this module stream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
deps | A ModulemdDependencies object to add to the list for this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_clear_dependencies ()

    void
    modulemd_module_stream_v2_clear_dependencies
                                   (ModulemdModuleStreamV2 *self);

Empties the list of dependencies for this ModulemdModuleStream.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.4

### modulemd_module_stream_v2_remove_dependencies ()

    void
    modulemd_module_stream_v2_remove_dependencies
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdDependencies *deps);

Removes all entries matching `deps` from the array of ModulemdDependencies objects.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
deps | A ModulemdDependencies object to remove from the list for this module stream. | [in]

Since: 2.4

### modulemd_module_stream_v2_get_dependencies ()

    GPtrArray *
    modulemd_module_stream_v2_get_dependencies
                                   (ModulemdModuleStreamV2 *self);

Return the list of ModulemdDependencies objects as a GPtrArray.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

A list of all ModulemdDependencies objects associated with this module stream.

[transfer none][element-type ModulemdDependencies]

### modulemd_module_stream_v2_set_xmd ()

    void
    modulemd_module_stream_v2_set_xmd (ModulemdModuleStreamV2 *self,
                                       GVariant *xmd);

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.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
xmd | A GVariant representing arbitrary YAML. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v2_get_xmd ()

    GVariant *
    modulemd_module_stream_v2_get_xmd (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The extensible metadata block as a GVariant.

[transfer none]

### modulemd_module_stream_v2_clear_xmd ()

    void
    modulemd_module_stream_v2_clear_xmd (ModulemdModuleStreamV2 *self);

Removes all XMD data from this ModulemdModuleStreamV2

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.14

### modulemd_module_stream_v2_set_static_context ()

    void
    modulemd_module_stream_v2_set_static_context
                                   (ModulemdModuleStreamV2 *self);

Marks this ModulemdModuleStreamV2 to indicate to dependency solvers that they must treat the `context` attribute as informative.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.11

### modulemd_module_stream_v2_unset_static_context ()

    void
    modulemd_module_stream_v2_unset_static_context
                                   (ModulemdModuleStreamV2 *self);

Marks this ModulemdModuleStreamV2 to indicate to dependency solvers that they must ignore the `context` attribute as a uniqueness element.

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

Since: 2.11

### modulemd_module_stream_v2_is_static_context ()

    gboolean
    modulemd_module_stream_v2_is_static_context
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

Whether the `context` attribute should be treated as static.

Since: 2.11

## Types and Values

### MODULEMD_TYPE_MODULE_STREAM_V2

    #define MODULEMD_TYPE_MODULE_STREAM_V2 (modulemd_module_stream_v2_get_type ())

### ModulemdModuleStreamV2

    typedef struct _ModulemdModuleStreamV2 ModulemdModuleStreamV2;

## Property Details

### The `“arch”` property

      “arch”                     char *

The architecture of the produced artifacts.

Owner: ModulemdModuleStreamV2

Flags: Read / Write / Construct

Default value: NULL

### The `“buildopts”` property

      “buildopts”                ModulemdBuildopts *

Build options for module components.

Owner: ModulemdModuleStreamV2

Flags: Read / Write

### The `“community”` property

      “community”                char *

The website address of the upstream community for this module.

Owner: ModulemdModuleStreamV2

Flags: Read / Write / Construct

Default value: NULL

### The `“documentation”` property

      “documentation”            char *

The website address of the upstream documentation for this module.

Owner: ModulemdModuleStreamV2

Flags: Read / Write / Construct

Default value: NULL

### The `“static-context”` property

      “static-context”           gboolean

Whether the context is static.

Owner: ModulemdModuleStreamV2

Flags: Read / Write / Construct

Default value: FALSE

### The `“tracker”` property

      “tracker”                  char *

The website address of the upstream bug tracker for this module.

Owner: ModulemdModuleStreamV2

Flags: Read / Write / Construct

Default value: NULL