## Modulemd.Profile Modulemd.Profile — Stores profile information for a module stream. |

## Stability Level

Stable, unless otherwise indicated

## Functions

gboolean | modulemd_profile_equals ()
ModulemdProfile * | modulemd_profile_new ()
ModulemdProfile * | modulemd_profile_copy ()
const gchar * | modulemd_profile_get_name ()
void | modulemd_profile_set_description ()
const gchar * | modulemd_profile_get_description ()
void | modulemd_profile_set_default ()
void | modulemd_profile_unset_default ()
gboolean | modulemd_profile_is_default ()
void | modulemd_profile_add_rpm ()
void | modulemd_profile_remove_rpm ()
void | modulemd_profile_clear_rpms ()
GStrv | modulemd_profile_get_rpms_as_strv ()

## Properties

char * | name | Read / Write / Construct Only

## Types and Values

#define | MODULEMD_TYPE_PROFILE
| ModulemdProfile

## Object Hierarchy

        GObject
        ╰── ModulemdProfile

## Description

## Functions

### modulemd_profile_equals ()

    gboolean
    modulemd_profile_equals (ModulemdProfile *self_1,
                             ModulemdProfile *self_2);

#### Parameters

self_1 | A ModulemdProfile object. |
self_2 | A ModulemdProfile object. |

#### Returns

TRUE, if all elements of `self_1` and `self_2` are equal. FALSE, otherwise.

Since: 2.2

### modulemd_profile_new ()

    ModulemdProfile *
    modulemd_profile_new (const gchar *name);

#### Parameters

name | The name of this profile. | [not nullable]

#### Returns

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

[transfer full]

Since: 2.0

### modulemd_profile_copy ()

    ModulemdProfile *
    modulemd_profile_copy (ModulemdProfile *self);

Create a copy of this ModulemdProfile object.

#### Parameters

self | This ModulemdProfile object. |

#### Returns

The copied ModulemdProfile object.

[transfer full]

Since: 2.0

### modulemd_profile_get_name ()

    const gchar *
    modulemd_profile_get_name (ModulemdProfile *self);

#### Parameters

self | This ModulemdProfile object. |

#### Returns

The name of this profile.

[transfer none]

Since: 2.0

### modulemd_profile_set_description ()

    void
    modulemd_profile_set_description (ModulemdProfile *self,
                                      const gchar *description);

#### Parameters

self | This ModulemdProfile object. |
description | The untranslated description of this profile. | [nullable]

Since: 2.0

### modulemd_profile_get_description ()

    const gchar *
    modulemd_profile_get_description (ModulemdProfile *self,
                                      const gchar *locale);

#### Parameters

self | This ModulemdProfile object. |
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 description of this profile translated into the language specified by the locale if it is available, otherwise it returns the C.UTF-8 original. Translation information is managed by the ModulemdTranslation and ModulemdTranslationEntry objects.

[transfer none]

Since: 2.0

### modulemd_profile_set_default ()

    void
    modulemd_profile_set_default (ModulemdProfile *self);

Calling this function indicates that this profile should be considered one of the default profiles for the associated stream.

#### Parameters

self | This ModulemdProfile object. |

Since: 2.10

### modulemd_profile_unset_default ()

    void
    modulemd_profile_unset_default (ModulemdProfile *self);

Calling this function indicates that this profile should not be considered one of the default profiles for this stream. This is the normal state of a ModulemdProfile and thus this function is usually unnecessary. It has no effect if `self` is already non-default.

#### Parameters

self | This ModulemdProfile object. |

Since: 2.10

### modulemd_profile_is_default ()

    gboolean
    modulemd_profile_is_default (ModulemdProfile *self);

#### Parameters

self | This ModulemdProfile object. |

#### Returns

TRUE if this profile is a default for the associated stream. FALSE otherwise.

Since: 2.10

### modulemd_profile_add_rpm ()

    void
    modulemd_profile_add_rpm (ModulemdProfile *self,
                              const gchar *rpm);

#### Parameters

self | This ModulemdProfile object. |
rpm | The name of a binary RPM that should be installed when this profile is selected for installation. |

Since: 2.0

### modulemd_profile_remove_rpm ()

    void
    modulemd_profile_remove_rpm (ModulemdProfile *self,
                                 const gchar *rpm);

#### Parameters

self | This ModulemdProfile object. |
rpm | The name of a binary RPM to remove from this profile. |

Since: 2.0

### modulemd_profile_clear_rpms ()

    void
    modulemd_profile_clear_rpms (ModulemdProfile *self);

Remove all RPMs from this profile.

#### Parameters

self | This ModulemdProfile object. |

Since: 2.5

### modulemd_profile_get_rpms_as_strv ()

    GStrv
    modulemd_profile_get_rpms_as_strv (ModulemdProfile *self);

[rename-to modulemd_profile_get_rpms]

#### Parameters

self | This ModulemdProfile object. |

#### Returns

An ordered GStrv list of binary RPMS that would be installed when this profile is selected for installation.

[transfer full]

Since: 2.0

## Types and Values

### MODULEMD_TYPE_PROFILE

    #define MODULEMD_TYPE_PROFILE (modulemd_profile_get_type ())

### ModulemdProfile

    typedef struct _ModulemdProfile ModulemdProfile;

## Property Details

### The `“name”` property

      “name”                     char *

The name of this profile.

Owner: ModulemdProfile

Flags: Read / Write / Construct Only

Default value: "__PROFILE_NAME_UNSET__"