## ide-config-manager ide-config-manager |

## Functions

IdeConfigManager * | ide_config_manager_from_context ()
IdeConfigManager * | ide_config_manager_ref_from_context ()
IdeConfig * | ide_config_manager_get_current ()
IdeConfig * | ide_config_manager_ref_current ()
void | ide_config_manager_set_current ()
IdeConfig * | ide_config_manager_get_config ()
void | ide_config_manager_duplicate ()
void | ide_config_manager_delete ()
void | ide_config_manager_save_async ()
gboolean | ide_config_manager_save_finish ()
gboolean | ide_config_manager_get_ready ()

## Properties

IdeConfig * | current | Read / Write
gchar * | current-display-name | Read
gboolean | ready | Read

## Signals

void | invalidate | Run Last

## Types and Values

#define | IDE_TYPE_CONFIG_MANAGER
| IdeConfigManager

## Object Hierarchy

        GObject
        ╰── IdeObject
            ╰── IdeConfigManager

## Implemented Interfaces

IdeConfigManager implements GListModel, GAsyncInitable and GActionGroup.

## Description

## Functions

### ide_config_manager_from_context ()

    IdeConfigManager *
    ide_config_manager_from_context (IdeContext *context);

#### Parameters

context | a IdeContext |

#### Returns

an IdeConfigManager.

[transfer none]

Since: 3.32

### ide_config_manager_ref_from_context ()

    IdeConfigManager *
    ide_config_manager_ref_from_context (IdeContext *context);

Thread-safe version of `ide_config_manager_from_context()`.

#### Parameters

context | an IdeContext |

#### Returns

an IdeConfigManager.

[transfer full]

Since: 3.32

### ide_config_manager_get_current ()

    IdeConfig *
    ide_config_manager_get_current (IdeConfigManager *self);

Gets the current configuration to use for building.

Many systems allow you to pass a configuration in instead of relying on the default configuration. This gets the default configuration that various background items might use, such as tags builders which need to discover settings.

#### Parameters

self | An IdeConfigManager |

#### Returns

An IdeConfig.

[transfer none]

Since: 3.32

### ide_config_manager_ref_current ()

    IdeConfig *
    ide_config_manager_ref_current (IdeConfigManager *self);

Gets the current configuration to use for building.

Many systems allow you to pass a configuration in instead of relying on the default configuration. This gets the default configuration that various background items might use, such as tags builders which need to discover settings.

#### Parameters

self | An IdeConfigManager |

#### Returns

An IdeConfig.

[transfer full]

Since: 3.32

### ide_config_manager_set_current ()

    void
    ide_config_manager_set_current (IdeConfigManager *self,
                                    IdeConfig *configuration);

### ide_config_manager_get_config ()

    IdeConfig *
    ide_config_manager_get_config (IdeConfigManager *self,
                                   const gchar *id);

Gets the IdeConfig by id. See `ide_config_get_id()`.

#### Parameters

self | An IdeConfigManager |
id | The string identifier of the configuration |

#### Returns

An IdeConfig or `NULL` if the configuration could not be found.

[transfer none][nullable]

Since: 3.32

### ide_config_manager_duplicate ()

    void
    ide_config_manager_duplicate (IdeConfigManager *self,
                                  IdeConfig *config);

### ide_config_manager_delete ()

    void
    ide_config_manager_delete (IdeConfigManager *self,
                               IdeConfig *config);

### ide_config_manager_save_async ()

    void
    ide_config_manager_save_async (IdeConfigManager *self,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);

### ide_config_manager_save_finish ()

    gboolean
    ide_config_manager_save_finish (IdeConfigManager *self,
                                    GAsyncResult *result,
                                    GError **error);

### ide_config_manager_get_ready ()

    gboolean
    ide_config_manager_get_ready (IdeConfigManager *self);

This returns `TRUE` if the current configuration is ready for usage.

This is equivalent to checking the ready property of the current configuration. It allows consumers to not need to track changes to the current configuration.

#### Parameters

self | an IdeConfigManager |

#### Returns

`TRUE` if the current configuration is ready for usage; otherwise `FALSE`.

Since: 3.32

## Types and Values

### IDE_TYPE_CONFIG_MANAGER

    #define IDE_TYPE_CONFIG_MANAGER (ide_config_manager_get_type())

### IdeConfigManager

    typedef struct _IdeConfigManager IdeConfigManager;

## Property Details

### The `“current”` property

      “current”                  IdeConfig *

The current configuration for the context.

Owner: IdeConfigManager

Flags: Read / Write

### The `“current-display-name”` property

      “current-display-name”     gchar *

The display name of the current configuration.

Owner: IdeConfigManager

Flags: Read

Default value: NULL

### The `“ready”` property

      “ready”                    gboolean

If the current configuration is ready.

Owner: IdeConfigManager

Flags: Read

Default value: FALSE

## Signal Details

### The `“invalidate”` signal

    void
    user_function (IdeConfigManager *self,
                   gpointer          user_data)

This signal is emitted any time a new configuration is selected or the currently selected configurations state changes.

#### Parameters

self | an IdeConfigManager |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.32