## XklConfigRegistry XklConfigRegistry |

## Synopsis

                        XklConfigRegistryPrivate;
                        XklConfigRegistry;
    gboolean            xkl_config_registry_load            (XklConfigRegistry *config,
                                                             gbooleanif_extras_needed );
    void                (*ConfigItemProcessFunc)            (XklConfigRegistry *config,
                                                             const XklConfigItem *item,
                                                             gpointer data);
    void                (*TwoConfigItemsProcessFunc)        (XklConfigRegistry *config,
                                                             const XklConfigItem *item,
                                                             const XklConfigItem *subitem,
                                                             gpointer data);
    void                xkl_config_registry_foreach_model   (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_layout  (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_layout_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *layout_name,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_option_group
                                                            (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_option  (XklConfigRegistry *config,
                                                             const gchar *option_group_name,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    gboolean            xkl_config_registry_find_model      (XklConfigRegistry *config,
                                                             XklConfigItem *item);
    gboolean            xkl_config_registry_find_layout     (XklConfigRegistry *config,
                                                             XklConfigItem *item);
    gboolean            xkl_config_registry_find_variant    (XklConfigRegistry *config,
                                                             const char *layout_name,
                                                             XklConfigItem *item);
    gboolean            xkl_config_registry_find_option_group
                                                            (XklConfigRegistry *config,
                                                             XklConfigItem *item);
    gboolean            xkl_config_registry_find_option     (XklConfigRegistry *config,
                                                             const gchar *option_group_name,
                                                             XklConfigItem *item);
    void                xkl_config_registry_foreach_country (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_country_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *country_code,
                                                             TwoConfigItemsProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_language
                                                            (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);
    void                xkl_config_registry_foreach_language_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *language_code,
                                                             TwoConfigItemsProcessFuncfunc ,
                                                             gpointer data);

## Object Hierarchy

      GObject
       +----XklConfigRegistry

## Properties

      "engine"                   XklEngine*            : Read / Write / Construct Only

## Description

## Details

### XklConfigRegistryPrivate

    typedef struct _XklConfigRegistryPrivate XklConfigRegistryPrivate;

### XklConfigRegistry

    typedef struct _XklConfigRegistry XklConfigRegistry;

### xkl_config_registry_load ()

    gboolean            xkl_config_registry_load            (XklConfigRegistry *config,
                                                             gbooleanif_extras_needed );

Loads XML configuration registry. The name is taken from X server (for XKB/libxkbfile, from the root window property)

`config` : | the config registry
`Param2` : |
Returns : | TRUE on success

### ConfigItemProcessFunc ()

    void                (*ConfigItemProcessFunc)            (XklConfigRegistry *config,
                                                             const XklConfigItem *item,
                                                             gpointer data);

Callback type used for enumerating keyboard models, layouts, variants, options

`config` : | the config registry
`item` : | the item from registry
`data` : | anything which can be stored into the pointer

### TwoConfigItemsProcessFunc ()

    void                (*TwoConfigItemsProcessFunc)        (XklConfigRegistry *config,
                                                             const XklConfigItem *item,
                                                             const XklConfigItem *subitem,
                                                             gpointer data);

Callback type used for enumerating layouts/variants for countries/languages

`config` : | the config registry
`item` : | the item from registry
`subitem` : | the item from registry
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_model ()

    void                xkl_config_registry_foreach_model   (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard models from the XML configuration registry

`config` : | the config registry
`Param2` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_layout ()

    void                xkl_config_registry_foreach_layout  (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard layouts from the XML configuration registry

`config` : | the config registry
`Param2` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_layout_variant ()

    void                xkl_config_registry_foreach_layout_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *layout_name,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard layout variants from the XML configuration registry

`config` : | the config registry
`layout_name` : | layout name for which variants will be listed
`Param3` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_option_group ()

    void                xkl_config_registry_foreach_option_group
                                                            (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard option groups from the XML configuration registry

`config` : | the config registry
`Param2` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_option ()

    void                xkl_config_registry_foreach_option  (XklConfigRegistry *config,
                                                             const gchar *option_group_name,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard options from the XML configuration registry

`config` : | the config registry
`option_group_name` : | option group name for which variants will be listed
`Param3` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_find_model ()

    gboolean            xkl_config_registry_find_model      (XklConfigRegistry *config,
                                                             XklConfigItem *item);

Loads a keyboard model information from the XML configuration registry.

`config` : | the config registry
`item` : | pointer to a XklConfigItem containing the name of the keyboard model. On successfull return, the descriptions are filled.
Returns : | TRUE if appropriate element was found and loaded

### xkl_config_registry_find_layout ()

    gboolean            xkl_config_registry_find_layout     (XklConfigRegistry *config,
                                                             XklConfigItem *item);

Loads a keyboard layout information from the XML configuration registry.

`config` : | the config registry
`item` : | pointer to a XklConfigItem containing the name of the keyboard layout. On successfull return, the descriptions are filled.
Returns : | TRUE if appropriate element was found and loaded

### xkl_config_registry_find_variant ()

    gboolean            xkl_config_registry_find_variant    (XklConfigRegistry *config,
                                                             const char *layout_name,
                                                             XklConfigItem *item);

Loads a keyboard layout variant information from the XML configuration registry.

`config` : | the config registry
`layout_name` : | name of the parent layout
`item` : | pointer to a XklConfigItem containing the name of the keyboard layout variant. On successfull return, the descriptions are filled.
Returns : | TRUE if appropriate element was found and loaded

### xkl_config_registry_find_option_group ()

    gboolean            xkl_config_registry_find_option_group
                                                            (XklConfigRegistry *config,
                                                             XklConfigItem *item);

Loads a keyboard option group information from the XML configuration registry.

`config` : | the config registry
`item` : | pointer to a XklConfigItem containing the name of the keyboard option group. On successfull return, the descriptions are filled.
Returns : | TRUE if appropriate element was found and loaded

### xkl_config_registry_find_option ()

    gboolean            xkl_config_registry_find_option     (XklConfigRegistry *config,
                                                             const gchar *option_group_name,
                                                             XklConfigItem *item);

Loads a keyboard option information from the XML configuration registry.

`config` : | the config registry
`option_group_name` : | name of the option group
`item` : | pointer to a XklConfigItem containing the name of the keyboard option. On successfull return, the descriptions are filled.
Returns : | TRUE if appropriate element was found and loaded

### xkl_config_registry_foreach_country ()

    void                xkl_config_registry_foreach_country (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates countries for which layouts are available, from the XML configuration registry

`config` : | the config registry
`Param2` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_country_variant ()

    void                xkl_config_registry_foreach_country_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *country_code,
                                                             TwoConfigItemsProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard layout variants for the country, from the XML configuration registry

`config` : | the config registry
`country_code` : | country ISO code for which variants will be listed
`Param3` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_language ()

    void                xkl_config_registry_foreach_language
                                                            (XklConfigRegistry *config,
                                                             ConfigItemProcessFuncfunc ,
                                                             gpointer data);

Enumerates languages for which layouts are available, from the XML configuration registry

`config` : | the config registry
`Param2` : |
`data` : | anything which can be stored into the pointer

### xkl_config_registry_foreach_language_variant ()

    void                xkl_config_registry_foreach_language_variant
                                                            (XklConfigRegistry *config,
                                                             const gchar *language_code,
                                                             TwoConfigItemsProcessFuncfunc ,
                                                             gpointer data);

Enumerates keyboard layout variants for the language, from the XML configuration registry

`config` : | the config registry
`language_code` : | language ISO code for which variants will be listed
`Param3` : |
`data` : | anything which can be stored into the pointer

## Property Details

### The `"engine"` property

      "engine"                   XklEngine*            : Read / Write / Construct Only

XklEngine.