IBusComponent

IBusComponent — Component (executable) specification.

Stability Level

Stable, unless otherwise indicated

Functions

Properties

char * author Read / Write / Construct Only
char * command-line Read / Write / Construct Only
char * description Read / Write / Construct Only
char * homepage Read / Write / Construct Only
char * license Read / Write / Construct Only
char * name Read / Write / Construct Only
char * textdomain Read / Write / Construct Only
char * version Read / Write / Construct Only

Types and Values

struct IBusComponent

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── IBusObject
            ╰── IBusSerializable
                ╰── IBusComponent

Description

An IBusComponent is an executable program. It provides services such as user interface, configuration, and input method engine (IME).

It is recommended that IME developers provide a component XML file and load the XML file by ibus_component_new_from_file().

The format of a component XML file is described at

https://github.com/ibus/ibus/wiki/DevXML

Functions

ibus_component_new ()

IBusComponent *
ibus_component_new (const gchar *name,
                    const gchar *description,
                    const gchar *version,
                    const gchar *license,
                    const gchar *author,
                    const gchar *homepage,
                    const gchar *command_line,
                    const gchar *textdomain);

Creates a new IBusComponent.

Parameters

name

Name of the component.

 

description

Detailed description of component.

 

version

Component version.

 

license

Distribution license of this component.

 

author

Author(s) of the component.

 

homepage

Homepage of the component.

 

command_line

path to component executable.

 

textdomain

Domain name for dgettext()

 

Returns

A newly allocated IBusComponent.


ibus_component_new_varargs ()

IBusComponent *
ibus_component_new_varargs (const gchar *first_property_name,
                            ...);

Creates a new IBusComponent. ibus_component_new_varargs() supports the va_list format. name property is required. e.g. IBusComponent *component = ibus_component_new_varargs ("name", "ibus-foo", "command_line", "/usr/libexec/ibus-engine-foo --ibus", NULL)

Parameters

first_property_name

Name of the first property.

 

...

the NULL-terminated arguments of the properties and values.

 

Returns

A newly allocated IBusComponent.


ibus_component_new_from_xml_node ()

IBusComponent *
ibus_component_new_from_xml_node (XMLNode *node);

Creates a new IBusComponent from an XML tree.

Parameters

node

Root node of component XML tree.

 

Returns

A newly allocated IBusComponent.


ibus_component_new_from_file ()

IBusComponent *
ibus_component_new_from_file (const gchar *filename);

Creates a new IBusComponent from an XML file. Note that a component file usually contains engine descriptions, if it does, ibus_engine_desc_new_from_xml_node() will be called to load the engine descriptions.

Parameters

filename

An XML file that contains component information.

 

Returns

A newly allocated IBusComponent.


ibus_component_get_name ()

const gchar *
ibus_component_get_name (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

name property in IBusComponent


ibus_component_get_description ()

const gchar *
ibus_component_get_description (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

description property in IBusComponent


ibus_component_get_version ()

const gchar *
ibus_component_get_version (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

version property in IBusComponent


ibus_component_get_license ()

const gchar *
ibus_component_get_license (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

license property in IBusComponent


ibus_component_get_author ()

const gchar *
ibus_component_get_author (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

author property in IBusComponent


ibus_component_get_homepage ()

const gchar *
ibus_component_get_homepage (IBusComponent *component);

Gets the homepage property in IBusComponent. It should not be freed.

Parameters

component

An IBusComponent

 

Returns

homepage property in IBusComponent


ibus_component_get_exec ()

const gchar *
ibus_component_get_exec (IBusComponent *component);

Gets the exec property in IBusComponent. It should not be freed.

Parameters

component

An IBusComponent

 

Returns

exec property in IBusComponent


ibus_component_get_textdomain ()

const gchar *
ibus_component_get_textdomain (IBusComponent *component);

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

Parameters

component

An IBusComponent

 

Returns

textdomain property in IBusComponent


ibus_component_add_observed_path ()

void
ibus_component_add_observed_path (IBusComponent *component,
                                  const gchar *path,
                                  gboolean access_fs);

Add an observed path to IBusComponent.

Parameters

component

An IBusComponent

 

path

Observed path to be added.

 

access_fs

TRUE for filling the file status; FALSE otherwise.

 

ibus_component_add_engine ()

void
ibus_component_add_engine (IBusComponent *component,
                           IBusEngineDesc *engine);

Add an engine to IBusComponent according to the description in engine .

Parameters

component

An IBusComponent

 

engine

A description of an engine.

 

ibus_component_get_engines ()

GList *
ibus_component_get_engines (IBusComponent *component);

Gets the engines of this component.

Parameters

component

An IBusComponent.

 

Returns

A newly allocated GList that contains engines.

[transfer container][element-type IBusEngineDesc]


ibus_component_output ()

void
ibus_component_output (IBusComponent *component,
                       GString *output,
                       gint indent);

Output IBusComponent as an XML-formatted string. The output string can be then shown on the screen or written to file.

Parameters

component

An IBusComponent.

 

output

GString that holds the result.

 

indent

level of indent.

 

ibus_component_output_engines ()

void
ibus_component_output_engines (IBusComponent *component,
                               GString *output,
                               gint indent);

Output engine description as an XML-formatted string. The output string can be then shown on the screen or written to file.

Parameters

component

An IBusComponent.

 

output

GString that holds the result.

 

indent

level of indent.

 

ibus_component_check_modification ()

gboolean
ibus_component_check_modification (IBusComponent *component);

Check whether the observed paths of component is modified.

Parameters

component

An IBusComponent.

 

Returns

TRUE if at least one of the observed paths is modified; FALSE otherwise.


ibus_component_get_observed_paths ()

GList *
ibus_component_get_observed_paths (IBusComponent *component);

Gets the observed paths of this component.

Parameters

component

An IBusComponent.

 

Returns

A newly allocated GList that contains observed paths.

[transfer container][element-type IBusObservedPath]

Types and Values

struct IBusComponent

struct IBusComponent {
};

An IBusComponent stores component information. You can get extended values with g_object_get_properties.

Property Details

The “author” property

  “author”                   char *

The author of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “command-line” property

  “command-line”             char *

The exec path of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “description” property

  “description”              char *

The description of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “homepage” property

  “homepage”                 char *

The homepage of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “license” property

  “license”                  char *

The license of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “name” property

  “name”                     char *

The name of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “textdomain” property

  “textdomain”               char *

The textdomain of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL


The “version” property

  “version”                  char *

The version of component

Owner: IBusComponent

Flags: Read / Write / Construct Only

Default value: NULL