## Modulemd.Dependencies Modulemd.Dependencies — Object to represent build-time and runtime dependencies of a module stream. |

## Stability Level

Stable, unless otherwise indicated

## Functions

ModulemdDependencies * | modulemd_dependencies_new ()
gboolean | modulemd_dependencies_equals ()
ModulemdDependencies * | modulemd_dependencies_copy ()
void | modulemd_dependencies_add_buildtime_stream ()
void | modulemd_dependencies_set_empty_buildtime_dependencies_for_module ()
void | modulemd_dependencies_clear_buildtime_dependencies ()
GStrv | modulemd_dependencies_get_buildtime_modules_as_strv ()
GStrv | modulemd_dependencies_get_buildtime_streams_as_strv ()
void | modulemd_dependencies_add_runtime_stream ()
void | modulemd_dependencies_set_empty_runtime_dependencies_for_module ()
void | modulemd_dependencies_clear_runtime_dependencies ()
GStrv | modulemd_dependencies_get_runtime_modules_as_strv ()
GStrv | modulemd_dependencies_get_runtime_streams_as_strv ()

## Types and Values

#define | MODULEMD_TYPE_DEPENDENCIES
| ModulemdDependencies

## Object Hierarchy

        GObject
        ╰── ModulemdDependencies

## Description

## Functions

### modulemd_dependencies_new ()

    ModulemdDependencies *
    modulemd_dependencies_new (void);

#### Returns

A newly-allocated ModulemdDependencies object. This object must be freed with `g_object_unref()`.

[transfer full]

Since: 2.0

### modulemd_dependencies_equals ()

    gboolean
    modulemd_dependencies_equals (ModulemdDependencies *self_1,
                                  ModulemdDependencies *self_2);

Check if `self_1` and `self_2` are equal objects.

#### Parameters

self_1 | A ModulemdDependencies object. |
self_2 | A ModulemdDependencies object. |

#### Returns

TRUE, if the're equal. FALSE, otherwise.

Since: 2.2

### modulemd_dependencies_copy ()

    ModulemdDependencies *
    modulemd_dependencies_copy (ModulemdDependencies *self);

Create a copy of this ModulemdDependencies object.

#### Parameters

self | This ModulemdDependencies object. |

#### Returns

The copied ModulemdDependencies object.

[transfer full]

Since: 2.0

### modulemd_dependencies_add_buildtime_stream ()

    void
    modulemd_dependencies_add_buildtime_stream
                                   (ModulemdDependencies *self,
                                    const gchar *module_name,
                                    const gchar *module_stream);

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).

#### Parameters

self | This ModulemdDependencies object. |
module_name | The name of the module to depend on. |
module_stream | The name of the module stream to depend on. |

Since: 2.0

### modulemd_dependencies_set_empty_buildtime_dependencies_for_module ()

    void
    modulemd_dependencies_set_empty_buildtime_dependencies_for_module
                                   (ModulemdDependencies *self,
                                    const gchar *module_name);

Adds a module and inserts an empty list for it as buildtime dependency.

#### Parameters

self | This ModulemdDependencies object. |
module_name | The name of the module to add dependencies on. |

Since: 2.0

### modulemd_dependencies_clear_buildtime_dependencies ()

    void
    modulemd_dependencies_clear_buildtime_dependencies
                                   (ModulemdDependencies *self);

Remove all buildtime dependencies from this ModulemdDependencies object.

#### Parameters

self | This ModulemdDependencies object. |

Since: 2.5

### modulemd_dependencies_get_buildtime_modules_as_strv ()

    GStrv
    modulemd_dependencies_get_buildtime_modules_as_strv
                                   (ModulemdDependencies *self);

[rename-to modulemd_dependencies_get_buildtime_modules]

#### Parameters

self | This ModulemdDependencies object. |

#### Returns

An ordered GStrv list of module names of build-time dependencies.

[transfer full]

Since: 2.0

### modulemd_dependencies_get_buildtime_streams_as_strv ()

    GStrv
    modulemd_dependencies_get_buildtime_streams_as_strv
                                   (ModulemdDependencies *self,
                                    const gchar *module);

[rename-to modulemd_dependencies_get_buildtime_streams]

#### Parameters

self | This ModulemdDependencies object. |
module | The name of the module. |

#### Returns

An ordered GStrv list of module streams associated with the specified module that are required at build-time.

[transfer full][nullable]

Since: 2.0

### modulemd_dependencies_add_runtime_stream ()

    void
    modulemd_dependencies_add_runtime_stream
                                   (ModulemdDependencies *self,
                                    const gchar *module_name,
                                    const gchar *module_stream);

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).

#### Parameters

self | This ModulemdDependencies object. |
module_name | The name of the module to depend on. |
module_stream | The name of the module stream to depend on. |

Since: 2.0

### modulemd_dependencies_set_empty_runtime_dependencies_for_module ()

    void
    modulemd_dependencies_set_empty_runtime_dependencies_for_module
                                   (ModulemdDependencies *self,
                                    const gchar *module_name);

Adds a module and inserts an empty list for it as runtime dependency.

#### Parameters

self | This ModulemdDependencies object. |
module_name | The name of the module to add dependencies on. |

Since: 2.0

### modulemd_dependencies_clear_runtime_dependencies ()

    void
    modulemd_dependencies_clear_runtime_dependencies
                                   (ModulemdDependencies *self);

Remove all runtime dependencies from this ModulemdDependencies object.

#### Parameters

self | This ModulemdDependencies object. |

Since: 2.5

### modulemd_dependencies_get_runtime_modules_as_strv ()

    GStrv
    modulemd_dependencies_get_runtime_modules_as_strv
                                   (ModulemdDependencies *self);

[rename-to modulemd_dependencies_get_runtime_modules]

#### Parameters

self | This ModulemdDependencies object. |

#### Returns

An ordered GStrv list of module names of run-time dependencies.

[transfer full]

Since: 2.0

### modulemd_dependencies_get_runtime_streams_as_strv ()

    GStrv
    modulemd_dependencies_get_runtime_streams_as_strv
                                   (ModulemdDependencies *self,
                                    const gchar *module);

[rename-to modulemd_dependencies_get_runtime_streams]

#### Parameters

self | This ModulemdDependencies object. |
module | The name of the module. |

#### Returns

An ordered GStrv list of module streams associated with the specified module that are required at run-time.

[transfer full][nullable]

Since: 2.0

## Types and Values

### MODULEMD_TYPE_DEPENDENCIES

    #define MODULEMD_TYPE_DEPENDENCIES (modulemd_dependencies_get_type ())

### ModulemdDependencies

    typedef struct _ModulemdDependencies ModulemdDependencies;