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

## Stability Level

Stable, unless otherwise indicated

## Functions

ModulemdModuleStreamV1 * | modulemd_module_stream_v1_new ()
void | modulemd_module_stream_v1_set_arch ()
const gchar * | modulemd_module_stream_v1_get_arch ()
void | modulemd_module_stream_v1_set_buildopts ()
ModulemdBuildopts * | modulemd_module_stream_v1_get_buildopts ()
void | modulemd_module_stream_v1_set_community ()
const gchar * | modulemd_module_stream_v1_get_community ()
void | modulemd_module_stream_v1_set_description ()
const gchar * | modulemd_module_stream_v1_get_description ()
void | modulemd_module_stream_v1_set_documentation ()
const gchar * | modulemd_module_stream_v1_get_documentation ()
void | modulemd_module_stream_v1_set_summary ()
const gchar * | modulemd_module_stream_v1_get_summary ()
void | modulemd_module_stream_v1_set_tracker ()
const gchar * | modulemd_module_stream_v1_get_tracker ()
void | modulemd_module_stream_v1_add_component ()
void | modulemd_module_stream_v1_remove_module_component ()
void | modulemd_module_stream_v1_clear_module_components ()
void | modulemd_module_stream_v1_remove_rpm_component ()
void | modulemd_module_stream_v1_clear_rpm_components ()
GStrv | modulemd_module_stream_v1_get_module_component_names_as_strv ()
GStrv | modulemd_module_stream_v1_get_rpm_component_names_as_strv ()
ModulemdComponentModule * | modulemd_module_stream_v1_get_module_component ()
ModulemdComponentRpm * | modulemd_module_stream_v1_get_rpm_component ()
void | modulemd_module_stream_v1_add_content_license ()
void | modulemd_module_stream_v1_add_module_license ()
void | modulemd_module_stream_v1_remove_content_license ()
void | modulemd_module_stream_v1_clear_content_licenses ()
void | modulemd_module_stream_v1_remove_module_license ()
void | modulemd_module_stream_v1_clear_module_licenses ()
GStrv | modulemd_module_stream_v1_get_content_licenses_as_strv ()
GStrv | modulemd_module_stream_v1_get_module_licenses_as_strv ()
void | modulemd_module_stream_v1_add_profile ()
void | modulemd_module_stream_v1_clear_profiles ()
GStrv | modulemd_module_stream_v1_get_profile_names_as_strv ()
ModulemdProfile * | modulemd_module_stream_v1_get_profile ()
void | modulemd_module_stream_v1_add_rpm_api ()
void | modulemd_module_stream_v1_remove_rpm_api ()
void | modulemd_module_stream_v1_clear_rpm_api ()
GStrv | modulemd_module_stream_v1_get_rpm_api_as_strv ()
void | modulemd_module_stream_v1_add_rpm_artifact ()
void | modulemd_module_stream_v1_remove_rpm_artifact ()
void | modulemd_module_stream_v1_clear_rpm_artifacts ()
GStrv | modulemd_module_stream_v1_get_rpm_artifacts_as_strv ()
void | modulemd_module_stream_v1_add_rpm_filter ()
void | modulemd_module_stream_v1_remove_rpm_filter ()
void | modulemd_module_stream_v1_clear_rpm_filters ()
GStrv | modulemd_module_stream_v1_get_rpm_filters_as_strv ()
void | modulemd_module_stream_v1_add_servicelevel ()
void | modulemd_module_stream_v1_clear_servicelevels ()
GStrv | modulemd_module_stream_v1_get_servicelevel_names_as_strv ()
ModulemdServiceLevel * | modulemd_module_stream_v1_get_servicelevel ()
void | modulemd_module_stream_v1_set_eol ()
GDate * | modulemd_module_stream_v1_get_eol ()
void | modulemd_module_stream_v1_add_buildtime_requirement ()
void | modulemd_module_stream_v1_add_runtime_requirement ()
void | modulemd_module_stream_v1_remove_buildtime_requirement ()
void | modulemd_module_stream_v1_remove_runtime_requirement ()
void | modulemd_module_stream_v1_clear_buildtime_requirements ()
void | modulemd_module_stream_v1_clear_runtime_requirements ()
GStrv | modulemd_module_stream_v1_get_buildtime_modules_as_strv ()
GStrv | modulemd_module_stream_v1_get_runtime_modules_as_strv ()
const gchar * | modulemd_module_stream_v1_get_buildtime_requirement_stream ()
const gchar * | modulemd_module_stream_v1_get_runtime_requirement_stream ()
void | modulemd_module_stream_v1_set_xmd ()
GVariant * | modulemd_module_stream_v1_get_xmd ()

## Properties

char * | arch | Read / Write / Construct
ModulemdBuildopts * | buildopts | Read / Write
char * | community | Read / Write / Construct
char * | documentation | Read / Write / Construct
char * | tracker | Read / Write / Construct

## Types and Values

#define | MODULEMD_TYPE_MODULE_STREAM_V1
| ModulemdModuleStreamV1

## Object Hierarchy

        GObject
        ╰── ModulemdModuleStream
            ╰── ModulemdModuleStreamV1

## Description

## Functions

### modulemd_module_stream_v1_new ()

    ModulemdModuleStreamV1 *
    modulemd_module_stream_v1_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 ModulemdModuleStreamV1 object, with the specified module and stream names, if provided.

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_set_arch ()

    void
    modulemd_module_stream_v1_set_arch (ModulemdModuleStreamV1 *self,
                                        const gchar *arch);

Set the module artifact architecture.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_arch ()

    const gchar *
    modulemd_module_stream_v1_get_arch (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The module artifact architecture.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_set_buildopts ()

    void
    modulemd_module_stream_v1_set_buildopts
                                   (ModulemdModuleStreamV1 *self,
                                    ModulemdBuildopts *buildopts);

Set build options for this module's components.

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_get_buildopts ()

    ModulemdBuildopts *
    modulemd_module_stream_v1_get_buildopts
                                   (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The build options for this module's components.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_set_community ()

    void
    modulemd_module_stream_v1_set_community
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *community);

Set the module community website address.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_community ()

    const gchar *
    modulemd_module_stream_v1_get_community
                                   (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The module community website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_set_description ()

    void
    modulemd_module_stream_v1_set_description
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *description);

Set the module description.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_description ()

    const gchar *
    modulemd_module_stream_v1_get_description
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *locale);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_set_documentation ()

    void
    modulemd_module_stream_v1_set_documentation
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *documentation);

Set the module documentation website address.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_documentation ()

    const gchar *
    modulemd_module_stream_v1_get_documentation
                                   (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The module documentation website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_set_summary ()

    void
    modulemd_module_stream_v1_set_summary (ModulemdModuleStreamV1 *self,
                                           const gchar *summary);

Set the module summary.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_summary ()

    const gchar *
    modulemd_module_stream_v1_get_summary (ModulemdModuleStreamV1 *self,
                                           const gchar *locale);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_set_tracker ()

    void
    modulemd_module_stream_v1_set_tracker (ModulemdModuleStreamV1 *self,
                                           const gchar *tracker);

Set the module bug tracker website address.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_get_tracker ()

    const gchar *
    modulemd_module_stream_v1_get_tracker (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The module bug tracker website address.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_add_component ()

    void
    modulemd_module_stream_v1_add_component
                                   (ModulemdModuleStreamV1 *self,
                                    ModulemdComponent *component);

Add a component definition to the module.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_remove_module_component ()

    void
    modulemd_module_stream_v1_remove_module_component
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *component_name);

Remove a component from this module stream.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_module_components ()

    void
    modulemd_module_stream_v1_clear_module_components
                                   (ModulemdModuleStreamV1 *self);

Remove all module components from this module stream.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_remove_rpm_component ()

    void
    modulemd_module_stream_v1_remove_rpm_component
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *component_name);

Remove a component from this module stream.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_rpm_components ()

    void
    modulemd_module_stream_v1_clear_rpm_components
                                   (ModulemdModuleStreamV1 *self);

Remove all RPM components from this module stream.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_module_component_names_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_module_component_names_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_module_component_names]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_rpm_component_names_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_rpm_component_names_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_rpm_component_names]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_module_component ()

    ModulemdComponentModule *
    modulemd_module_stream_v1_get_module_component
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *component_name);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_get_rpm_component ()

    ModulemdComponentRpm *
    modulemd_module_stream_v1_get_rpm_component
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *component_name);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_add_content_license ()

    void
    modulemd_module_stream_v1_add_content_license
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_add_module_license ()

    void
    modulemd_module_stream_v1_add_module_license
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *license);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_remove_content_license ()

    void
    modulemd_module_stream_v1_remove_content_license
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_clear_content_licenses ()

    void
    modulemd_module_stream_v1_clear_content_licenses
                                   (ModulemdModuleStreamV1 *self);

Remove all content licenses.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_remove_module_license ()

    void
    modulemd_module_stream_v1_remove_module_license
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *license);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_clear_module_licenses ()

    void
    modulemd_module_stream_v1_clear_module_licenses
                                   (ModulemdModuleStreamV1 *self);

Remove all module licenses.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_content_licenses_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_content_licenses_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_content_licenses]

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_get_module_licenses_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_module_licenses_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_module_licenses]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_add_profile ()

    void
    modulemd_module_stream_v1_add_profile (ModulemdModuleStreamV1 *self,
                                           ModulemdProfile *profile);

Adds a profile definition to this module stream.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_profiles ()

    void
    modulemd_module_stream_v1_clear_profiles
                                   (ModulemdModuleStreamV1 *self);

Remove all profiles from this module stream.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.0

### modulemd_module_stream_v1_get_profile_names_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_profile_names_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_profile_names]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_profile ()

    ModulemdProfile *
    modulemd_module_stream_v1_get_profile (ModulemdModuleStreamV1 *self,
                                           const gchar *profile_name);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_add_rpm_api ()

    void
    modulemd_module_stream_v1_add_rpm_api (ModulemdModuleStreamV1 *self,
                                           const gchar *rpm);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_remove_rpm_api ()

    void
    modulemd_module_stream_v1_remove_rpm_api
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *rpm);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_rpm_api ()

    void
    modulemd_module_stream_v1_clear_rpm_api
                                   (ModulemdModuleStreamV1 *self);

Remove all RPMs from the list of stable public API.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_rpm_api_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_rpm_api_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_rpm_api]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_add_rpm_artifact ()

    void
    modulemd_module_stream_v1_add_rpm_artifact
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *nevr);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_remove_rpm_artifact ()

    void
    modulemd_module_stream_v1_remove_rpm_artifact
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *nevr);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_rpm_artifacts ()

    void
    modulemd_module_stream_v1_clear_rpm_artifacts
                                   (ModulemdModuleStreamV1 *self);

Remove all RPM NEVRs from the list of artifacts.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_rpm_artifacts_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_rpm_artifacts_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_rpm_artifacts]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_add_rpm_filter ()

    void
    modulemd_module_stream_v1_add_rpm_filter
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *rpm);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_remove_rpm_filter ()

    void
    modulemd_module_stream_v1_remove_rpm_filter
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *rpm);

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_rpm_filters ()

    void
    modulemd_module_stream_v1_clear_rpm_filters
                                   (ModulemdModuleStreamV1 *self);

Remove all RPMs from the filter list.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_rpm_filters_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_rpm_filters_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_rpm_filters]

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_add_servicelevel ()

    void
    modulemd_module_stream_v1_add_servicelevel
                                   (ModulemdModuleStreamV1 *self,
                                    ModulemdServiceLevel *servicelevel);

Adds a servicelevel definition to this module stream.

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v1_clear_servicelevels ()

    void
    modulemd_module_stream_v1_clear_servicelevels
                                   (ModulemdModuleStreamV1 *self);

Remove all servicelevels from this module stream.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.0

### modulemd_module_stream_v1_get_servicelevel_names_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_servicelevel_names_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_servicelevel_names]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_servicelevel ()

    ModulemdServiceLevel *
    modulemd_module_stream_v1_get_servicelevel
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *servicelevel_name);

#### Parameters

self | This ModulemdModuleStreamV1 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_v1_set_eol ()

    void
    modulemd_module_stream_v1_set_eol (ModulemdModuleStreamV1 *self,
                                       GDate *eol);

`modulemd_module_stream_v1_set_eol` has been deprecated since version 2.0 and should not be used in newly-written code.

Use `modulemd_module_stream_v1_add_servicelevel()` instead.

Comptibility function with early iterations of modulemd v1. This function is a wrapper for `modulemd_module_stream_v1_add_servicelevel("rawhide", eol)`.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
eol | The end-of-life date for the "rawhide" service level. | [in]

Since: 2.0

### modulemd_module_stream_v1_get_eol ()

    GDate *
    modulemd_module_stream_v1_get_eol (ModulemdModuleStreamV1 *self);

`modulemd_module_stream_v1_get_eol` has been deprecated since version 2.0 and should not be used in newly-written code.

Use `modulemd_module_stream_v1_get_servicelevel()` instead.

Compatibility function with early iterations of modulemd v1. This function is a wrapper for `modulemd_module_stream_v1_get_servicelevel("rawhide")`.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The end-of-life date for the "rawhide" service level.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_add_buildtime_requirement ()

    void
    modulemd_module_stream_v1_add_buildtime_requirement
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name,
                                    const gchar *module_stream);

Add a build-time dependency for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
module_name | The name of the module to depend on. | [in]
module_stream | The name of the module stream to depend on. | [in]

Since: 2.0

### modulemd_module_stream_v1_add_runtime_requirement ()

    void
    modulemd_module_stream_v1_add_runtime_requirement
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name,
                                    const gchar *module_stream);

Add a runtime dependency for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
module_name | The name of the module to depend on. | [in]
module_stream | The name of the module stream to depend on. | [in]

Since: 2.0

### modulemd_module_stream_v1_remove_buildtime_requirement ()

    void
    modulemd_module_stream_v1_remove_buildtime_requirement
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name);

Remove a build-time dependency for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
module_name | The name of the module to be removed. | [in]

Since: 2.0

### modulemd_module_stream_v1_remove_runtime_requirement ()

    void
    modulemd_module_stream_v1_remove_runtime_requirement
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name);

Remove a runtime dependency for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
module_name | The name of the module to be removed. | [in]

Since: 2.0

### modulemd_module_stream_v1_clear_buildtime_requirements ()

    void
    modulemd_module_stream_v1_clear_buildtime_requirements
                                   (ModulemdModuleStreamV1 *self);

Remove all buildtime dependencies for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_clear_runtime_requirements ()

    void
    modulemd_module_stream_v1_clear_runtime_requirements
                                   (ModulemdModuleStreamV1 *self);

Remove all runtime dependencies for this module.

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

Since: 2.5

### modulemd_module_stream_v1_get_buildtime_modules_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_buildtime_modules_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_buildtime_modules]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

An ordered GStrv list of module names that this module depends on at build-time.

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_runtime_modules_as_strv ()

    GStrv
    modulemd_module_stream_v1_get_runtime_modules_as_strv
                                   (ModulemdModuleStreamV1 *self);

[rename-to modulemd_module_stream_v1_get_runtime_modules]

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

An ordered GStrv list of module names that this module depends on at runtime.

[transfer full]

Since: 2.0

### modulemd_module_stream_v1_get_buildtime_requirement_stream ()

    const gchar *
    modulemd_module_stream_v1_get_buildtime_requirement_stream
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]
module_name | The name of the module this module depends on. | [in]

#### Returns

The name of the stream matching this module name in the build-time dependencies.

[transfer none]

Since: 2.0

### modulemd_module_stream_v1_get_runtime_requirement_stream ()

    const gchar *
    modulemd_module_stream_v1_get_runtime_requirement_stream
                                   (ModulemdModuleStreamV1 *self,
                                    const gchar *module_name);

### modulemd_module_stream_v1_set_xmd ()

    void
    modulemd_module_stream_v1_set_xmd (ModulemdModuleStreamV1 *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 ModulemdModuleStreamV1 object. | [in]
xmd | A GVariant representing arbitrary YAML. | [in][transfer none]

Since: 2.0

### modulemd_module_stream_v1_get_xmd ()

    GVariant *
    modulemd_module_stream_v1_get_xmd (ModulemdModuleStreamV1 *self);

#### Parameters

self | This ModulemdModuleStreamV1 object. | [in]

#### Returns

The extensible metadata block as a GVariant.

[transfer none]

## Types and Values

### MODULEMD_TYPE_MODULE_STREAM_V1

    #define MODULEMD_TYPE_MODULE_STREAM_V1 (modulemd_module_stream_v1_get_type ())

### ModulemdModuleStreamV1

    typedef struct _ModulemdModuleStreamV1 ModulemdModuleStreamV1;

## Property Details

### The `“arch”` property

      “arch”                     char *

The architecture of the produced artifacts.

Owner: ModulemdModuleStreamV1

Flags: Read / Write / Construct

Default value: NULL

### The `“buildopts”` property

      “buildopts”                ModulemdBuildopts *

Build options for module components.

Owner: ModulemdModuleStreamV1

Flags: Read / Write

### The `“community”` property

      “community”                char *

The website address of the upstream community for this module.

Owner: ModulemdModuleStreamV1

Flags: Read / Write / Construct

Default value: NULL

### The `“documentation”` property

      “documentation”            char *

The website address of the upstream documentation for this module.

Owner: ModulemdModuleStreamV1

Flags: Read / Write / Construct

Default value: NULL

### The `“tracker”` property

      “tracker”                  char *

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

Owner: ModulemdModuleStreamV1

Flags: Read / Write / Construct

Default value: NULL