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

## Stability Level

Private, unless otherwise indicated

## Functions

ModulemdModule * | modulemd_module_new ()
ModulemdDefaultsVersionEnum | modulemd_module_set_defaults ()
void | modulemd_module_add_translation ()
GPtrArray * | modulemd_module_get_translated_streams ()
void | modulemd_module_add_obsoletes ()
ModulemdModuleStreamVersionEnum | modulemd_module_add_stream ()
gboolean | modulemd_module_upgrade_streams ()

## Description

## Functions

### modulemd_module_new ()

    ModulemdModule *
    modulemd_module_new (const gchar *module_name);

#### Parameters

module_name | The name of the module. | [in][not nullable]

#### Returns

A newly-allocated ModulemdModule object.

[transfer full]

Since: 2.0

### modulemd_module_set_defaults ()

    ModulemdDefaultsVersionEnum
    modulemd_module_set_defaults (ModulemdModule *self,
                                  ModulemdDefaults *defaults,
                                  ModulemdDefaultsVersionEnum index_mdversion,
                                  GError **error);

This function takes a ModulemdDefaults object, upgrades it to `index_mdversion` if its version is lower and adds it to the ModulemdModule object. If `defaults` cannot be upgraded safely or the `defaults` are not for `self` module, it will return an appropriate error.

(A use case is upgrading defaults of modules in a ModulemdModuleIndex to the highest defaults version added so far in the ModulemdModuleIndex.)

#### Parameters

self | This ModulemdModule object. | [in]
defaults | A ModulemdDefaults object whose copy to associate with this ModulemdModule. A module name in `defaults` should match a name in the `self` module. Pass `NULL` to unset the defaults. | [in][nullable]
index_mdversion | A minimal ModulemdDefaultsVersionEnum version to upgrade `defaults` before adding them. | [in]
error | A GError containing information about why this function failed. | [out]

#### Returns

The upgraded version of the defaults that were added. Or `MD_DEFAULTS_VERSION_UNSET` if `defaults` was `NULL`. Returns `MD_DEFAULTS_VERSION_ERROR` and sets `error` if the defaults name didn't match or the defaults object couldn't be upgraded successfully to the `index_mdversion` .

Since: 2.0

### modulemd_module_add_translation ()

    void
    modulemd_module_add_translation (ModulemdModule *self,
                                     ModulemdTranslation *translation);

#### Parameters

self | This ModulemdModule object. |
translation | A ModulemdTranslation object which is copied into the ModulemdModule object. | [in]

Since: 2.0

### modulemd_module_get_translated_streams ()

    GPtrArray *
    modulemd_module_get_translated_streams
                                   (ModulemdModule *self);

#### Parameters

self | This ModulemdModule object. |

#### Returns

A list of streams for which translations have been added, sorted by stream name.

[transfer container]

Since: 2.0

### modulemd_module_add_obsoletes ()

    void
    modulemd_module_add_obsoletes (ModulemdModule *self,
                                   ModulemdObsoletes *obsoletes);

This function copies the `obsoletes` object into `self` . In addition if `obsoletes` is the newest active obsoletes for existing ModulemdModuleStream in `self` , the stream is upgraded to at least version two and `obsoletes` is associated with it.

#### Parameters

self | This ModulemdModule object. |
obsoletes | A ModulemdObsoletes object which is copied into the ModulemdModule object. | [in]

Since: 2.10

### modulemd_module_add_stream ()

    ModulemdModuleStreamVersionEnum
    modulemd_module_add_stream (ModulemdModule *self,
                                ModulemdModuleStream *stream,
                                ModulemdModuleStreamVersionEnum index_mdversion,
                                GError **error);

This function takes a stream object, upgrades it to index_mdversion if needed (if the module contains active obsoletes for this `stream` it is upgraded to at least version two) and then adds it to the ModulemdModule. If it cannot upgrade it safely or the defaults are not for this module, it will return an appropriate error.

#### Parameters

self | This ModulemdModule object. |
stream | A ModulemdModuleStream object to associate with this ModulemdModule. A stream added to a ModulemdModule must have a module name and stream name set on it or it will be rejected. If the module name does not match this module, it will also be rejected. |
index_mdversion | The ModulemdModuleStreamVersionEnum stream_mdversion of the ModulemdModuleIndex to which `stream` is being added. If the version of `stream` is less than `index_mdversion` , an upgrade to this version will be performed while adding `stream` to `self` . If `stream` already has the same version, it is just copied. When obsoletes is present for `stream` it must be set to at least version two. | [in]
error | A GError containing information about why this function failed. | [out]

#### Returns

The mdversion of the stream that was added, which will be `index_mdversion` unless an error occurred. Returns `MD_MODULESTREAM_VERSION_ERROR` and sets `error` if the module name didn't match, the module and stream names were unset or the stream object couldn't be upgraded successfully to the `index_mdversion` . Returns `MD_MODULESTREAM_VERSION_UNSET` if `stream` was NULL.

Since: 2.0

### modulemd_module_upgrade_streams ()

    gboolean
    modulemd_module_upgrade_streams (ModulemdModule *self,
                                     ModulemdModuleStreamVersionEnum mdversion,
                                     GError **error);

#### Parameters

self | This ModulemdModule object. |
mdversion | The metadata version to upgrade to. |
error | A GError containing the reason a stream failed to upgrade. | [out]

#### Returns

TRUE if all upgrades completed successfully. FALSE and sets `error` if an upgrade error occurs, including attempts to downgrade a stream.

Since: 2.0