## 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 ()
void | ibus_engine_desc_output ()

## Properties

gchar * | author | Read / Write / Construct Only
gchar * | description | Read / Write / Construct Only
gchar * | hotkeys | Read / Write / Construct Only
gchar * | icon | Read / Write / Construct Only
gchar * | language | Read / Write / Construct Only
gchar * | layout | Read / Write / Construct Only
gchar * | layout-option | Read / Write / Construct Only
gchar * | layout-variant | Read / Write / Construct Only
gchar * | license | Read / Write / Construct Only
gchar * | longname | Read / Write / Construct Only
gchar * | name | Read / Write / Construct Only
guint | rank | Read / Write / Construct Only
gchar * | setup | Read / Write / Construct Only
gchar * | symbol | Read / Write / Construct Only
gchar * | textdomain | Read / Write / Construct Only
gchar * | 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);

New a IBusEngineDesc.

#### 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,
                                  ...);

New a 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)

#### Parameters

first_property_name | Name of the first property. |

#### Returns

### ibus_engine_desc_new_from_xml_node ()

    IBusEngineDesc *
    ibus_engine_desc_new_from_xml_node (XMLNode *node);

New a 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

Return 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);

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

#### Parameters

info | An IBusEngineDesc |

#### Returns

textdomain 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. 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 layout_variant: Keyboard variant layout_option: Keyboard option rank: Preference rank among engines, the highest ranked IME will put in the front. hotkeys: One or more hotkeys for switching to this engine, separated by semi-colon. setup: Exec lists of the engine setup command. version: Version number of the input method engine. textdomain: Domain name for `dgettext()`

## Property Details

### The `“author”` property

      “author”                   gchar *

The author of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“description”` property

      “description”              gchar *

The description of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“hotkeys”` property

      “hotkeys”                  gchar *

The hotkeys of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“icon”` property

      “icon”                     gchar *

The icon of engine description

Flags: Read / Write / Construct Only

Default value: "ibus-engine"

### The `“language”` property

      “language”                 gchar *

The language of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“layout”` property

      “layout”                   gchar *

The layout of engine description

Flags: Read / Write / Construct Only

Default value: "us"

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

      “layout-option”            gchar *

The keyboard option of engine description

Flags: Read / Write / Construct Only

Default value: ""

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

      “layout-variant”           gchar *

The keyboard variant of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“license”` property

      “license”                  gchar *

The license of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“longname”` property

      “longname”                 gchar *

The longname of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“name”` property

      “name”                     gchar *

The name of engine description

Flags: Read / Write / Construct Only

Default value: NULL

### The `“rank”` property

      “rank”                     guint

The rank of engine description

Flags: Read / Write / Construct Only

Default value: 0

### The `“setup”` property

      “setup”                    gchar *

The exec lists of the engine setup command

Flags: Read / Write / Construct Only

Default value: ""

### The `“symbol”` property

      “symbol”                   gchar *

The symbol chars of engine description instead of icon image

Flags: Read / Write / Construct Only

Default value: ""

### The `“textdomain”` property

      “textdomain”               gchar *

The textdomain of engine description

Flags: Read / Write / Construct Only

Default value: ""

### The `“version”` property

      “version”                  gchar *

The version number of engine description

Flags: Read / Write / Construct Only

Default value: ""