## IBusConfigService IBusConfigService — Configuration service back-end. |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    struct              IBusConfigService;
    struct              IBusConfigServiceClass;
    IBusConfigService * ibus_config_service_new             (GDBusConnection *connection);
    void                ibus_config_service_value_changed   (IBusConfigService *config,
                                                             const gchar *section,
                                                             const gchar *name,
                                                             GVariant *value);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----IBusObject
                   +----IBusService
                         +----IBusConfigService

## Description

An IBusConfigService is a base class for other configuration services such as GConf. Currently, directly known sub class is IBusConfigGConf.

IBusConfigServiceClass has following member functions:

- gboolean set_value(IBusConfigService *config, const gchar *section, const gchar *name, const GValue *value, IBusError **error)

  config: | A configure service
  section: | Section name of the configuration option.
  name: | Name of the configuration option.
  value: | GValue that holds the value.
  error: | Error outputs here.
  Returns: | TRUE if succeed; FALSE otherwise.

  Set a value to a configuration option.

- gboolean get_value(IBusConfigService *config, const gchar *section, const gchar *name, GValue *value, IBusError **error)

  config: | A configure service
  section: | Section name of the configuration option.
  name: | Name of the configuration option.
  value: | GValue that holds the value.
  error: | Error outputs here.
  Returns: | TRUE if succeed; FALSE otherwise.

  Get value of a configuration option.

- gboolean unset(IBusConfigService *config, const gchar *section, const gchar *name, IBusError **error)

  config: | A configure service
  section: | Section name of the configuration option.
  name: | Name of the configuration option.
  error: | Error outputs here.
  Returns: | TRUE if succeed; FALSE otherwise.

  Remove an entry to a configuration option.

## Details

### struct IBusConfigService

    struct IBusConfigService;

An opaque data type representing a configure service.

### struct IBusConfigServiceClass

    struct IBusConfigServiceClass {
        /* class members */
        gboolean    (* set_value)   (IBusConfigService    *config,
                                     const gchar          *section,
                                     const gchar          *name,
                                     GVariant             *value,
                                     GError              **error);
        /**
         * get_value:
         * @config: An IBusConfig.
         * @section: section name
         * @name: value name
         *
         * @returns: (transfer full): The value in config associated with section and name.
         *
         */
        GVariant *  (* get_value)   (IBusConfigService    *config,
                                     const gchar          *section,
                                     const gchar          *name,
                                     GError              **error);
        gboolean    (* unset_value) (IBusConfigService    *config,
                                     const gchar          *section,
                                     const gchar          *name,
                                     GError              **error);
        GVariant *  (* get_values)  (IBusConfigService    *config,
                                     const gchar          *section,
                                     GError              **error);
    };

### ibus_config_service_new ()

    IBusConfigService * ibus_config_service_new             (GDBusConnection *connection);

New an IBusConfigService from an GDBusConnection.

`connection` : | An GDBusConnection.
Returns : | A newly allocated IBusConfigServices.

### ibus_config_service_value_changed ()

    void                ibus_config_service_value_changed   (IBusConfigService *config,
                                                             const gchar *section,
                                                             const gchar *name,
                                                             GVariant *value);

Change a value of a configuration option by sending a "ValueChanged" message to IBus service.

`config` : | An IBusConfigService.
`section` : | Section name of the configuration option.
`name` : | Name of the configure option.
`value` : | GVariant that holds the value.