## IBusEngineDesc IBusEngineDesc — Input method engine description data. |

## Stability Level

Stable, unless otherwise indicated

## Functions

IBusEngineDesc * | ibus_engine_desc_new ()
IBusEngineDesc * | ibus_engine_desc_new_varargs ()
IBusEngineDesc * | ibus_engine_desc_new_from_xml_node ()
const gchar * | ibus_engine_desc_get_name ()
const gchar * | ibus_engine_desc_get_longname ()
const gchar * | ibus_engine_desc_get_description ()
const gchar * | ibus_engine_desc_get_language ()
const gchar * | ibus_engine_desc_get_license ()
const gchar * | ibus_engine_desc_get_author ()
const gchar * | ibus_engine_desc_get_icon ()
const gchar * | ibus_engine_desc_get_layout ()
const gchar * | ibus_engine_desc_get_layout_variant ()
const gchar * | ibus_engine_desc_get_layout_option ()
guint | ibus_engine_desc_get_rank ()
const gchar * | ibus_engine_desc_get_hotkeys ()
const gchar * | ibus_engine_desc_get_symbol ()
const gchar * | ibus_engine_desc_get_setup ()
const gchar * | ibus_engine_desc_get_version ()
const gchar * | ibus_engine_desc_get_textdomain ()
const gchar * | ibus_engine_desc_get_icon_prop_key ()
void | ibus_engine_desc_output ()

## Properties

char * | author | Read / Write / Construct Only
char * | description | Read / Write / Construct Only
char * | hotkeys | Read / Write / Construct Only
char * | icon | Read / Write / Construct Only
char * | icon-prop-key | Read / Write / Construct Only
char * | language | Read / Write / Construct Only
char * | layout | Read / Write / Construct Only
char * | layout-option | Read / Write / Construct Only
char * | layout-variant | Read / Write / Construct Only
char * | license | Read / Write / Construct Only
char * | longname | Read / Write / Construct Only
char * | name | Read / Write / Construct Only
guint | rank | Read / Write / Construct Only
char * | setup | Read / Write / Construct Only
char * | symbol | Read / Write / Construct Only
char * | textdomain | Read / Write / Construct Only
char * | version | Read / Write / Construct Only

## Types and Values

struct | IBusEngineDesc

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── IBusObject
                ╰── IBusSerializable
                    ╰── IBusEngineDesc

## Description

An IBusEngineDesc stores description data of IBusEngine. The description data can either be passed to `ibus_engine_desc_new()`, or loaded from an XML node through `ibus_engine_desc_new_from_xml_node()` to construct IBusEngineDesc.

However, the recommended way to load engine description data is using `ibus_component_new_from_file()` to load a component file, which also includes engine description data.

see_also: IBusComponent, IBusEngine

## Functions

### ibus_engine_desc_new ()

    IBusEngineDesc *
    ibus_engine_desc_new (const gchar *name,
                          const gchar *longname,
                          const gchar *description,
                          const gchar *language,
                          const gchar *license,
                          const gchar *author,
                          const gchar *icon,
                          const gchar *layout);

Creates a new IBusEngineDesc. If layout is "default", the engine inherits the current layout and does not change the layout. The layouts "default" and "" are same. E.g. If you switch JP XKB engine and an input method engine (IME), the IME inherits the JP layout.

#### Parameters

name | Name of the engine. |
longname | Long name of the input method engine. |
description | Input method engine description. |
language | Language (e.g. zh, jp) supported by this input method engine. |
license | License of the input method engine. |
author | Author of the input method engine. |
icon | Icon file of this engine. |
layout | Keyboard layout |

#### Returns

A newly allocated IBusEngineDesc.

### ibus_engine_desc_new_varargs ()

    IBusEngineDesc *
    ibus_engine_desc_new_varargs (const gchar *first_property_name,
                                  ...);

Creates a new IBusEngineDesc. `ibus_engine_desc_new_varargs()` supports the va_list format. name property is required. e.g. ibus_engine_desc_new_varargs("name", "ibus-foo", "language", "us", NULL) If layout is "default", the engine inherits the current layout and does not change the layout. The layouts "default" and "" are same. E.g. If you switch JP XKB engine and an input method engine (IME), the IME inherits the JP layout.

#### Parameters

first_property_name | Name of the first property. |
... | the NULL-terminated arguments of the properties and values. |

#### Returns

A newly allocated IBusEngineDesc.

### ibus_engine_desc_new_from_xml_node ()

    IBusEngineDesc *
    ibus_engine_desc_new_from_xml_node (XMLNode *node);

Creates a new IBusEngineDesc from an XML node.

This function is called by `ibus_component_new_from_file()`, so developers normally do not need to call it directly.

#### Parameters

node | An XML node |

#### Returns

A newly allocated IBusEngineDesc that contains description from `node` .

### ibus_engine_desc_get_name ()

    const gchar *
    ibus_engine_desc_get_name (IBusEngineDesc *info);

Gets the name property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

name property in IBusEngineDesc

### ibus_engine_desc_get_longname ()

    const gchar *
    ibus_engine_desc_get_longname (IBusEngineDesc *info);

Gets the longname property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

longname property in IBusEngineDesc

### ibus_engine_desc_get_description ()

    const gchar *
    ibus_engine_desc_get_description (IBusEngineDesc *info);

Gets the description property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

description property in IBusEngineDesc

### ibus_engine_desc_get_language ()

    const gchar *
    ibus_engine_desc_get_language (IBusEngineDesc *info);

Gets the language property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

language property in IBusEngineDesc

### ibus_engine_desc_get_license ()

    const gchar *
    ibus_engine_desc_get_license (IBusEngineDesc *info);

Gets the license property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

license property in IBusEngineDesc

### ibus_engine_desc_get_author ()

    const gchar *
    ibus_engine_desc_get_author (IBusEngineDesc *info);

Gets the author property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

author property in IBusEngineDesc

### ibus_engine_desc_get_icon ()

    const gchar *
    ibus_engine_desc_get_icon (IBusEngineDesc *info);

Gets the icon property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

icon property in IBusEngineDesc

### ibus_engine_desc_get_layout ()

    const gchar *
    ibus_engine_desc_get_layout (IBusEngineDesc *info);

Gets the layout property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

layout property in IBusEngineDesc

### ibus_engine_desc_get_layout_variant ()

    const gchar *
    ibus_engine_desc_get_layout_variant (IBusEngineDesc *info);

Gets the keyboard variant property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

keyboard variant property in IBusEngineDesc

### ibus_engine_desc_get_layout_option ()

    const gchar *
    ibus_engine_desc_get_layout_option (IBusEngineDesc *info);

Gets the keyboard option property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

keyboard option property in IBusEngineDesc

### ibus_engine_desc_get_rank ()

    guint
    ibus_engine_desc_get_rank (IBusEngineDesc *info);

Gets the rank property in IBusEngineDesc.

#### Parameters

info | An IBusEngineDesc |

#### Returns

rank property in IBusEngineDesc

### ibus_engine_desc_get_hotkeys ()

    const gchar *
    ibus_engine_desc_get_hotkeys (IBusEngineDesc *info);

Gets the hotkeys property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

hotkeys property in IBusEngineDesc

### ibus_engine_desc_get_symbol ()

    const gchar *
    ibus_engine_desc_get_symbol (IBusEngineDesc *info);

Gets the symbol property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

symbol property in IBusEngineDesc

### ibus_engine_desc_get_setup ()

    const gchar *
    ibus_engine_desc_get_setup (IBusEngineDesc *info);

Gets the setup property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

setup property in IBusEngineDesc

### ibus_engine_desc_get_version ()

    const gchar *
    ibus_engine_desc_get_version (IBusEngineDesc *info);

Gets the version property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

version in IBusEngineDesc

### ibus_engine_desc_get_textdomain ()

    const gchar *
    ibus_engine_desc_get_textdomain (IBusEngineDesc *info);

Gets the textdomain property in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

textdomain in IBusEngineDesc

### ibus_engine_desc_get_icon_prop_key ()

    const gchar *
    ibus_engine_desc_get_icon_prop_key (IBusEngineDesc *info);

Gets the key of IBusProperty to load the panel icon dynamically in IBusEngineDesc. It should not be freed.

#### Parameters

info | An IBusEngineDesc |

#### Returns

IBusProperty.key for dynamic panel icon in IBusEngineDesc

### ibus_engine_desc_output ()

    void
    ibus_engine_desc_output (IBusEngineDesc *info,
                             GString *output,
                             gint indent);

Output XML-formatted input method engine description. The result will be append to GString specified in `output` .

#### Parameters

info | An IBusEngineDesc |
output | XML-formatted Input method engine description. |
indent | Number of indent (showed as 4 spaces). |

## Types and Values

### struct IBusEngineDesc

    struct IBusEngineDesc;

Input method engine description data. You can get extended values with g_object_get_properties.

## Property Details

### The `“author”` property

      “author”                   char *

The author of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“description”` property

      “description”              char *

The description of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“hotkeys”` property

      “hotkeys”                  char *

The hotkeys of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“icon”` property

      “icon”                     char *

The icon of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: "ibus-engine"

### The `“icon-prop-key”` property

      “icon-prop-key”            char *

The key of IBusProperty to change panel icon dynamically.

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“language”` property

      “language”                 char *

The language of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“layout”` property

      “layout”                   char *

The layout of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: "us"

### The `“layout-option”` property

      “layout-option”            char *

The keyboard option of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“layout-variant”` property

      “layout-variant”           char *

The keyboard variant of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“license”` property

      “license”                  char *

The license of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“longname”` property

      “longname”                 char *

The longname of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“name”` property

      “name”                     char *

The name of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: NULL

### The `“rank”` property

      “rank”                     guint

The rank of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: 0

### The `“setup”` property

      “setup”                    char *

The exec lists of the engine setup command

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“symbol”` property

      “symbol”                   char *

The symbol chars of engine description instead of icon image

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“textdomain”` property

      “textdomain”               char *

The textdomain of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""

### The `“version”` property

      “version”                  char *

The version number of engine description

Owner: IBusEngineDesc

Flags: Read / Write / Construct Only

Default value: ""