## Modulemd.ModuleStreamV2 (Private) Modulemd.ModuleStreamV2 (Private) — ModulemdModuleStreamV2 methods that should only be used by internal consumers. |

## Stability Level

Private, unless otherwise indicated

## Functions

ModulemdModuleStreamV2 * | modulemd_module_stream_v2_parse_yaml ()
gboolean | modulemd_module_stream_v2_emit_yaml ()
void | modulemd_module_stream_v2_replace_content_licenses ()
void | modulemd_module_stream_v2_replace_module_licenses ()
void | modulemd_module_stream_v2_replace_rpm_api ()
void | modulemd_module_stream_v2_replace_rpm_artifacts ()
void | modulemd_module_stream_v2_replace_rpm_filters ()
void | modulemd_module_stream_v2_replace_demodularized_rpms ()
void | modulemd_module_stream_v2_replace_dependencies ()
gboolean | modulemd_module_stream_v2_includes_nevra ()
void | modulemd_module_stream_v2_associate_obsoletes ()
ModulemdObsoletes * | modulemd_module_stream_v2_get_obsoletes ()

## 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_MODULE_STREAM_V2_MAXCONTEXTLEN
| ModulemdModuleStreamV2

## Object Hierarchy

        GObject
        ╰── ModulemdModuleStream
            ╰── ModulemdModuleStreamV2

## Description

## Functions

### modulemd_module_stream_v2_parse_yaml ()

    ModulemdModuleStreamV2 *
    modulemd_module_stream_v2_parse_yaml (ModulemdSubdocumentInfo *subdoc,
                                          gboolean strict,
                                          gboolean only_packager,
                                          GError **error);

#### Parameters

subdoc | A ModulemdSubdocumentInfo representing a stream v2 document. | [in]
strict | Whether the parser should return failure if it encounters an unknown mapping key or if it should ignore it. | [in]
only_packager | Whether the parser should return failure if it encounters a mapping key that is not intended for packager use. Ignored if `strict` is FALSE. | [in]
error | A GError that will return the reason for a parsing or validation error. | [out]

#### Returns

A newly-allocated ModulemdModuleStreamV2 object read from the YAML. NULL if a parse or validation error occurred and sets `error` appropriately.

[transfer full]

Since: 2.0

### modulemd_module_stream_v2_emit_yaml ()

    gboolean
    modulemd_module_stream_v2_emit_yaml (ModulemdModuleStreamV2 *self,
                                         yaml_emitter_t *emitter,
                                         GError **error);

#### Parameters

self | This ModulemdModuleStreamV2 object. |
emitter | A libyaml emitter object positioned where the data section of a ModulemdModuleStreamV2 belongs in the YAML document. | [inout]
error | A GError that will return the reason for an emission or validation error. | [out]

#### Returns

TRUE if the stream was emitted successfully. FALSE and sets `error` appropriately if the YAML could not be emitted.

Since: 2.0

### modulemd_module_stream_v2_replace_content_licenses ()

    void
    modulemd_module_stream_v2_replace_content_licenses
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing content licenses associated with module stream `self` are removed and replaced by `set` .

#### Parameters

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

Since: 2.0

### modulemd_module_stream_v2_replace_module_licenses ()

    void
    modulemd_module_stream_v2_replace_module_licenses
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing module licenses associated with module stream `self` are removed and replaced by `set` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
set | A GHashTable set of licenses under which this module stream is distributed. | [in]

Since: 2.0

### modulemd_module_stream_v2_replace_rpm_api ()

    void
    modulemd_module_stream_v2_replace_rpm_api
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing API RPMs associated with module stream `self` are removed and replaced by `set` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
set | A GHashTable set of binary RPMs present in this module stream that is considered stable public API. | [in]

Since: 2.0

### modulemd_module_stream_v2_replace_rpm_artifacts ()

    void
    modulemd_module_stream_v2_replace_rpm_artifacts
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing artifact RPMs associated with module stream `self` are removed and replaced by `set` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
set | A GHashTable set of NEVRs of binary RPMs present in this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_replace_rpm_filters ()

    void
    modulemd_module_stream_v2_replace_rpm_filters
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing filtered binary RPM names associated with module stream `self` are removed and replaced by `set` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
set | A GHashTable set of names of binary RPMs to filter out of this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_replace_demodularized_rpms ()

    void
    modulemd_module_stream_v2_replace_demodularized_rpms
                                   (ModulemdModuleStreamV2 *self,
                                    GHashTable *set);

Any existing demodularized binary RPM package names associated with module stream `self` are removed and replaced by `set` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
set | A GHashTable set of names of binary RPM packages to demodularize. | [in]

Since: 2.13

### modulemd_module_stream_v2_replace_dependencies ()

    void
    modulemd_module_stream_v2_replace_dependencies
                                   (ModulemdModuleStreamV2 *self,
                                    GPtrArray *array);

Any existing dependencies associated with module stream `self` are removed and replaced by `array` .

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
array | A GPtrArray of ModulemdDependencies objects for this module stream. | [in]

Since: 2.0

### modulemd_module_stream_v2_includes_nevra ()

    gboolean
    modulemd_module_stream_v2_includes_nevra
                                   (ModulemdModuleStreamV2 *self,
                                    const gchar *nevra_pattern);

#### Parameters

self | This ModulemdModuleStreamV2 object. |
nevra_pattern | A glob pattern to match against the NEVRA strings of the rpm artifacts in `self` . | [not nullable]

#### Returns

TRUE if this stream includes at least one RPM artifact that matches `nevra_pattern` . FALSE otherwise.

Since: 2.9

### modulemd_module_stream_v2_associate_obsoletes ()

    void
    modulemd_module_stream_v2_associate_obsoletes
                                   (ModulemdModuleStreamV2 *self,
                                    ModulemdObsoletes *obsoletes);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]
obsoletes | The ModulemdObsoletes information to associate with this object. | [in]

Since: 2.10

### modulemd_module_stream_v2_get_obsoletes ()

    ModulemdObsoletes *
    modulemd_module_stream_v2_get_obsoletes
                                   (ModulemdModuleStreamV2 *self);

#### Parameters

self | This ModulemdModuleStreamV2 object. | [in]

#### Returns

The ModulemdObsoletes information associated with this object. This function doesn't resolve the reset attribute of obsoletes, this means even if obsoletes associated with this stream has attribute reset set the obsoletes object is still returned.

[transfer none]

Since: 2.10

## Types and Values

### MODULEMD_MODULE_STREAM_V2_MAXCONTEXTLEN

    #define MODULEMD_MODULE_STREAM_V2_MAXCONTEXTLEN (MMD_MAXCONTEXTLEN + 3)

The ModuleStream v3 specification defines the maximum lenth of the context field. Just before building, the v3 format is converted to v2 format. But if a scratch build was requested, an underscore with a decimal number (e.g. "_1") is appended to the v2 context. Allow up to 99 scratch builds here.

### 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