## IBusConfig IBusConfig — IBus engine configuration module. |

## Functions

IBusConfig * | ibus_config_new ()
void | ibus_config_new_async ()
IBusConfig * | ibus_config_new_async_finish ()
GVariant * | ibus_config_get_value ()
void | ibus_config_get_value_async ()
GVariant * | ibus_config_get_value_async_finish ()
GVariant * | ibus_config_get_values ()
void | ibus_config_get_values_async ()
GVariant * | ibus_config_get_values_async_finish ()
gboolean | ibus_config_set_value ()
void | ibus_config_set_value_async ()
gboolean | ibus_config_set_value_async_finish ()
gboolean | ibus_config_unset ()
gboolean | ibus_config_watch ()
gboolean | ibus_config_unwatch ()

## Signals

void | value-changed | Run Last

## Types and Values

struct | IBusConfig

## Object Hierarchy

        GObject
        ╰── GDBusProxy
            ╰── IBusProxy
                ╰── IBusConfig

## Implemented Interfaces

IBusConfig implements GDBusInterface, GInitable and GAsyncInitable.

## Description

An IBusConfig provides engine configuration methods such as get and set the configure settings to configuration file.

Currently, IBusConfig supports gconf.

## Functions

### ibus_config_new ()

    IBusConfig *
    ibus_config_new (GDBusConnection *connection,
                     GCancellable *cancellable,
                     GError **error);

Create a new IBusConfig from existing GDBusConnection.

#### Parameters

connection | A GDBusConnection. |
cancellable | A GCancellable or `NULL`. |
error | Return location for error or `NULL`. |

#### Returns

A newly allocated IBusConfig corresponding to `connection` .

### ibus_config_new_async ()

    void
    ibus_config_new_async (GDBusConnection *connection,
                           GCancellable *cancellable,
                           GAsyncReadyCallback callback,
                           gpointer user_data);

New an IBusConfig asynchronously.

#### Parameters

connection | An GDBusConnection. |
cancellable | A GCancellable or `NULL`. |
callback | A GAsyncReadyCallback to call when the request is satisfied. The callback should not be `NULL`. |
user_data | The data to pass to callback. |

### ibus_config_new_async_finish ()

    IBusConfig *
    ibus_config_new_async_finish (GAsyncResult *res,
                                  GError **error);

Finishes an operation started with `ibus_config_new_async()`.

#### Parameters

res | A GAsyncResult obtained from the GAsyncReadyCallback pass to `ibus_config_new_async()`. |
error | Return location for error or `NULL`. |

#### Returns

A newly allocated IBusConfig.

### ibus_config_get_value ()

    GVariant *
    ibus_config_get_value (IBusConfig *config,
                           const gchar *section,
                           const gchar *name);

Get the value of a configuration option synchronously.

GConf stores configure options in a tree-like structure, and the IBus related setting is at /desktop/ibus, thus, `section` here is a path from there, while `name` is the key of that configuration option.

ibus-chewing, for example, stores its setting in /desktop/ibus/engine/Chewing, so the section name for it is "engine/Chewing". See also: `ibus_config_set_value()`.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
name | Name of the configure option. |

#### Returns

A GVariant or `NULL`. Free with `g_variant_unref()`.

### ibus_config_get_value_async ()

    void
    ibus_config_get_value_async (IBusConfig *config,
                                 const gchar *section,
                                 const gchar *name,
                                 gint timeout_ms,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);

Get the value of a configuration option asynchronously.

See also: `ibus_config_get_value()`.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
name | Name of the configure option. |
timeout_ms | The timeout in milliseconds or -1 to use the default timeout. |
cancellable | A GCancellable or `NULL`. |
callback | Callback function to invoke when the return value is ready. |
user_data | The data to pass to callback. |

### ibus_config_get_value_async_finish ()

    GVariant *
    ibus_config_get_value_async_finish (IBusConfig *config,
                                        GAsyncResult *result,
                                        GError **error);

Finish get value of a configuration option.

#### Parameters

config | A IBusConfig. |
result | A GAsyncResult. |
error | Return location for error or `NULL`. |

#### Returns

A GVariant or `NULL` if error is set. Free with `g_variant_unref()`.

See also: `ibus_config_get_value_async()`.

### ibus_config_get_values ()

    GVariant *
    ibus_config_get_values (IBusConfig *config,
                            const gchar *section);

Get all values in a section synchronously.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |

#### Returns

A GVariant or `NULL`. Free with `g_variant_unref()`.

See also: `ibus_config_set_value()`.

### ibus_config_get_values_async ()

    void
    ibus_config_get_values_async (IBusConfig *config,
                                  const gchar *section,
                                  gint timeout_ms,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Get all values in a section asynchronously.

See also: `ibus_config_get_values()`.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
timeout_ms | The timeout in milliseconds or -1 to use the default timeout. |
cancellable | A GCancellable or `NULL`. |
callback | Callback function to invoke when the return value is ready. |
user_data | The data to pass to callback. |

### ibus_config_get_values_async_finish ()

    GVariant *
    ibus_config_get_values_async_finish (IBusConfig *config,
                                         GAsyncResult *result,
                                         GError **error);

Finish get values in a section.

#### Parameters

config | A IBusConfig. |
result | A GAsyncResult. |
error | Return location for error or `NULL`. |

#### Returns

A GVariant or `NULL` if error is set. Free with `g_variant_unref()`.

See also: `ibus_config_get_values_async()`.

### ibus_config_set_value ()

    gboolean
    ibus_config_set_value (IBusConfig *config,
                           const gchar *section,
                           const gchar *name,
                           GVariant *value);

Set the value of a configuration option synchronously.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
name | Name of the configure option its self. |
value | A GVariant that holds the value. If the value is floating, the function takes ownership of it. |

#### Returns

`TRUE` if succeed; `FALSE` otherwise.

See also: `ibus_config_get_value()`.

### ibus_config_set_value_async ()

    void
    ibus_config_set_value_async (IBusConfig *config,
                                 const gchar *section,
                                 const gchar *name,
                                 GVariant *value,
                                 gint timeout_ms,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);

Set the value of a configuration option asynchronously.

See also: `ibus_config_set_value()`.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
name | Name of the configure option. |
value | A GVariant that holds the value. If the value is floating, the function takes ownership of it. |
timeout_ms | The timeout in milliseconds or -1 to use the default timeout. |
cancellable | A GCancellable or `NULL`. |
callback | Callback function to invoke when the return value is ready. |
user_data | The data to pass to callback. |

### ibus_config_set_value_async_finish ()

    gboolean
    ibus_config_set_value_async_finish (IBusConfig *config,
                                        GAsyncResult *result,
                                        GError **error);

Finish set value of a configuration option.

#### Parameters

config | A IBusConfig. |
result | A GAsyncResult. |
error | Return location for error or `NULL`. |

#### Returns

`TRUE` or `FALSE` if error is set.

See also: `ibus_config_set_value_async()`.

### ibus_config_unset ()

    gboolean
    ibus_config_unset (IBusConfig *config,
                       const gchar *section,
                       const gchar *name);

Remove an entry of a configuration option.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. |
name | Name of the configure option its self. |

#### Returns

`TRUE` if succeed; `FALSE` otherwise.

See also: `ibus_config_get_value()`.

### ibus_config_watch ()

    gboolean
    ibus_config_watch (IBusConfig *config,
                       const gchar *section,
                       const gchar *name);

Subscribe to the configuration option change notification.

Until this function is called, every change will be notified to the client through “value-changed” signal. Clients should call `ibus_config_watch()` with the sections they are interested in, to reduce the number of D-Bus messages.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. | [allow-none]
name | Name of the configure option its self. | [allow-none]

#### Returns

`TRUE` if succeed; `FALSE` otherwise.

See also: `ibus_config_unwatch()`.

### ibus_config_unwatch ()

    gboolean
    ibus_config_unwatch (IBusConfig *config,
                         const gchar *section,
                         const gchar *name);

Unsubscribe from the configuration option change notification.

#### Parameters

config | An IBusConfig |
section | Section name of the configuration option. | [allow-none]
name | Name of the configure option its self. | [allow-none]

#### Returns

`TRUE` if succeed; `FALSE` otherwise.

See also: ibus_config_watch.

## Types and Values

### struct IBusConfig

    struct IBusConfig;

An opaque data type representing an IBusConfig.

## Signal Details

### The `“value-changed”` signal

    void
    user_function (IBusConfig *config,
                   char       *section,
                   char       *name,
                   GVariant   *value,
                   gpointer    user_data)

Emitted when configuration value is changed.

Argument `user_data` is ignored in this function.

#### Parameters

config | An IBusConfig. |
section | Section name. |
name | Name of the property. |
value | Value. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last