Skip to content

Instantly share code, notes, and snippets.

@andy0130tw
Last active November 29, 2022 16:10
Show Gist options
  • Save andy0130tw/dc28fbeca31cde988475c60682aa55c2 to your computer and use it in GitHub Desktop.
Save andy0130tw/dc28fbeca31cde988475c60682aa55c2 to your computer and use it in GitHub Desktop.
ibus 1.5.26
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.2"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gio" version="2.0"/>
<package name="ibus-1.0"/>
<c:include name="ibus.h"/>
<namespace name="IBus"
version="1.0"
shared-library="libibus-1.0.so.5"
c:identifier-prefixes="IBus"
c:symbol-prefixes="ibus">
<function-macro name="ATTRIBUTE"
c:identifier="IBUS_ATTRIBUTE"
introspectable="0">
<source-position filename="ibusattribute.h" line="50"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ATTRIBUTE_CLASS"
c:identifier="IBUS_ATTRIBUTE_CLASS"
introspectable="0">
<source-position filename="ibusattribute.h" line="52"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ATTRIBUTE_GET_CLASS"
c:identifier="IBUS_ATTRIBUTE_GET_CLASS"
introspectable="0">
<source-position filename="ibusattribute.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ATTR_LIST"
c:identifier="IBUS_ATTR_LIST"
introspectable="0">
<source-position filename="ibusattrlist.h" line="48"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ATTR_LIST_CLASS"
c:identifier="IBUS_ATTR_LIST_CLASS"
introspectable="0">
<source-position filename="ibusattrlist.h" line="50"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ATTR_LIST_GET_CLASS"
c:identifier="IBUS_ATTR_LIST_GET_CLASS"
introspectable="0">
<source-position filename="ibusattrlist.h" line="56"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="AttrList"
c:symbol-prefix="attr_list"
c:type="IBusAttrList"
parent="Serializable"
glib:type-name="IBusAttrList"
glib:get-type="ibus_attr_list_get_type"
glib:type-struct="AttrListClass">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="64">Array of IBusAttribute.</doc>
<source-position filename="ibusattrlist.h" line="79"/>
<constructor name="new" c:identifier="ibus_attr_list_new">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="90">Creates an new #IBusAttrList.</doc>
<source-position filename="ibusattrlist.h" line="97"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="95">A newly allocated #IBusAttrList.</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</return-value>
</constructor>
<method name="append" c:identifier="ibus_attr_list_append">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="99">Append an IBusAttribute to IBusAttrList, and increase reference.</doc>
<source-position filename="ibusattrlist.h" line="106"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="attr_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="101">An IBusAttrList instance.</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</instance-parameter>
<parameter name="attr" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="102">The IBusAttribute instance to be appended.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</parameter>
</parameters>
</method>
<method name="get" c:identifier="ibus_attr_list_get">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="108">Returns #IBusAttribute at given index. Borrowed reference.</doc>
<source-position filename="ibusattrlist.h" line="118"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="115">#IBusAttribute at given index, %NULL if no such
#IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<instance-parameter name="attr_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="110">An IBusAttrList instance.</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="111">Index of the @attr_list.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="attributes">
<doc xml:space="preserve"
filename="ibusattrlist.h"
line="66">GArray that holds #IBusAttribute.</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="AttrListClass"
c:type="IBusAttrListClass"
glib:is-gtype-struct-for="AttrList">
<source-position filename="ibusattrlist.h" line="79"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<enumeration name="AttrType"
glib:type-name="IBusAttrType"
glib:get-type="ibus_attr_type_get_type"
c:type="IBusAttrType">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="62">Type enumeration of IBusText attribute.</doc>
<member name="underline"
value="1"
c:identifier="IBUS_ATTR_TYPE_UNDERLINE"
glib:nick="underline"
glib:name="IBUS_ATTR_TYPE_UNDERLINE">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="64">Decorate with underline.</doc>
</member>
<member name="foreground"
value="2"
c:identifier="IBUS_ATTR_TYPE_FOREGROUND"
glib:nick="foreground"
glib:name="IBUS_ATTR_TYPE_FOREGROUND">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="65">Foreground color.</doc>
</member>
<member name="background"
value="3"
c:identifier="IBUS_ATTR_TYPE_BACKGROUND"
glib:nick="background"
glib:name="IBUS_ATTR_TYPE_BACKGROUND">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="66">Background color.</doc>
</member>
</enumeration>
<enumeration name="AttrUnderline"
glib:type-name="IBusAttrUnderline"
glib:get-type="ibus_attr_underline_get_type"
c:type="IBusAttrUnderline">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="76">Type of IBusText attribute.</doc>
<member name="none"
value="0"
c:identifier="IBUS_ATTR_UNDERLINE_NONE"
glib:nick="none"
glib:name="IBUS_ATTR_UNDERLINE_NONE">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="78">No underline.</doc>
</member>
<member name="single"
value="1"
c:identifier="IBUS_ATTR_UNDERLINE_SINGLE"
glib:nick="single"
glib:name="IBUS_ATTR_UNDERLINE_SINGLE">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="79">Single underline.</doc>
</member>
<member name="double"
value="2"
c:identifier="IBUS_ATTR_UNDERLINE_DOUBLE"
glib:nick="double"
glib:name="IBUS_ATTR_UNDERLINE_DOUBLE">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="80">Double underline.</doc>
</member>
<member name="low"
value="3"
c:identifier="IBUS_ATTR_UNDERLINE_LOW"
glib:nick="low"
glib:name="IBUS_ATTR_UNDERLINE_LOW">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="81">Low underline ? FIXME</doc>
</member>
<member name="error"
value="4"
c:identifier="IBUS_ATTR_UNDERLINE_ERROR"
glib:nick="error"
glib:name="IBUS_ATTR_UNDERLINE_ERROR">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="82">Error underline</doc>
</member>
<function name="new" c:identifier="ibus_attr_underline_new">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="191">Creates a new underline #IBusAttribute.</doc>
<source-position filename="ibusattribute.h" line="201"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="199">A newly allocated #IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<parameter name="underline_type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="193">Type of underline.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="194">Where attribute starts.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="195">Where attribute ends.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
</enumeration>
<class name="Attribute"
c:symbol-prefix="attribute"
c:type="IBusAttribute"
parent="Serializable"
glib:type-name="IBusAttribute"
glib:get-type="ibus_attribute_get_type"
glib:type-struct="AttributeClass">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="30">An IBusAttribute represents an attribute that associate to IBusText.
It decorates preedit buffer and auxiliary text with underline, foreground
and background colors.</doc>
<source-position filename="ibusattribute.h" line="119"/>
<constructor name="new" c:identifier="ibus_attribute_new">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="129">Creates a new IBusAttribute.</doc>
<source-position filename="ibusattribute.h" line="140"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="138">A newly allocated IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="131">Type of the attribute.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="132">Value of the attribute.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="133">Where attribute starts.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="134">Where attribute ends.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</constructor>
<method name="get_attr_type" c:identifier="ibus_attribute_get_attr_type">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="145">Gets an enum of #IBusAttrType.</doc>
<source-position filename="ibusattribute.h" line="153"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="151">An enum of #IBusAttrType.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="attr" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="147">An #IBusAttribute</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_end_index" c:identifier="ibus_attribute_get_end_index">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="180">Gets an end unsigned index</doc>
<source-position filename="ibusattribute.h" line="188"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="186">A end unsigned index</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="attr" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="182">An #IBusAttribute</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_start_index"
c:identifier="ibus_attribute_get_start_index">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="169">Gets a start unsigned index</doc>
<source-position filename="ibusattribute.h" line="177"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="175">A start unsigned index</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="attr" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="171">An #IBusAttribute</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_value" c:identifier="ibus_attribute_get_value">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="156">Gets an unsigned int value relative with #IBusAttrType.
If the type is %IBUS_ATTR_TYPE_UNDERLINE, the return value is
#IBusAttrUnderline. If the type is %IBUS_ATTR_TYPE_FOREGROUND,
the return value is the color RGB.</doc>
<source-position filename="ibusattribute.h" line="167"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="165">An unsigned int value relative with #IBusAttrType.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="attr" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="158">An #IBusAttribute</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="type">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="99">IBusAttributeType</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="value">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="100">Value for the type.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="start_index">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="101">The starting index, inclusive.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="end_index">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="102">The ending index, exclusive.</doc>
<type name="guint" c:type="guint"/>
</field>
</class>
<record name="AttributeClass"
c:type="IBusAttributeClass"
glib:is-gtype-struct-for="Attribute">
<source-position filename="ibusattribute.h" line="119"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<function-macro name="BUS" c:identifier="IBUS_BUS" introspectable="0">
<source-position filename="ibusbus.h" line="51"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUS_CLASS"
c:identifier="IBUS_BUS_CLASS"
introspectable="0">
<source-position filename="ibusbus.h" line="53"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUS_GET_CLASS"
c:identifier="IBUS_BUS_GET_CLASS"
introspectable="0">
<source-position filename="ibusbus.h" line="59"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="Bus"
c:symbol-prefix="bus"
c:type="IBusBus"
parent="Object"
glib:type-name="IBusBus"
glib:get-type="ibus_bus_get_type"
glib:type-struct="BusClass">
<doc xml:space="preserve"
filename="ibusbus.h"
line="31">An IBusBus connects with IBus daemon.</doc>
<source-position filename="ibusbus.h" line="84"/>
<constructor name="new" c:identifier="ibus_bus_new">
<doc xml:space="preserve"
filename="ibusbus.h"
line="88">Creates a new #IBusBus instance.</doc>
<source-position filename="ibusbus.h" line="96"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="93">A newly allocated #IBusBus instance, and the instance is not
floating.</doc>
<type name="Bus" c:type="IBusBus*"/>
</return-value>
</constructor>
<constructor name="new_async" c:identifier="ibus_bus_new_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="98">Creates a new #IBusBus instance. The instance will asynchronously connect
to the IBus daemon.</doc>
<source-position filename="ibusbus.h" line="107"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="104">A newly allocated #IBusBus instance, and the instance is not
floating.</doc>
<type name="Bus" c:type="IBusBus*"/>
</return-value>
</constructor>
<constructor name="new_async_client"
c:identifier="ibus_bus_new_async_client">
<doc xml:space="preserve"
filename="ibusbus.h"
line="109">Creates a new #IBusBus instance for client use only. It will possibly
be limited in what it can do.
The instance will asynchronously connect to the IBus daemon.</doc>
<source-position filename="ibusbus.h" line="120"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="117">A newly allocated #IBusBus instance, and the instance is not
floating.</doc>
<type name="Bus" c:type="IBusBus*"/>
</return-value>
</constructor>
<method name="add_match" c:identifier="ibus_bus_add_match">
<doc xml:space="preserve"
filename="ibusbus.h"
line="342">Add a match rule to an #IBusBus synchronously.</doc>
<source-position filename="ibusbus.h" line="351"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="349">%TRUE if the rule is added. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="344">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="rule" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="345">Match rule.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_match_async" c:identifier="ibus_bus_add_match_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="354">Add a match rule to an #IBusBus asynchronously.</doc>
<source-position filename="ibusbus.h" line="366"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="356">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="rule" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="357">Match rule.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="358">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="359">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="360">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="362">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="add_match_async_finish"
c:identifier="ibus_bus_add_match_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="374">Finishes an operation started with ibus_bus_add_match_async().</doc>
<source-position filename="ibusbus.h" line="385"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="383">%TRUE if the rule is added. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="376">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="377">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_add_match_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="create_input_context"
c:identifier="ibus_bus_create_input_context">
<doc xml:space="preserve"
filename="ibusbus.h"
line="536">Create an input context for client synchronously.</doc>
<source-position filename="ibusbus.h" line="547"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="543">A newly allocated #IBusInputContext if the
"CreateInputContext" call is succeeded, %NULL otherwise.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="538">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="client_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="539">Name of client.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="create_input_context_async"
c:identifier="ibus_bus_create_input_context_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="551">Create an input context for client asynchronously.</doc>
<source-position filename="ibusbus.h" line="563"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="553">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="client_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="554">Name of client.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="555">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="556">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="557">A #GAsyncReadyCallback to call when the request is satisfied.
It should not be %NULL.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="559">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="create_input_context_async_finish"
c:identifier="ibus_bus_create_input_context_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="572">Finishes an operation started with ibus_bus_create_input_context_async().</doc>
<source-position filename="ibusbus.h" line="585"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="581">A newly allocated #IBusInputContext if the
"CreateInputContext" call is succeeded, %NULL otherwise.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="574">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="575">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_create_input_context_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="current_input_context"
c:identifier="ibus_bus_current_input_context">
<doc xml:space="preserve"
filename="ibusbus.h"
line="590">Get the current focused input context synchronously.</doc>
<source-position filename="ibusbus.h" line="600"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="596">Name of the currently focused #IBusInputContext if the
"CurrentInputContext" call succeeded, %NULL otherwise. The return
value must be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="592">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="current_input_context_async"
c:identifier="ibus_bus_current_input_context_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="603">Get the current focused input context asynchronously.</doc>
<source-position filename="ibusbus.h" line="614"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="605">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="606">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="607">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="608">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="610">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="current_input_context_async_finish"
c:identifier="ibus_bus_current_input_context_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="622">Finishes an operation started with ibus_bus_current_input_context_async().</doc>
<source-position filename="ibusbus.h" line="635"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="631">Name of the currently focused IBusInputContext if the
"CurrentInputContext" call succeeded, %NULL otherwise. The return
value must be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="624">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="625">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_current_input_context_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="exit" c:identifier="ibus_bus_exit">
<doc xml:space="preserve"
filename="ibusbus.h"
line="489">Exit or restart ibus-daemon synchronously.</doc>
<source-position filename="ibusbus.h" line="498"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="496">%TRUE if the "Exit" call is successful, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="491">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="restart" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="492">Whether restarting the ibus.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="exit_async" c:identifier="ibus_bus_exit_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="501">Exit or restart ibus-daemon asynchronously.</doc>
<source-position filename="ibusbus.h" line="513"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="503">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="restart" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="504">Whether restarting the ibus.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="505">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="506">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="507">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="509">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="exit_async_finish"
c:identifier="ibus_bus_exit_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="521">Finishes an operation started with ibus_bus_exit_async().</doc>
<source-position filename="ibusbus.h" line="532"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="530">%TRUE if the "Exit" call is successful, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="523">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="524">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_exit_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_config" c:identifier="ibus_bus_get_config">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1121">Get the config instance from #IBusBus.</doc>
<source-position filename="ibusbus.h" line="1130"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1127">An #IBusConfig object which is configurable with
@bus.</doc>
<type name="Config" c:type="IBusConfig*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1123">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_connection" c:identifier="ibus_bus_get_connection">
<doc xml:space="preserve"
filename="ibusbus.h"
line="133">Gets a #GDBusConnection of an #IBusBus instance.</doc>
<source-position filename="ibusbus.h" line="142"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="139">A #GDBusConnection of an #IBusBus instance.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="135">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_engines_by_names"
c:identifier="ibus_bus_get_engines_by_names">
<doc xml:space="preserve"
filename="ibusbus.h"
line="799">Get engines by given names synchronously. If some engine names do not exist,
this function will simply ignore them, and return rest of engines.
TODO(penghuang): add asynchronous version</doc>
<source-position filename="ibusbus.h" line="812"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="808">
A %NULL-terminated array of engines.</doc>
<array c:type="IBusEngineDesc**">
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</array>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="801">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="names" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="802">A %NULL-terminated array of names.</doc>
<array c:type="const gchar* const*">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_global_engine"
c:identifier="ibus_bus_get_global_engine">
<doc xml:space="preserve"
filename="ibusbus.h"
line="998">Get the description of current global engine synchronously.</doc>
<source-position filename="ibusbus.h" line="1008"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1004">The description of current global engine,
or %NULL if there is no global engine.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1000">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_global_engine_async"
c:identifier="ibus_bus_get_global_engine_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1010">Get the description of current global engine asynchronously.</doc>
<source-position filename="ibusbus.h" line="1021"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1012">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1013">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1014">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1015">A #GAsyncReadyCallback to call when the request is satisfied or %NULL
if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1017">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_global_engine_async_finish"
c:identifier="ibus_bus_get_global_engine_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1029">Finishes an operation started with ibus_bus_get_global_engine_async_finish().</doc>
<source-position filename="ibusbus.h" line="1042"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1038">The description of current global engine,
or %NULL if there is no global engine.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1031">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1032">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_get_global_engine_async_finish().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_ibus_property"
c:identifier="ibus_bus_get_ibus_property">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1182">Get org.freedesktop.DBus.Properties.</doc>
<source-position filename="ibusbus.h" line="1192"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1189">The value in org.freedesktop.DBus.Properties.Get
The returned value must be freed with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1184">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1185">property name in org.freedesktop.DBus.Properties.Get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_ibus_property_async"
c:identifier="ibus_bus_get_ibus_property_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1195">Get org.freedesktop.DBus.Properties asynchronously.</doc>
<source-position filename="ibusbus.h" line="1207"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1197">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1198">property name in org.freedesktop.DBus.Properties.Get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1199">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1200">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1201">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1203">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_ibus_property_async_finish"
c:identifier="ibus_bus_get_ibus_property_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1216">Finishes an operation started with ibus_bus_get_ibus_property_async().</doc>
<source-position filename="ibusbus.h" line="1228"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1225">The value in org.freedesktop.DBus.Properties.Get
The returned value must be freed with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1218">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1219">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_get_ibus_property_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_name_owner" c:identifier="ibus_bus_get_name_owner">
<doc xml:space="preserve"
filename="ibusbus.h"
line="439">Return the name owner synchronously.</doc>
<source-position filename="ibusbus.h" line="448"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="446">Owner of the name. The returned value must be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="441">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="442">Name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_name_owner_async"
c:identifier="ibus_bus_get_name_owner_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="451">Return the name owner asynchronously.</doc>
<source-position filename="ibusbus.h" line="463"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="453">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="454">Name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="455">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="456">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="457">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="459">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_name_owner_async_finish"
c:identifier="ibus_bus_get_name_owner_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="472">Finishes an operation started with ibus_bus_get_name_owner_async().</doc>
<source-position filename="ibusbus.h" line="483"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="481">Owner of the name. The returned value must be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="474">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="475">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_get_name_owner_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_service_name" c:identifier="ibus_bus_get_service_name">
<doc xml:space="preserve"
filename="ibusbus.h"
line="144">Return the main service name to use for calls on the ibus connection.</doc>
<source-position filename="ibusbus.h" line="152"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="150">at dbus name.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="146">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_use_global_engine"
c:identifier="ibus_bus_get_use_global_engine"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="874">Check if the bus's "use_global_engine" option is enabled or not
synchronously.</doc>
<doc-deprecated xml:space="preserve">Currently global engine is always used.</doc-deprecated>
<source-position filename="ibusbus.h" line="886"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="881">TRUE if "use_global_engine" option is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="876">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_use_global_engine_async"
c:identifier="ibus_bus_get_use_global_engine_async"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="889">Check if the bus's "use_global_engine" option is enabled or not asynchronously.</doc>
<doc-deprecated xml:space="preserve">Currently global engine is always used.</doc-deprecated>
<source-position filename="ibusbus.h" line="903"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="891">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="892">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="893">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="894">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="896">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_use_global_engine_async_finish"
c:identifier="ibus_bus_get_use_global_engine_async_finish"
deprecated="1"
deprecated-version="1.5.3"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="911">Finishes an operation started with ibus_bus_get_use_global_engine_async().</doc>
<doc-deprecated xml:space="preserve">Currently global engine is always used.</doc-deprecated>
<source-position filename="ibusbus.h" line="925"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="920">%TRUE if "use_global_engine" option is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="913">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="914">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_get_use_global_engine_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_use_sys_layout"
c:identifier="ibus_bus_get_use_sys_layout"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="816">Check if the bus's "use_sys_layout" option is enabled or not synchronously.</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/use_system_keyboard_layout instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="828"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="822">%TRUE if "use_sys_layout" option is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="818">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_use_sys_layout_async"
c:identifier="ibus_bus_get_use_sys_layout_async"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="831">Check if the bus's "use_sys_layout" option is enabled or not asynchronously.</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/use_system_keyboard_layout instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="846"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="833">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="834">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="835">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="836">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="838">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_use_sys_layout_async_finish"
c:identifier="ibus_bus_get_use_sys_layout_async_finish"
deprecated="1"
deprecated-version="1.5.3"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="854">Finishes an operation started with ibus_bus_get_use_sys_layout_async().</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/use_system_keyboard_layout instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="869"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="863">TRUE if "use_sys_layout" option is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="856">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="857">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_get_use_sys_layout_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="hello" c:identifier="ibus_bus_hello">
<doc xml:space="preserve"
filename="ibusbus.h"
line="154">This function sends a "HELLO" message to DBus daemon,
which replies the unique name of current IBus process.</doc>
<source-position filename="ibusbus.h" line="163"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="161">The unique name of IBus process in DBus.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="156">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_connected" c:identifier="ibus_bus_is_connected">
<doc xml:space="preserve"
filename="ibusbus.h"
line="123">Return %TRUE if @bus is connected to IBus daemon.</doc>
<source-position filename="ibusbus.h" line="131"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="129">%TRUE if @bus is connected, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="125">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_global_engine_enabled"
c:identifier="ibus_bus_is_global_engine_enabled"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="930">Check if the current global engine is enabled or not synchronously.</doc>
<doc-deprecated xml:space="preserve">Probably this would be used for Chrome OS only.
Currently global engine is always used and ibus_bus_get_global_engine()
returns NULL until the first global engine is assigned.
You can use ibus_set_log_handler() to disable a warning when
ibus_bus_get_global_engine() returns NULL.</doc-deprecated>
<source-position filename="ibusbus.h" line="945"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="936">%TRUE if the current global engine is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="932">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_global_engine_enabled_async"
c:identifier="ibus_bus_is_global_engine_enabled_async"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="948">Check if the current global engine is enabled or not asynchronously.</doc>
<doc-deprecated xml:space="preserve">Probably this would be used for Chrome OS only.
Currently global engine is always used and ibus_bus_get_global_engine()
returns NULL until the first global engine is assigned.
You can use ibus_set_log_handler() to disable a warning when
ibus_bus_get_global_engine() returns NULL.</doc-deprecated>
<source-position filename="ibusbus.h" line="966"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="950">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="951">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="952">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="953">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="955">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="is_global_engine_enabled_async_finish"
c:identifier="ibus_bus_is_global_engine_enabled_async_finish"
deprecated="1"
deprecated-version="1.5.3"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="974">Finishes an operation started with ibus_bus_is_global_engine_enabled_async().</doc>
<doc-deprecated xml:space="preserve">Probably this would be used for Chrome OS only.
Currently global engine is always used and ibus_bus_get_global_engine()
returns NULL until the first global engine is assigned.
You can use ibus_set_log_handler() to disable a warning when
ibus_bus_get_global_engine() returns NULL.</doc-deprecated>
<source-position filename="ibusbus.h" line="992"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="983">%TRUE if the current global engine is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="976">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="977">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_is_global_engine_enabled_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="list_active_engines"
c:identifier="ibus_bus_list_active_engines"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="738">List active engines synchronously.</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/preload-engines instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="751"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="744">
A List of active engines.</doc>
<type name="GLib.List" c:type="GList*">
<type name="EngineDesc"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="740">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_active_engines_async"
c:identifier="ibus_bus_list_active_engines_async"
deprecated="1"
deprecated-version="1.5.3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="754">List active engines asynchronously.</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/preload-engines instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="769"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="756">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="757">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="758">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="759">A #GAsyncReadyCallback to call when the request is satisfied or %NULL
if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="761">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="list_active_engines_async_finish"
c:identifier="ibus_bus_list_active_engines_async_finish"
deprecated="1"
deprecated-version="1.5.3"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="777">Finishes an operation started with ibus_bus_list_active_engines_async().</doc>
<doc-deprecated xml:space="preserve">Read dconf value
/desktop/ibus/general/preload-engines instead.</doc-deprecated>
<source-position filename="ibusbus.h" line="793"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="786">
A List of active engines.</doc>
<type name="GLib.List" c:type="GList*">
<type name="EngineDesc"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="779">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="780">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_list_active_engines_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="list_engines" c:identifier="ibus_bus_list_engines">
<doc xml:space="preserve"
filename="ibusbus.h"
line="690">List engines synchronously.</doc>
<source-position filename="ibusbus.h" line="699"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="696">
A List of engines.</doc>
<type name="GLib.List" c:type="GList*">
<type name="EngineDesc"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="692">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_engines_async"
c:identifier="ibus_bus_list_engines_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="701">List engines asynchronously.</doc>
<source-position filename="ibusbus.h" line="712"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="703">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="704">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="705">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusbus.h"
line="706">A #GAsyncReadyCallback to call when the request is satisfied or %NULL
if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="708">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="list_engines_async_finish"
c:identifier="ibus_bus_list_engines_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="720">Finishes an operation started with ibus_bus_list_engines_async().</doc>
<source-position filename="ibusbus.h" line="732"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="729">
A List of engines.</doc>
<type name="GLib.List" c:type="GList*">
<type name="EngineDesc"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="722">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="723">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_list_engines_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="list_names" c:identifier="ibus_bus_list_names">
<doc xml:space="preserve"
filename="ibusbus.h"
line="330">Return lists that attached to @bus.
&lt;note&gt;&lt;para&gt;[FixMe] Not implemented yet, only return %NULL.&lt;/para&gt;&lt;/note&gt;
&lt;note&gt;&lt;para&gt;[FixMe] Add async version.&lt;/para&gt;&lt;/note&gt;</doc>
<source-position filename="ibusbus.h" line="340"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="338">Lists that attached to @bus.</doc>
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="332">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_queued_owners"
c:identifier="ibus_bus_list_queued_owners">
<doc xml:space="preserve"
filename="ibusbus.h"
line="266">Lists the unique bus names of connections currently queued for a bus name.
FIXME add an asynchronous version.</doc>
<source-position filename="ibusbus.h" line="277"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusbus.h"
line="274">
The unique bus names of connections currently queued for @name.</doc>
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="268">An IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="269">Name to be queried.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="name_has_owner" c:identifier="ibus_bus_name_has_owner">
<doc xml:space="preserve"
filename="ibusbus.h"
line="281">Checks whether the name has owner synchronously.</doc>
<source-position filename="ibusbus.h" line="290"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="288">%TRUE if the name has owner, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="283">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="284">Name to be checked.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="name_has_owner_async"
c:identifier="ibus_bus_name_has_owner_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="293">Checks whether the name has owner asynchronously.</doc>
<source-position filename="ibusbus.h" line="305"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="295">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="296">Name to be checked.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="297">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="298">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="299">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="301">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="name_has_owner_async_finish"
c:identifier="ibus_bus_name_has_owner_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="314">Finishes an operation started with ibus_bus_name_has_owner_async().</doc>
<source-position filename="ibusbus.h" line="325"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="323">%TRUE if the name has owner, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="316">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="317">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_name_has_owner_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="preload_engines" c:identifier="ibus_bus_preload_engines">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1132">Start bus components by engine names synchronously.</doc>
<source-position filename="ibusbus.h" line="1141"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1139">%TRUE if components start. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1134">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="names" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1135">A %NULL-terminated array of engine names.</doc>
<array c:type="const gchar* const*">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</method>
<method name="preload_engines_async"
c:identifier="ibus_bus_preload_engines_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1144">Start bus components by engine names asynchronously.</doc>
<source-position filename="ibusbus.h" line="1156"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1146">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="names" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1147">A %NULL-terminated array of engine names.</doc>
<array c:type="const gchar* const*">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1148">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1149">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1150">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1152">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="preload_engines_async_finish"
c:identifier="ibus_bus_preload_engines_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1166">Finishes an operation started with ibus_bus_preload_engines_async().</doc>
<source-position filename="ibusbus.h" line="1177"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1175">%TRUE if component starts. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1168">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1169">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_preload_engines_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="register_component"
c:identifier="ibus_bus_register_component">
<doc xml:space="preserve"
filename="ibusbus.h"
line="640">Register a component to an #IBusBus synchronously.</doc>
<source-position filename="ibusbus.h" line="649"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="647">%TRUE if the "RegisterComponent" call is successful, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="642">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="643">A input engine component.</doc>
<type name="Component" c:type="IBusComponent*"/>
</parameter>
</parameters>
</method>
<method name="register_component_async"
c:identifier="ibus_bus_register_component_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="653">Register a component to an #IBusBus asynchronously.</doc>
<source-position filename="ibusbus.h" line="665"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="655">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="656">A input engine component.</doc>
<type name="Component" c:type="IBusComponent*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="657">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="658">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="659">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="661">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="register_component_async_finish"
c:identifier="ibus_bus_register_component_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="674">Finishes an operation started with ibus_bus_register_component_async().</doc>
<source-position filename="ibusbus.h" line="685"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="683">%TRUE if the "RegisterComponent" call is successful, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="676">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="677">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_register_component_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="release_name" c:identifier="ibus_bus_release_name">
<doc xml:space="preserve"
filename="ibusbus.h"
line="217">Release a name to IBus daemon synchronously.</doc>
<source-position filename="ibusbus.h" line="226"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="224">0 if failed; positive number otherwise.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="219">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="220">Name to be released.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="release_name_async"
c:identifier="ibus_bus_release_name_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="229">Release a name to IBus daemon asynchronously.</doc>
<source-position filename="ibusbus.h" line="241"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="231">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="232">Name to be released.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="233">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="234">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="235">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="237">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="release_name_async_finish"
c:identifier="ibus_bus_release_name_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="250">Finishes an operation started with ibus_bus_release_name_async().</doc>
<source-position filename="ibusbus.h" line="261"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="259">0 if failed; positive number otherwise.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="252">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="253">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_release_name_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="remove_match" c:identifier="ibus_bus_remove_match">
<doc xml:space="preserve"
filename="ibusbus.h"
line="390">Remove a match rule to an #IBusBus synchronously.</doc>
<source-position filename="ibusbus.h" line="399"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="397">%TRUE if the rule is removed. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="392">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="rule" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="393">Match rule.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="remove_match_async"
c:identifier="ibus_bus_remove_match_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="402">Remove a match rule to an IBusBus asynchronously.</doc>
<source-position filename="ibusbus.h" line="414"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="404">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="rule" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="405">Match rule.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="406">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="407">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="408">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="410">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="remove_match_async_finish"
c:identifier="ibus_bus_remove_match_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="423">Finishes an operation started with ibus_bus_remove_match_async().</doc>
<source-position filename="ibusbus.h" line="434"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="432">%TRUE if the rule is removed. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="425">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="426">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_remove_match_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="request_name" c:identifier="ibus_bus_request_name">
<doc xml:space="preserve"
filename="ibusbus.h"
line="165">Request a name from IBus daemon synchronously.</doc>
<source-position filename="ibusbus.h" line="175"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="173">0 if failed; IBusBusRequestNameReply otherwise.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="167">the IBusBus instance to be processed.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="168">Name to be requested.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="169">IBusBusNameFlag.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="request_name_async"
c:identifier="ibus_bus_request_name_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="179">Request a name from IBus daemon asynchronously.</doc>
<source-position filename="ibusbus.h" line="192"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="181">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="182">Name to be requested.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="183">Flags (FixMe).</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="184">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="185">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="5">
<doc xml:space="preserve"
filename="ibusbus.h"
line="186">A #GAsyncReadyCallback to call when the request is satisfied or %NULL
if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="188">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="request_name_async_finish"
c:identifier="ibus_bus_request_name_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="201">Finishes an operation started with ibus_bus_request_name_async().</doc>
<source-position filename="ibusbus.h" line="212"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="210">0 if failed; positive number otherwise.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="203">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="204">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_request_name_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="set_global_engine"
c:identifier="ibus_bus_set_global_engine">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1047">Set current global engine synchronously.</doc>
<source-position filename="ibusbus.h" line="1056"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1054">%TRUE if the global engine was set successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1049">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="global_engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1050">A new engine name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_global_engine_async"
c:identifier="ibus_bus_set_global_engine_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1059">Set current global engine asynchronously.</doc>
<source-position filename="ibusbus.h" line="1071"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1061">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="global_engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1062">A new engine name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1063">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1064">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1065">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1067">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_global_engine_async_finish"
c:identifier="ibus_bus_set_global_engine_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1080">Finishes an operation started with ibus_bus_set_global_engine_async().</doc>
<source-position filename="ibusbus.h" line="1091"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1089">%TRUE if no IPC errros. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1082">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1083">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_set_global_engine_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="set_ibus_property"
c:identifier="ibus_bus_set_ibus_property">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1233">Set org.freedesktop.DBus.Properties.</doc>
<source-position filename="ibusbus.h" line="1241"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1235">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1236">property name in org.freedesktop.DBus.Properties.Set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1237">value in org.freedesktop.DBus.Properties.Set</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</method>
<method name="set_ibus_property_async"
c:identifier="ibus_bus_set_ibus_property_async">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1245">Set org.freedesktop.DBus.Properties asynchronously.</doc>
<source-position filename="ibusbus.h" line="1258"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1247">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1248">property name in org.freedesktop.DBus.Properties.Set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1249">value in org.freedesktop.DBus.Properties.Set</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1250">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1251">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="5">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1252">A #GAsyncReadyCallback to call when the request is satisfied
or %NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1254">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_ibus_property_async_finish"
c:identifier="ibus_bus_set_ibus_property_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1268">Finishes an operation started with ibus_bus_set_ibus_property_async().</doc>
<source-position filename="ibusbus.h" line="1279"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1277">%TRUE if property is set with async. %FALSE failed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1270">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1271">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_bus_set_ibus_property_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="set_watch_dbus_signal"
c:identifier="ibus_bus_set_watch_dbus_signal">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1096">Start or stop watching the NameOwnerChanged DBus signal.</doc>
<source-position filename="ibusbus.h" line="1104"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1098">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1099">%TRUE if you want ibusbus to emit "name-owner-changed" signal when
ibus-daemon emits the NameOwnerChanged DBus signal.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_watch_ibus_signal"
c:identifier="ibus_bus_set_watch_ibus_signal">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1108">Start or stop watching the GlobalEngineChanged IBus signal.</doc>
<source-position filename="ibusbus.h" line="1116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="bus" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1110">An #IBusBus.</doc>
<type name="Bus" c:type="IBusBus*"/>
</instance-parameter>
<parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.h"
line="1111">%TRUE if you want ibusbus to emit "global-engine-changed" signal when
ibus-daemon emits the GlobalEngineChanged IBus signal.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="client-only"
writable="1"
construct-only="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="149">Whether the #IBusBus object is for client use only.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="connect-async"
writable="1"
construct-only="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="135">Whether the #IBusBus object should connect asynchronously to the bus.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<field name="parent">
<type name="Object" c:type="IBusObject"/>
</field>
<field name="priv">
<type name="BusPrivate" c:type="IBusBusPrivate*"/>
</field>
<glib:signal name="connected" when="last">
<doc xml:space="preserve"
filename="ibusbus.c"
line="165">Emitted when #IBusBus is connected to ibus-daemon.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="disconnected" when="last">
<doc xml:space="preserve"
filename="ibusbus.c"
line="182">Emitted when #IBusBus is disconnected from ibus-daemon.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="global-engine-changed" when="last">
<doc xml:space="preserve"
filename="ibusbus.c"
line="199">Emitted when global engine is changed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="202">The name of the new global engine.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="name-owner-changed" when="last">
<doc xml:space="preserve"
filename="ibusbus.c"
line="218">Emitted when D-Bus name owner is changed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="221">The name which ower is changed.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="old_owner" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="222">The unique bus name of the old owner.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="new_owner" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusbus.c"
line="223">The unique bus name of the new owner.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="BusClass"
c:type="IBusBusClass"
glib:is-gtype-struct-for="Bus">
<source-position filename="ibusbus.h" line="84"/>
<field name="parent">
<type name="ObjectClass" c:type="IBusObjectClass"/>
</field>
</record>
<bitfield name="BusNameFlag"
glib:type-name="IBusBusNameFlag"
glib:get-type="ibus_bus_name_flag_get_type"
c:type="IBusBusNameFlag">
<member name="allow_replacement"
value="1"
c:identifier="IBUS_BUS_NAME_FLAG_ALLOW_REPLACEMENT"
glib:nick="allow-replacement"
glib:name="IBUS_BUS_NAME_FLAG_ALLOW_REPLACEMENT">
<doc xml:space="preserve"
filename="ibustypes.h"
line="151">same as DBUS_NAME_FLAG_ALLOW_REPLACEMENT</doc>
</member>
<member name="replace_existing"
value="2"
c:identifier="IBUS_BUS_NAME_FLAG_REPLACE_EXISTING"
glib:nick="replace-existing"
glib:name="IBUS_BUS_NAME_FLAG_REPLACE_EXISTING">
<doc xml:space="preserve"
filename="ibustypes.h"
line="153">same as DBUS_NAME_FLAG_REPLACE_EXISTING</doc>
</member>
<member name="do_not_queue"
value="4"
c:identifier="IBUS_BUS_NAME_FLAG_DO_NOT_QUEUE"
glib:nick="do-not-queue"
glib:name="IBUS_BUS_NAME_FLAG_DO_NOT_QUEUE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="155">same as DBUS_NAME_FLAG_DO_NOT_QUEUE</doc>
</member>
</bitfield>
<record name="BusPrivate" c:type="IBusBusPrivate" disguised="1">
<source-position filename="ibusbus.h" line="67"/>
</record>
<enumeration name="BusRequestNameReply"
glib:type-name="IBusBusRequestNameReply"
glib:get-type="ibus_bus_request_name_reply_get_type"
c:type="IBusBusRequestNameReply">
<member name="primary_owner"
value="1"
c:identifier="IBUS_BUS_REQUEST_NAME_REPLY_PRIMARY_OWNER"
glib:nick="primary-owner"
glib:name="IBUS_BUS_REQUEST_NAME_REPLY_PRIMARY_OWNER">
<doc xml:space="preserve"
filename="ibustypes.h"
line="166">same as DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER</doc>
</member>
<member name="in_queue"
value="2"
c:identifier="IBUS_BUS_REQUEST_NAME_REPLY_IN_QUEUE"
glib:nick="in-queue"
glib:name="IBUS_BUS_REQUEST_NAME_REPLY_IN_QUEUE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="168">same as DBUS_REQUEST_NAME_REPLY_IN_QUEUE</doc>
</member>
<member name="exists"
value="3"
c:identifier="IBUS_BUS_REQUEST_NAME_REPLY_EXISTS"
glib:nick="exists"
glib:name="IBUS_BUS_REQUEST_NAME_REPLY_EXISTS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="170">same as DBUS_REQUEST_NAME_REPLY_EXISTS</doc>
</member>
<member name="already_owner"
value="4"
c:identifier="IBUS_BUS_REQUEST_NAME_REPLY_ALREADY_OWNER"
glib:nick="already-owner"
glib:name="IBUS_BUS_REQUEST_NAME_REPLY_ALREADY_OWNER">
<doc xml:space="preserve"
filename="ibustypes.h"
line="172">same as DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER</doc>
</member>
</enumeration>
<enumeration name="BusStartServiceByNameReply"
glib:type-name="IBusBusStartServiceByNameReply"
glib:get-type="ibus_bus_start_service_by_name_reply_get_type"
c:type="IBusBusStartServiceByNameReply">
<member name="success"
value="1"
c:identifier="IBUS_BUS_START_REPLY_SUCCESS"
glib:nick="success"
glib:name="IBUS_BUS_START_REPLY_SUCCESS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="184">same as DBUS_START_REPLY_SUCCESS</doc>
</member>
<member name="already_running"
value="2"
c:identifier="IBUS_BUS_START_REPLY_ALREADY_RUNNING"
glib:nick="already-running"
glib:name="IBUS_BUS_START_REPLY_ALREADY_RUNNING">
<doc xml:space="preserve"
filename="ibustypes.h"
line="186">same as DBUS_START_REPLY_ALREADY_RUNNING</doc>
</member>
</enumeration>
<function-macro name="CHECK_VERSION"
c:identifier="IBUS_CHECK_VERSION"
introspectable="0">
<doc xml:space="preserve"
filename="ibusversion.h"
line="56">Check whether the current IBus version is equal to or greater than
given major.minor.micro.</doc>
<source-position filename="ibusversion.h" line="65"/>
<parameters>
<parameter name="major">
<doc xml:space="preserve"
filename="ibusversion.h"
line="58">Major version of ibus.</doc>
</parameter>
<parameter name="minor">
<doc xml:space="preserve"
filename="ibusversion.h"
line="59">Minor version of ibus.</doc>
</parameter>
<parameter name="micro">
<doc xml:space="preserve"
filename="ibusversion.h"
line="60">Micro version of ibus.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="COMPONENT"
c:identifier="IBUS_COMPONENT"
introspectable="0">
<source-position filename="ibuscomponent.h" line="59"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="COMPONENT_CLASS"
c:identifier="IBUS_COMPONENT_CLASS"
introspectable="0">
<source-position filename="ibuscomponent.h" line="61"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="COMPONENT_GET_CLASS"
c:identifier="IBUS_COMPONENT_GET_CLASS"
introspectable="0">
<source-position filename="ibuscomponent.h" line="67"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG"
c:identifier="IBUS_CONFIG"
introspectable="0">
<source-position filename="ibusconfig.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG_CLASS"
c:identifier="IBUS_CONFIG_CLASS"
introspectable="0">
<source-position filename="ibusconfig.h" line="51"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG_GET_CLASS"
c:identifier="IBUS_CONFIG_GET_CLASS"
introspectable="0">
<source-position filename="ibusconfig.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG_SERVICE"
c:identifier="IBUS_CONFIG_SERVICE"
introspectable="0">
<source-position filename="ibusconfigservice.h" line="146"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG_SERVICE_CLASS"
c:identifier="IBUS_CONFIG_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibusconfigservice.h" line="148"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONFIG_SERVICE_GET_CLASS"
c:identifier="IBUS_CONFIG_SERVICE_GET_CLASS"
introspectable="0">
<source-position filename="ibusconfigservice.h" line="154"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<bitfield name="Capabilite"
glib:type-name="IBusCapabilite"
glib:get-type="ibus_capabilite_get_type"
c:type="IBusCapabilite">
<doc xml:space="preserve"
filename="ibustypes.h"
line="102">Capability flags of UI.</doc>
<member name="preedit_text"
value="1"
c:identifier="IBUS_CAP_PREEDIT_TEXT"
glib:nick="preedit-text"
glib:name="IBUS_CAP_PREEDIT_TEXT">
<doc xml:space="preserve"
filename="ibustypes.h"
line="104">UI is capable to show pre-edit text.</doc>
</member>
<member name="auxiliary_text"
value="2"
c:identifier="IBUS_CAP_AUXILIARY_TEXT"
glib:nick="auxiliary-text"
glib:name="IBUS_CAP_AUXILIARY_TEXT">
<doc xml:space="preserve"
filename="ibustypes.h"
line="105">UI is capable to show auxiliary text.</doc>
</member>
<member name="lookup_table"
value="4"
c:identifier="IBUS_CAP_LOOKUP_TABLE"
glib:nick="lookup-table"
glib:name="IBUS_CAP_LOOKUP_TABLE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="106">UI is capable to show the lookup table.</doc>
</member>
<member name="focus"
value="8"
c:identifier="IBUS_CAP_FOCUS"
glib:nick="focus"
glib:name="IBUS_CAP_FOCUS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="107">UI is capable to get focus.</doc>
</member>
<member name="property"
value="16"
c:identifier="IBUS_CAP_PROPERTY"
glib:nick="property"
glib:name="IBUS_CAP_PROPERTY">
<doc xml:space="preserve"
filename="ibustypes.h"
line="108">UI is capable to have property.</doc>
</member>
<member name="surrounding_text"
value="32"
c:identifier="IBUS_CAP_SURROUNDING_TEXT"
glib:nick="surrounding-text"
glib:name="IBUS_CAP_SURROUNDING_TEXT">
<doc xml:space="preserve"
filename="ibustypes.h"
line="109">Client can provide surround text,
or IME can handle surround text.</doc>
</member>
</bitfield>
<class name="Component"
c:symbol-prefix="component"
c:type="IBusComponent"
parent="Serializable"
glib:type-name="IBusComponent"
glib:get-type="ibus_component_get_type"
glib:type-struct="ComponentClass">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="30">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
&lt;ulink url="https://github.com/ibus/ibus/wiki/DevXML"&gt;https://github.com/ibus/ibus/wiki/DevXML&lt;/ulink&gt;</doc>
<source-position filename="ibuscomponent.h" line="100"/>
<constructor name="new" c:identifier="ibus_component_new">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="104">Creates a new #IBusComponent.</doc>
<source-position filename="ibuscomponent.h" line="119"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="117">A newly allocated #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="106">Name of the component.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="description" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="107">Detailed description of component.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="version" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="108">Component version.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="license" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="109">Distribution license of this component.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="author" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="110">Author(s) of the component.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="homepage" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="111">Homepage of the component.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="command_line" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="112">path to component executable.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="textdomain" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="113">Domain name for dgettext()</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_file"
c:identifier="ibus_component_new_from_file">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="156">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.</doc>
<source-position filename="ibuscomponent.h" line="167"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="165">A newly allocated #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</return-value>
<parameters>
<parameter name="filename" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="158">An XML file that contains component information.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_xml_node"
c:identifier="ibus_component_new_from_xml_node">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="145">Creates a new #IBusComponent from an XML tree.</doc>
<source-position filename="ibuscomponent.h" line="153"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="151">A newly allocated #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="147">Root node of component XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_varargs"
c:identifier="ibus_component_new_varargs"
introspectable="0">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="128">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)</doc>
<source-position filename="ibuscomponent.h" line="142"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="140">A newly allocated #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="130">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="131">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<method name="add_engine" c:identifier="ibus_component_add_engine">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="262">Add an engine to #IBusComponent according to the description in @engine.</doc>
<source-position filename="ibuscomponent.h" line="269"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="264">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
<parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="265">A description of an engine.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</parameter>
</parameters>
</method>
<method name="add_observed_path"
c:identifier="ibus_component_add_observed_path">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="249">Add an observed path to #IBusComponent.</doc>
<source-position filename="ibuscomponent.h" line="257"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="251">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="252">Observed path to be added.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="access_fs" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="253">%TRUE for filling the file status; %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="check_modification"
c:identifier="ibus_component_check_modification">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="309">Check whether the observed paths of component is modified.</doc>
<source-position filename="ibuscomponent.h" line="318"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="315">%TRUE if at least one of the observed paths is modified;
%FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="311">An #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_author"
c:identifier="ibus_component_get_author"
glib:get-property="author">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="209">Gets the author property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="217"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="215">author property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="211">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_description"
c:identifier="ibus_component_get_description"
glib:get-property="description">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="179">Gets the description property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="187"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="185">description property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="181">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_engines" c:identifier="ibus_component_get_engines">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="272">Gets the engines of this component.</doc>
<source-position filename="ibuscomponent.h" line="281"/>
<return-value transfer-ownership="container">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="278">
A newly allocated GList that contains engines.</doc>
<type name="GLib.List" c:type="GList*">
<type name="EngineDesc"/>
</type>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="274">An #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_exec" c:identifier="ibus_component_get_exec">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="229">Gets the exec property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="237"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="235">exec property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="231">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_homepage"
c:identifier="ibus_component_get_homepage"
glib:get-property="homepage">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="219">Gets the homepage property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="227"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="225">homepage property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="221">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_license"
c:identifier="ibus_component_get_license"
glib:get-property="license">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="199">Gets the license property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="207"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="205">license property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="201">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="ibus_component_get_name"
glib:get-property="name">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="169">Gets the name property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="177"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="175">name property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="171">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_observed_paths"
c:identifier="ibus_component_get_observed_paths">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="321">Gets the observed paths of this component.</doc>
<source-position filename="ibuscomponent.h" line="330"/>
<return-value transfer-ownership="container">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="327">A
newly allocated GList that contains observed paths.</doc>
<type name="GLib.List" c:type="GList*">
<type name="ObservedPath"/>
</type>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="323">An #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_textdomain"
c:identifier="ibus_component_get_textdomain"
glib:get-property="textdomain">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="239">Gets the textdomain property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="247"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="245">textdomain property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="241">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_version"
c:identifier="ibus_component_get_version"
glib:get-property="version">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="189">Gets the version property in #IBusComponent. It should not be freed.</doc>
<source-position filename="ibuscomponent.h" line="197"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="195">version property in #IBusComponent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="191">An #IBusComponent</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
</parameters>
</method>
<method name="output" c:identifier="ibus_component_output">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="283">Output #IBusComponent as an XML-formatted string.
The output string can be then shown on the screen or written to file.</doc>
<source-position filename="ibuscomponent.h" line="292"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="285">An #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="286">GString that holds the result.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="indent" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="287">level of indent.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="output_engines"
c:identifier="ibus_component_output_engines">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="296">Output engine description as an XML-formatted string.
The output string can be then shown on the screen or written to file.</doc>
<source-position filename="ibuscomponent.h" line="305"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="component" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="298">An #IBusComponent.</doc>
<type name="Component" c:type="IBusComponent*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="299">GString that holds the result.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="indent" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.h"
line="300">level of indent.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="author"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_author">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="166">The author of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="command-line"
writable="1"
construct-only="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="192">The exec path of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="description"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_description">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="127">The description of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="homepage"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_homepage">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="179">The homepage of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="license"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_license">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="153">The license of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="name"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_name">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="114">The name of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="textdomain"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_textdomain">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="205">The textdomain of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="version"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_version">
<doc xml:space="preserve"
filename="ibuscomponent.c"
line="140">The version of component</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="ComponentPrivate" c:type="IBusComponentPrivate*"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="7">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="ComponentClass"
c:type="IBusComponentClass"
glib:is-gtype-struct-for="Component">
<source-position filename="ibuscomponent.h" line="100"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="ComponentPrivate"
c:type="IBusComponentPrivate"
disguised="1">
<source-position filename="ibuscomponent.h" line="75"/>
</record>
<class name="Config"
c:symbol-prefix="config"
c:type="IBusConfig"
parent="Proxy"
glib:type-name="IBusConfig"
glib:get-type="ibus_config_get_type"
glib:type-struct="ConfigClass">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="30">An IBusConfig provides engine configuration methods
such as get and set the configure settings to configuration file.
Currently, IBusConfig supports gconf.</doc>
<source-position filename="ibusconfig.h" line="85"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.DBusInterface"/>
<implements name="Gio.Initable"/>
<constructor name="new" c:identifier="ibus_config_new" throws="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="89">Create a new #IBusConfig from existing #GDBusConnection.</doc>
<source-position filename="ibusconfig.h" line="99"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="97">A newly allocated #IBusConfig corresponding to @connection.</doc>
<type name="Config" c:type="IBusConfig*"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="91">A #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="92">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_async_finish"
c:identifier="ibus_config_new_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="118">Finishes an operation started with ibus_config_new_async().</doc>
<source-position filename="ibusconfig.h" line="128"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="126">A newly allocated #IBusConfig.</doc>
<type name="Config" c:type="IBusConfig*"/>
</return-value>
<parameters>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="120">A #GAsyncResult obtained from the #GAsyncReadyCallback pass to
ibus_config_new_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</constructor>
<function name="new_async" c:identifier="ibus_config_new_async">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="103">New an #IBusConfig asynchronously.</doc>
<source-position filename="ibusconfig.h" line="113"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="105">An #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="106">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="107">A #GAsyncReadyCallback to call when the request is satisfied.
The callback should not be %NULL.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="109">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<method name="get_value" c:identifier="ibus_config_get_value">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="132">Get the value of a configuration option synchronously.
GConf stores configure options in a tree-like structure,
and the IBus related setting is at /desktop/ibus,
thus, @section here is a path from there,
while @name is the key of that configuration option.
ibus-chewing, for example, stores its setting in /desktop/ibus/engine/Chewing,
so the section name for it is "engine/Chewing".
See also: ibus_config_set_value().</doc>
<source-position filename="ibusconfig.h" line="151"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="149">A #GVariant or %NULL. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="134">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="135">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="136">Name of the configure option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_value_async"
c:identifier="ibus_config_get_value_async">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="155">Get the value of a configuration option asynchronously.
See also: ibus_config_get_value().</doc>
<source-position filename="ibusconfig.h" line="169"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="157">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="158">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="159">Name of the configure option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="160">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="161">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="5">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="162">Callback function to invoke when the return value is ready.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="163">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_value_async_finish"
c:identifier="ibus_config_get_value_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="177">Finish get value of a configuration option.</doc>
<source-position filename="ibusconfig.h" line="189"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="185">A #GVariant or %NULL if error is set. Free with g_variant_unref().
See also: ibus_config_get_value_async().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="179">A #IBusConfig.</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="result" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="180">A #GAsyncResult.</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="get_values" c:identifier="ibus_config_get_values">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="194">Get all values in a section synchronously.</doc>
<source-position filename="ibusconfig.h" line="205"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="201">A #GVariant or %NULL. Free with g_variant_unref().
See also: ibus_config_set_value().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="196">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="197">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_values_async"
c:identifier="ibus_config_get_values_async">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="208">Get all values in a section asynchronously.
See also: ibus_config_get_values().</doc>
<source-position filename="ibusconfig.h" line="221"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="210">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="211">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="212">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="213">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="214">Callback function to invoke when the return value is ready.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="215">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_values_async_finish"
c:identifier="ibus_config_get_values_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="228">Finish get values in a section.</doc>
<source-position filename="ibusconfig.h" line="240"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="236">A #GVariant or %NULL if error is set. Free with g_variant_unref().
See also: ibus_config_get_values_async().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="230">A #IBusConfig.</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="result" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="231">A #GAsyncResult.</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="set_value" c:identifier="ibus_config_set_value">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="245">Set the value of a configuration option synchronously.</doc>
<source-position filename="ibusconfig.h" line="259"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="255">%TRUE if succeed; %FALSE otherwise.
See also: ibus_config_get_value().</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="247">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="248">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="249">Name of the configure option its self.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="250">A #GVariant that holds the value. If the value is floating, the
function takes ownership of it.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</method>
<method name="set_value_async"
c:identifier="ibus_config_set_value_async">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="264">Set the value of a configuration option asynchronously.
See also: ibus_config_set_value().</doc>
<source-position filename="ibusconfig.h" line="280"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="266">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="267">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="268">Name of the configure option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="269">A #GVariant that holds the value. If the value is floating, the
function takes ownership of it.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="271">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="272">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="6">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="273">Callback function to invoke when the return value is ready.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="274">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_value_async_finish"
c:identifier="ibus_config_set_value_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="289">Finish set value of a configuration option.</doc>
<source-position filename="ibusconfig.h" line="301"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="297">%TRUE or %FALSE if error is set.
See also: ibus_config_set_value_async().</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="291">A #IBusConfig.</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="result" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="292">A #GAsyncResult.</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="unset" c:identifier="ibus_config_unset">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="306">Remove an entry of a configuration option.</doc>
<source-position filename="ibusconfig.h" line="318"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="314">%TRUE if succeed; %FALSE otherwise.
See also: ibus_config_get_value().</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="308">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="309">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="310">Name of the configure option its self.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="unwatch" c:identifier="ibus_config_unwatch">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="347">Unsubscribe from the configuration option change notification.</doc>
<source-position filename="ibusconfig.h" line="359"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="355">%TRUE if succeed; %FALSE otherwise.
See also: ibus_config_watch.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="349">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="350">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="351">Name of the configure option its self.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="watch" c:identifier="ibus_config_watch">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="324">Subscribe to the configuration option change notification.
Until this function is called, every change will be notified to the
client through #IBusConfig::value-changed signal. Clients should
call ibus_config_watch() with the sections they are interested in,
to reduce the number of D-Bus messages.</doc>
<source-position filename="ibusconfig.h" line="341"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="337">%TRUE if succeed; %FALSE otherwise.
See also: ibus_config_unwatch().</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="326">An #IBusConfig</doc>
<type name="Config" c:type="IBusConfig*"/>
</instance-parameter>
<parameter name="section"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="327">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusconfig.h"
line="328">Name of the configure option its self.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Proxy" c:type="IBusProxy"/>
</field>
<field name="priv" readable="0" private="1">
<type name="ConfigPrivate" c:type="IBusConfigPrivate*"/>
</field>
<glib:signal name="value-changed" when="last">
<doc xml:space="preserve"
filename="ibusconfig.c"
line="84">Emitted when configuration value is changed.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.c"
line="87">Section name.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.c"
line="88">Name of the property.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfig.c"
line="89">Value.</doc>
<type name="GLib.Variant"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="ConfigClass"
c:type="IBusConfigClass"
glib:is-gtype-struct-for="Config">
<source-position filename="ibusconfig.h" line="85"/>
<field name="parent" readable="0" private="1">
<type name="ProxyClass" c:type="IBusProxyClass"/>
</field>
</record>
<record name="ConfigPrivate" c:type="IBusConfigPrivate" disguised="1">
<source-position filename="ibusconfig.h" line="65"/>
</record>
<class name="ConfigService"
c:symbol-prefix="config_service"
c:type="IBusConfigService"
parent="Service"
glib:type-name="IBusConfigService"
glib:get-type="ibus_config_service_get_type"
glib:type-struct="ConfigServiceClass">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="30">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:
&lt;itemizedlist&gt;
&lt;listitem&gt;
&lt;para&gt;gboolean set_value(IBusConfigService *config, const gchar *section, const gchar *name,
const GValue *value, IBusError **error)
&lt;/para&gt;
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;config:&lt;/term&gt;
&lt;listitem&gt;A configure service&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;section:&lt;/term&gt;
&lt;listitem&gt;Section name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;name:&lt;/term&gt;
&lt;listitem&gt;Name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;value:&lt;/term&gt;
&lt;listitem&gt;GValue that holds the value.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;error:&lt;/term&gt;
&lt;listitem&gt;Error outputs here.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;Returns:&lt;/term&gt;
&lt;listitem&gt;TRUE if succeed; FALSE otherwise.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;
&lt;para&gt;Set a value to a configuration option.
&lt;/para&gt;
&lt;/listitem&gt;
&lt;listitem&gt;
&lt;para&gt;gboolean get_value(IBusConfigService *config, const gchar *section, const gchar *name,
GValue *value, IBusError **error)
&lt;/para&gt;
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;config:&lt;/term&gt;
&lt;listitem&gt;A configure service&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;section:&lt;/term&gt;
&lt;listitem&gt;Section name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;name:&lt;/term&gt;
&lt;listitem&gt;Name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;value:&lt;/term&gt;
&lt;listitem&gt;GValue that holds the value.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;error:&lt;/term&gt;
&lt;listitem&gt;Error outputs here.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;Returns:&lt;/term&gt;
&lt;listitem&gt;TRUE if succeed; FALSE otherwise.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;
&lt;para&gt;Get value of a configuration option.
&lt;/para&gt;
&lt;/listitem&gt;
&lt;listitem&gt;
&lt;para&gt;gboolean unset(IBusConfigService *config, const gchar *section, const gchar *name,
IBusError **error)
&lt;/para&gt;
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;config:&lt;/term&gt;
&lt;listitem&gt;A configure service&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;section:&lt;/term&gt;
&lt;listitem&gt;Section name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;name:&lt;/term&gt;
&lt;listitem&gt;Name of the configuration option.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;error:&lt;/term&gt;
&lt;listitem&gt;Error outputs here.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;Returns:&lt;/term&gt;
&lt;listitem&gt;TRUE if succeed; FALSE otherwise.&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;
&lt;para&gt;Remove an entry to a configuration option.
&lt;/para&gt;
&lt;/listitem&gt;
&lt;/itemizedlist&gt;</doc>
<source-position filename="ibusconfigservice.h" line="211"/>
<constructor name="new" c:identifier="ibus_config_service_new">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="215">Creates an new #IBusConfigService from an #GDBusConnection.</doc>
<source-position filename="ibusconfigservice.h" line="223"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="221">A newly allocated #IBusConfigServices.</doc>
<type name="ConfigService" c:type="IBusConfigService*"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="217">An #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="get_value" throws="1">
<source-position filename="ibusconfigservice.h" line="196"/>
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_values" throws="1">
<source-position filename="ibusconfigservice.h" line="204"/>
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_value" throws="1">
<source-position filename="ibusconfigservice.h" line="182"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="unset_value" throws="1">
<source-position filename="ibusconfigservice.h" line="200"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<method name="value_changed"
c:identifier="ibus_config_service_value_changed">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="225">Change a value of a configuration option
by sending a "ValueChanged" message to IBus service.</doc>
<source-position filename="ibusconfigservice.h" line="235"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="config" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="227">An IBusConfigService.</doc>
<type name="ConfigService" c:type="IBusConfigService*"/>
</instance-parameter>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="228">Section name of the configuration option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="229">Name of the configure option.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusconfigservice.h"
line="230">GVariant that holds the value.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Service" c:type="IBusService"/>
</field>
</class>
<record name="ConfigServiceClass"
c:type="IBusConfigServiceClass"
glib:is-gtype-struct-for="ConfigService">
<source-position filename="ibusconfigservice.h" line="211"/>
<field name="parent" readable="0" private="1">
<type name="ServiceClass" c:type="IBusServiceClass"/>
</field>
<field name="set_value">
<callback name="set_value" throws="1">
<source-position filename="ibusconfigservice.h" line="182"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_value">
<callback name="get_value" throws="1">
<source-position filename="ibusconfigservice.h" line="196"/>
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unset_value">
<callback name="unset_value" throws="1">
<source-position filename="ibusconfigservice.h" line="200"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_values">
<callback name="get_values" throws="1">
<source-position filename="ibusconfigservice.h" line="204"/>
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<parameter name="config" transfer-ownership="none">
<type name="ConfigService" c:type="IBusConfigService*"/>
</parameter>
<parameter name="section" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="12">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="EMOJI_DATA"
c:identifier="IBUS_EMOJI_DATA"
introspectable="0">
<source-position filename="ibusemoji.h" line="45"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMOJI_DATA_CLASS"
c:identifier="IBUS_EMOJI_DATA_CLASS"
introspectable="0">
<source-position filename="ibusemoji.h" line="47"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE"
c:identifier="IBUS_ENGINE"
introspectable="0">
<source-position filename="ibusengine.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_CLASS"
c:identifier="IBUS_ENGINE_CLASS"
introspectable="0">
<source-position filename="ibusengine.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_DESC"
c:identifier="IBUS_ENGINE_DESC"
introspectable="0">
<source-position filename="ibusenginedesc.h" line="59"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_DESC_CLASS"
c:identifier="IBUS_ENGINE_DESC_CLASS"
introspectable="0">
<source-position filename="ibusenginedesc.h" line="61"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_DESC_GET_CLASS"
c:identifier="IBUS_ENGINE_DESC_GET_CLASS"
introspectable="0">
<source-position filename="ibusenginedesc.h" line="67"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_GET_CLASS"
c:identifier="IBUS_ENGINE_GET_CLASS"
introspectable="0">
<source-position filename="ibusengine.h" line="61"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_SIMPLE"
c:identifier="IBUS_ENGINE_SIMPLE"
introspectable="0">
<source-position filename="ibusenginesimple.h" line="55"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_SIMPLE_CLASS"
c:identifier="IBUS_ENGINE_SIMPLE_CLASS"
introspectable="0">
<source-position filename="ibusenginesimple.h" line="57"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ENGINE_SIMPLE_GET_CLASS"
c:identifier="IBUS_ENGINE_SIMPLE_GET_CLASS"
introspectable="0">
<source-position filename="ibusenginesimple.h" line="63"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="EXTENSION_EVENT"
c:identifier="IBUS_EXTENSION_EVENT"
introspectable="0">
<source-position filename="ibusxevent.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="EXTENSION_EVENT_CLASS"
c:identifier="IBUS_EXTENSION_EVENT_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="53"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="EXTENSION_EVENT_GET_CLASS"
c:identifier="IBUS_EXTENSION_EVENT_GET_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="61"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="EmojiData"
c:symbol-prefix="emoji_data"
c:type="IBusEmojiData"
parent="Serializable"
glib:type-name="IBusEmojiData"
glib:get-type="ibus_emoji_data_get_type"
glib:type-struct="EmojiDataClass">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="59">Emoji data likes emoji unicode, annotations, description, category.
You can get extended values with g_object_get_properties.</doc>
<source-position filename="ibusemoji.h" line="77"/>
<constructor name="new"
c:identifier="ibus_emoji_data_new"
introspectable="0">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="81">Creates a new #IBusEmojiData.
emoji property is required. e.g.
ibus_emoji_data_new ("emoji", "😁", NULL)</doc>
<source-position filename="ibusemoji.h" line="92"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="90">A newly allocated #IBusEmojiData.</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="83">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="84">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<function name="load" c:identifier="ibus_emoji_data_load">
<source-position filename="ibusemoji.h" line="215"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="212">
An #IBusEmojiData list loaded from the saved cache file.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="EmojiData"/>
</type>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="210">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="save" c:identifier="ibus_emoji_data_save">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="198">Save the list of #IBusEmojiData to the cache file.</doc>
<source-position filename="ibusemoji.h" line="205"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="200">A path of the saved emoji data.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="201">A list of emoji data.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="EmojiData"/>
</type>
</parameter>
</parameters>
</function>
<method name="get_annotations"
c:identifier="ibus_emoji_data_get_annotations"
glib:get-property="annotations">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="105">Gets the annotation list in #IBusEmojiData. It should not be freed.</doc>
<source-position filename="ibusemoji.h" line="114"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="111">
annotation list property in #IBusEmojiData</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="107">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_category"
c:identifier="ibus_emoji_data_get_category"
glib:get-property="category">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="147">Gets the emoji category in #IBusEmojiData. It should not be freed.</doc>
<source-position filename="ibusemoji.h" line="155"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="153">category property in #IBusEmojiData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="149">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_description"
c:identifier="ibus_emoji_data_get_description"
glib:get-property="description">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="126">Gets the emoji description in #IBusEmojiData. It should not be freed.</doc>
<source-position filename="ibusemoji.h" line="134"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="132">description property in #IBusEmojiData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="128">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_emoji"
c:identifier="ibus_emoji_data_get_emoji"
glib:get-property="emoji">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="95">Gets the emoji character in #IBusEmojiData. It should not be freed.</doc>
<source-position filename="ibusemoji.h" line="103"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="101">emoji property in #IBusEmojiData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="97">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_annotations"
c:identifier="ibus_emoji_data_set_annotations"
glib:set-property="annotations">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="116">Sets the annotation list in #IBusEmojiData.</doc>
<source-position filename="ibusemoji.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="118">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
<parameter name="annotations" transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="119">List of emoji annotations</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</type>
</parameter>
</parameters>
</method>
<method name="set_description"
c:identifier="ibus_emoji_data_set_description"
glib:set-property="description">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="136">Sets the description in #IBusEmojiData.</doc>
<source-position filename="ibusemoji.h" line="143"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="138">An #IBusEmojiData</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</instance-parameter>
<parameter name="description" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="139">An emoji description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<property name="annotations"
writable="1"
construct="1"
transfer-ownership="container"
setter="set_annotations"
getter="get_annotations">
<doc xml:space="preserve"
filename="ibusemoji.c"
line="106">The emoji annotations</doc>
<type name="gpointer" c:type="gpointer"/>
</property>
<property name="category"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_category">
<doc xml:space="preserve"
filename="ibusemoji.c"
line="131">The emoji category</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="description"
writable="1"
construct="1"
transfer-ownership="none"
setter="set_description"
getter="get_description">
<doc xml:space="preserve"
filename="ibusemoji.c"
line="118">The emoji description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="emoji"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_emoji">
<doc xml:space="preserve"
filename="ibusemoji.c"
line="93">The emoji character</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="EmojiDataPrivate" c:type="IBusEmojiDataPrivate*"/>
</field>
</class>
<record name="EmojiDataClass"
c:type="IBusEmojiDataClass"
glib:is-gtype-struct-for="EmojiData">
<source-position filename="ibusemoji.h" line="77"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="EmojiDataPrivate"
c:type="IBusEmojiDataPrivate"
disguised="1">
<source-position filename="ibusemoji.h" line="56"/>
</record>
<class name="Engine"
c:symbol-prefix="engine"
c:type="IBusEngine"
parent="Service"
glib:type-name="IBusEngine"
glib:get-type="ibus_engine_get_type"
glib:type-struct="EngineClass">
<doc xml:space="preserve"
filename="ibusengine.h"
line="30">An IBusEngine provides infrastructure for input method engine.
Developers can "extend" this class for input method engine development.
see_also: #IBusComponent, #IBusEngineDesc</doc>
<source-position filename="ibusengine.h" line="160"/>
<constructor name="new" c:identifier="ibus_engine_new">
<doc xml:space="preserve"
filename="ibusengine.h"
line="164">Create a new #IBusEngine.</doc>
<source-position filename="ibusengine.h" line="174"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="172">A newly allocated IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</return-value>
<parameters>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="166">Name of the IBusObject.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="167">Path for IBusService.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="168">An opened GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_type"
c:identifier="ibus_engine_new_with_type">
<doc xml:space="preserve"
filename="ibusengine.h"
line="177">Create a new #IBusEngine.</doc>
<source-position filename="ibusengine.h" line="188"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="186">A newly allocated IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</return-value>
<parameters>
<parameter name="engine_type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="179">GType of #IBusEngine.</doc>
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="180">Name of the IBusObject.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="181">Path for IBusService.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="182">An opened GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="cancel_hand_writing">
<source-position filename="ibusengine.h" line="149"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="n_strokes" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="candidate_clicked">
<source-position filename="ibusengine.h" line="135"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="cursor_down">
<source-position filename="ibusengine.h" line="125"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="cursor_up">
<source-position filename="ibusengine.h" line="124"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="disable">
<source-position filename="ibusengine.h" line="111"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="enable">
<source-position filename="ibusengine.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="focus_in">
<source-position filename="ibusengine.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="focus_out">
<source-position filename="ibusengine.h" line="108"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="page_down">
<source-position filename="ibusengine.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="page_up">
<source-position filename="ibusengine.h" line="122"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="process_hand_writing_event">
<source-position filename="ibusengine.h" line="145"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="coordinates" transfer-ownership="none">
<type name="gdouble" c:type="const gdouble*"/>
</parameter>
<parameter name="coordinates_len" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="process_key_event">
<source-position filename="ibusengine.h" line="102"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="property_activate">
<source-position filename="ibusengine.h" line="127"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="prop_state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="property_hide">
<source-position filename="ibusengine.h" line="133"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="property_show">
<source-position filename="ibusengine.h" line="131"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="reset">
<source-position filename="ibusengine.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="set_capabilities">
<source-position filename="ibusengine.h" line="118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_content_type">
<source-position filename="ibusengine.h" line="152"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="purpose" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_cursor_location">
<source-position filename="ibusengine.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_surrounding_text">
<source-position filename="ibusengine.h" line="140"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="anchor_pos" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="commit_text" c:identifier="ibus_engine_commit_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="194">Commit output of input method to IBus client.
(Note: The text object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="205"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="196">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="197">String commit to IBusEngine.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="delete_surrounding_text"
c:identifier="ibus_engine_delete_surrounding_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="407">Delete surrounding text.</doc>
<source-position filename="ibusengine.h" line="415"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="409">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="410">The offset of the first char.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="nchars" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="411">Number of chars to be deleted.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="forward_key_event"
c:identifier="ibus_engine_forward_key_event">
<doc xml:space="preserve"
filename="ibusengine.h"
line="363">Forward the key event.</doc>
<source-position filename="ibusengine.h" line="372"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="365">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="366">KeySym.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="367">keyboard scancode.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="368">Key modifier flags.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_content_type"
c:identifier="ibus_engine_get_content_type">
<doc xml:space="preserve"
filename="ibusengine.h"
line="441">Get content-type (primary purpose and hints) of the current input
context.
See also: #IBusEngine::set-content-type</doc>
<source-position filename="ibusengine.h" line="452"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="443">An #IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="purpose"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.h"
line="444">Primary purpose of the input context.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="hints"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.h"
line="445">Hints that augument @purpose.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_name" c:identifier="ibus_engine_get_name">
<doc xml:space="preserve"
filename="ibusengine.h"
line="456">Return the name of #IBusEngine.</doc>
<source-position filename="ibusengine.h" line="464"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="462">Name of #IBusEngine.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="458">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_surrounding_text"
c:identifier="ibus_engine_get_surrounding_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="419">Get surrounding text.
It is also used to tell the input-context that the engine will
utilize surrounding-text. In that case, it must be called in
#IBusEngine::enable handler, with both @text and @cursor set to
%NULL.
See also: #IBusEngine::set-surrounding-text</doc>
<source-position filename="ibusengine.h" line="435"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="421">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text"
direction="out"
caller-allocates="0"
transfer-ownership="none"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.h"
line="422">Location to store surrounding text.</doc>
<type name="Text" c:type="IBusText**"/>
</parameter>
<parameter name="cursor_pos"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.h"
line="423">Cursor position in characters in @text.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="anchor_pos"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.h"
line="424">Anchor position of selection in @text.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="hide_auxiliary_text"
c:identifier="ibus_engine_hide_auxiliary_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="299">Hide the auxiliary bar.</doc>
<source-position filename="ibusengine.h" line="305"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="301">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="hide_lookup_table"
c:identifier="ibus_engine_hide_lookup_table">
<doc xml:space="preserve"
filename="ibusengine.h"
line="354">Hide the lookup table.</doc>
<source-position filename="ibusengine.h" line="360"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="356">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="hide_preedit_text"
c:identifier="ibus_engine_hide_preedit_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="264">Hide the pre-edit buffer.</doc>
<source-position filename="ibusengine.h" line="270"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="266">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="register_properties"
c:identifier="ibus_engine_register_properties">
<doc xml:space="preserve"
filename="ibusengine.h"
line="378">Register and show properties in language bar.
(Note: The prop_list object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="389"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="380">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="381">Property List.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</parameter>
</parameters>
</method>
<method name="show_auxiliary_text"
c:identifier="ibus_engine_show_auxiliary_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="290">Show the auxiliary bar.</doc>
<source-position filename="ibusengine.h" line="296"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="292">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="show_lookup_table"
c:identifier="ibus_engine_show_lookup_table">
<doc xml:space="preserve"
filename="ibusengine.h"
line="345">Show the lookup table.</doc>
<source-position filename="ibusengine.h" line="351"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="347">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="show_preedit_text"
c:identifier="ibus_engine_show_preedit_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="255">Show the pre-edit buffer.</doc>
<source-position filename="ibusengine.h" line="261"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="257">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
</parameters>
</method>
<method name="update_auxiliary_text"
c:identifier="ibus_engine_update_auxiliary_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="273">Update the auxiliary bar.
(Note: The text object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="285"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="275">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="276">Update content.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="277">Whether the auxiliary text bar is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_lookup_table"
c:identifier="ibus_engine_update_lookup_table">
<doc xml:space="preserve"
filename="ibusengine.h"
line="308">Update the lookup table.
(Note: The table object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="320"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="310">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="lookup_table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="311">An lookup_table.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="312">Whether the lookup_table is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_lookup_table_fast"
c:identifier="ibus_engine_update_lookup_table_fast">
<doc xml:space="preserve"
filename="ibusengine.h"
line="325">Fast update for big lookup table.
If size of lookup table is not over table page size *4,
then it calls ibus_engine_update_lookup_table().
(Note: The table object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="340"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="327">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="lookup_table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="328">An lookup_table.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="329">Whether the lookup_table is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_preedit_text"
c:identifier="ibus_engine_update_preedit_text">
<doc xml:space="preserve"
filename="ibusengine.h"
line="208">Update the pre-edit buffer.
(Note: The text object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="221"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="210">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="211">Update content.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="212">Current position of cursor</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="213">Whether the pre-edit buffer is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_preedit_text_with_mode"
c:identifier="ibus_engine_update_preedit_text_with_mode">
<doc xml:space="preserve"
filename="ibusengine.h"
line="227">Update the pre-edit buffer with commit mode. Similar to
ibus_engine_update_preedit_text(), this function allows users to specify
the behavior on focus out when the pre-edit buffer is visible.
If @mode is IBUS_ENGINE_PREEDIT_COMMIT, contents of the pre-edit buffer
will be committed and cleared.
If @mode is IBUS_ENGINE_PREEDIT_CLEAR, contents of the pre-edit buffer
will be cleared only.
(Note: The text object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="248"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="229">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="230">Update content.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="231">Current position of cursor</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="232">Whether the pre-edit buffer is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="233">Pre-edit commit mode when the focus is lost.</doc>
<type name="PreeditFocusMode" c:type="IBusPreeditFocusMode"/>
</parameter>
</parameters>
</method>
<method name="update_property"
c:identifier="ibus_engine_update_property">
<doc xml:space="preserve"
filename="ibusengine.h"
line="393">Update the state displayed in language bar.
(Note: The prop object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibusengine.h" line="404"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="engine" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="395">An IBusEngine.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</instance-parameter>
<parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.h"
line="396">IBusProperty to be updated.</doc>
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</method>
<property name="engine-name"
writable="1"
construct-only="1"
transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Service" c:type="IBusService"/>
</field>
<field name="priv" readable="0" private="1">
<type name="EnginePrivate" c:type="IBusEnginePrivate*"/>
</field>
<field name="enabled">
<doc xml:space="preserve"
filename="ibusengine.h"
line="73">Whether the engine is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="has_focus">
<doc xml:space="preserve"
filename="ibusengine.h"
line="74">Whether the engine has focus.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="cursor_area">
<doc xml:space="preserve"
filename="ibusengine.h"
line="75">Area of cursor.</doc>
<type name="Rectangle" c:type="IBusRectangle"/>
</field>
<field name="client_capabilities">
<doc xml:space="preserve"
filename="ibusengine.h"
line="76">IBusCapabilite (client capabilities) flags.</doc>
<type name="guint" c:type="guint"/>
</field>
<glib:signal name="cancel-hand-writing" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="751">Emitted when a hand writing operation is cancelled.
Implement the member function IBusEngineClass::cancel_hand_writing
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="n_strokes" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="754">The number of strokes to be removed. 0 means "remove all".</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="candidate-clicked" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="633">Emitted when candidate on lookup table is clicked.
Implement the member function IBusEngineClass::candidate_clicked
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="636">Index of candidate be clicked.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="637">Mouse button.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="638">Keyboard state.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cursor-down" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="613">Emitted when the down cursor button is pressed.
Implement the member function IBusEngineClass::cursor_down
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cursor-up" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="593">Emitted when the up cursor button is pressed.
Implement the member function IBusEngineClass::cursor_up
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="disable" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="480">Emitted when the IME is disabled.
Implement the member function IBusEngineClass::disable
in extended class to receive this signal.
See also: ibus_bus_set_global_engine().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="enable" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="459">Emitted when the IME is enabled.
Implement the member function IBusEngineClass::enable
in extended class to receive this signal.
See also: ibus_bus_set_global_engine().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="focus-in" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="396">Emitted when the client application get the focus.
Implement the member function IBusEngineClass::focus_in
in extended class to receive this signal.
See also: ibus_input_context_focus_in()
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="focus-out" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="417">Emitted when the client application lost the focus.
Implement the member function IBusEngineClass::focus_out
in extended class to receive this signal.
See also: ibus_input_context_focus_out()
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-down" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="573">Emitted when the page-down button is pressed.
Implement the member function IBusEngineClass::page_down
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-up" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="553">Emitted when the page-up button is pressed.
Implement the member function IBusEngineClass::page_up
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="process-hand-writing-event" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="727">Emitted when a hand writing operation is cancelled.
Implement the member function IBusEngineClass::cancel_hand_writing
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="coordinates"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusengine.c"
line="730">An array of double (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]).</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="coordinates_len" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="731">The number of elements in the array.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="process-key-event" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="364">Emitted when a key event is received.
Implement the member function IBusEngineClass::process_key_event
in extended class to receive this signal.
Both the key symbol and keycode are passed to the member function.
See ibus_input_context_process_key_event() for further explanation of
key symbol, keycode and which to use.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="378">%TRUE for successfully process the key; %FALSE otherwise.
See also: ibus_input_context_process_key_event().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="367">Key symbol of the key press.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="368">KeyCode of the key press.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="369">Key modifier flags.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="property-activate" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="659">Emitted when a property is activated or change changed.
Implement the member function IBusEngineClass::property_activate
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="662">Property name.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="663">Property state.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="property-hide" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="705">Emitted when a property is hidden.
Implement the member function IBusEngineClass::property_hide
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="708">Property name.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="property-show" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="683">Emitted when a property is shown.
Implement the member function IBusEngineClass::property_side
in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="686">Property name.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="reset" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="438">Emitted when the IME is reset.
Implement the member function IBusEngineClass::reset
in extended class to receive this signal.
See also: ibus_input_context_reset().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-capabilities" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="530">Emitted when the client application capabilities is set.
Implement the member function IBusEngineClass::set_capabilities
in extended class to receive this signal.
See also: ibus_input_context_set_capabilities().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="533">Capabilities flags of IBusEngine, see #IBusCapabilite</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-content-type" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="801">Emitted when the client application content-type (primary
purpose and hints) is set. The engine could change the
behavior according to the content-type. Implement the member
function IBusEngineClass::set_content_type
in extended class to receive this signal.
For example, if the client application wants to restrict input
to numbers, this signal will be emitted with @purpose set to
#IBUS_INPUT_PURPOSE_NUMBER, so the engine can switch the input
mode to latin.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this
function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="purpose" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="804">Primary purpose of the input context, as an #IBusInputPurpose.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="805">Hints that augment @purpose, as an #IBusInputHints.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-cursor-location" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="501">Emitted when the location of IME is set.
Implement the member function IBusEngineClass::set_cursor_location
in extended class to receive this signal.
See also: ibus_input_context_set_cursor_location().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="504">X coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="505">Y coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="506">Width of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="507">Height of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-surrounding-text" when="last">
<doc xml:space="preserve"
filename="ibusengine.c"
line="773">Emitted when a surrounding text is set.
Implement the member function IBusEngineClass::set_surrounding_text
in extended class to receive this signal.
If anchor_pos equals to cursor_pos, it means "there are no selection"
or "does not support selection retrival".
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="776">The surrounding text.</doc>
<type name="GObject.Object"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="777">The cursor position on surrounding text.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="anchor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusengine.c"
line="778">The anchor position on selection area.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="EngineClass"
c:type="IBusEngineClass"
glib:is-gtype-struct-for="Engine">
<source-position filename="ibusengine.h" line="160"/>
<field name="parent" readable="0" private="1">
<type name="ServiceClass" c:type="IBusServiceClass"/>
</field>
<field name="process_key_event">
<callback name="process_key_event">
<source-position filename="ibusengine.h" line="102"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_in">
<callback name="focus_in">
<source-position filename="ibusengine.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_out">
<callback name="focus_out">
<source-position filename="ibusengine.h" line="108"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reset">
<callback name="reset">
<source-position filename="ibusengine.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="enable">
<callback name="enable">
<source-position filename="ibusengine.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="disable">
<callback name="disable">
<source-position filename="ibusengine.h" line="111"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cursor_location">
<callback name="set_cursor_location">
<source-position filename="ibusengine.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_capabilities">
<callback name="set_capabilities">
<source-position filename="ibusengine.h" line="118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="page_up">
<callback name="page_up">
<source-position filename="ibusengine.h" line="122"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="page_down">
<callback name="page_down">
<source-position filename="ibusengine.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_up">
<callback name="cursor_up">
<source-position filename="ibusengine.h" line="124"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_down">
<callback name="cursor_down">
<source-position filename="ibusengine.h" line="125"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="property_activate">
<callback name="property_activate">
<source-position filename="ibusengine.h" line="127"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="prop_state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="property_show">
<callback name="property_show">
<source-position filename="ibusengine.h" line="131"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="property_hide">
<callback name="property_hide">
<source-position filename="ibusengine.h" line="133"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="prop_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="candidate_clicked">
<callback name="candidate_clicked">
<source-position filename="ibusengine.h" line="135"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_surrounding_text">
<callback name="set_surrounding_text">
<source-position filename="ibusengine.h" line="140"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="anchor_pos" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="process_hand_writing_event">
<callback name="process_hand_writing_event">
<source-position filename="ibusengine.h" line="145"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="coordinates" transfer-ownership="none">
<type name="gdouble" c:type="const gdouble*"/>
</parameter>
<parameter name="coordinates_len" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cancel_hand_writing">
<callback name="cancel_hand_writing">
<source-position filename="ibusengine.h" line="149"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="n_strokes" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_content_type">
<callback name="set_content_type">
<source-position filename="ibusengine.h" line="152"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="engine" transfer-ownership="none">
<type name="Engine" c:type="IBusEngine*"/>
</parameter>
<parameter name="purpose" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<class name="EngineDesc"
c:symbol-prefix="engine_desc"
c:type="IBusEngineDesc"
parent="Serializable"
glib:type-name="IBusEngineDesc"
glib:get-type="ibus_engine_desc_get_type"
glib:type-struct="EngineDescClass">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="31">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</doc>
<source-position filename="ibusenginedesc.h" line="95"/>
<constructor name="new" c:identifier="ibus_engine_desc_new">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="99">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.</doc>
<source-position filename="ibusenginedesc.h" line="118"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="116">A newly allocated IBusEngineDesc.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="101">Name of the engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="longname" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="102">Long name of the input method engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="description" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="103">Input method engine description.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="language" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="104">Language (e.g. zh, jp) supported by this input method engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="license" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="105">License of the input method engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="author" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="106">Author of the input method engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="icon" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="107">Icon file of this engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="layout" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="108">Keyboard layout</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_xml_node"
c:identifier="ibus_engine_desc_new_from_xml_node">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="147">Creates a new IBusEngineDesc from an XML node.
&lt;note&gt;&lt;para&gt;This function is called by ibus_component_new_from_file(),
so developers normally do not need to call it directly.
&lt;/para&gt;&lt;/note&gt;</doc>
<source-position filename="ibusenginedesc.h" line="159"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="156">A newly allocated IBusEngineDesc that contains description from
@node.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="149">An XML node</doc>
<type name="XML" c:type="IBusXML*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_varargs"
c:identifier="ibus_engine_desc_new_varargs"
introspectable="0">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="127">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.</doc>
<source-position filename="ibusenginedesc.h" line="143"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="141">A newly allocated IBusEngineDesc.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="129">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="130">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<method name="get_author"
c:identifier="ibus_engine_desc_get_author"
glib:get-property="author">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="213">Gets the author property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="221"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="219">author property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="215">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_description"
c:identifier="ibus_engine_desc_get_description"
glib:get-property="description">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="181">Gets the description property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="189"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="187">description property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="183">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_hotkeys"
c:identifier="ibus_engine_desc_get_hotkeys"
glib:get-property="hotkeys">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="275">Gets the hotkeys property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="283"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="281">hotkeys property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="277">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_icon"
c:identifier="ibus_engine_desc_get_icon"
glib:get-property="icon">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="223">Gets the icon property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="231"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="229">icon property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="225">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_icon_prop_key"
c:identifier="ibus_engine_desc_get_icon_prop_key"
glib:get-property="icon-prop-key">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="326">Gets the key of IBusProperty to load the panel icon dynamically
in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="335"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="333">IBusProperty.key for dynamic panel icon in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="328">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_language"
c:identifier="ibus_engine_desc_get_language"
glib:get-property="language">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="192">Gets the language property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="200"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="198">language property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="194">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_layout"
c:identifier="ibus_engine_desc_get_layout"
glib:get-property="layout">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="233">Gets the layout property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="241"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="239">layout property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="235">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_layout_option"
c:identifier="ibus_engine_desc_get_layout_option"
glib:get-property="layout-option">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="254">Gets the keyboard option property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="262"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="260">keyboard option property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="256">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_layout_variant"
c:identifier="ibus_engine_desc_get_layout_variant"
glib:get-property="layout-variant">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="243">Gets the keyboard variant property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="251"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="249">keyboard variant property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="245">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_license"
c:identifier="ibus_engine_desc_get_license"
glib:get-property="license">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="203">Gets the license property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="211"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="209">license property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="205">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_longname"
c:identifier="ibus_engine_desc_get_longname"
glib:get-property="longname">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="171">Gets the longname property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="179"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="177">longname property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="173">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="ibus_engine_desc_get_name"
glib:get-property="name">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="161">Gets the name property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="169"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="167">name property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="163">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_rank"
c:identifier="ibus_engine_desc_get_rank"
glib:get-property="rank">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="265">Gets the rank property in IBusEngineDesc.</doc>
<source-position filename="ibusenginedesc.h" line="273"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="271">rank property in IBusEngineDesc</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="267">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_setup"
c:identifier="ibus_engine_desc_get_setup"
glib:get-property="setup">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="295">Gets the setup property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="303"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="301">setup property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="297">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_symbol"
c:identifier="ibus_engine_desc_get_symbol"
glib:get-property="symbol">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="285">Gets the symbol property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="293"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="291">symbol property in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="287">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_textdomain"
c:identifier="ibus_engine_desc_get_textdomain"
glib:get-property="textdomain">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="315">Gets the textdomain property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="323"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="321">textdomain in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="317">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_version"
c:identifier="ibus_engine_desc_get_version"
glib:get-property="version">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="305">Gets the version property in IBusEngineDesc. It should not be freed.</doc>
<source-position filename="ibusenginedesc.h" line="313"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="311">version in IBusEngineDesc</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="307">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
</parameters>
</method>
<method name="output" c:identifier="ibus_engine_desc_output">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="338">Output XML-formatted input method engine description.
The result will be append to GString specified in @output.</doc>
<source-position filename="ibusenginedesc.h" line="347"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="info" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="340">An IBusEngineDesc</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="341">XML-formatted Input method engine description.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="indent" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginedesc.h"
line="342">Number of indent (showed as 4 spaces).</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="author"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_author">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="184">The author of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="description"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_description">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="145">The description of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="hotkeys"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_hotkeys">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="264">The hotkeys of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="icon"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_icon">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="197">The icon of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="icon-prop-key"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_icon_prop_key">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="329">The key of IBusProperty to change panel icon dynamically.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="language"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_language">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="158">The language of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="layout"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_layout">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="210">The layout of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="layout-option"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_layout_option">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="236">The keyboard option of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="layout-variant"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_layout_variant">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="223">The keyboard variant of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="license"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_license">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="171">The license of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="longname"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_longname">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="132">The longname of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="name"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_name">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="119">The name of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="rank"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_rank">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="249">The rank of engine description</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="setup"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_setup">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="290">The exec lists of the engine setup command</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="symbol"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_symbol">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="277">The symbol chars of engine description instead of icon image</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="textdomain"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_textdomain">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="316">The textdomain of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="version"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_version">
<doc xml:space="preserve"
filename="ibusenginedesc.c"
line="303">The version number of engine description</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="EngineDescPrivate" c:type="IBusEngineDescPrivate*"/>
</field>
</class>
<record name="EngineDescClass"
c:type="IBusEngineDescClass"
glib:is-gtype-struct-for="EngineDesc">
<source-position filename="ibusenginedesc.h" line="95"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="EngineDescPrivate"
c:type="IBusEngineDescPrivate"
disguised="1">
<source-position filename="ibusenginedesc.h" line="74"/>
</record>
<record name="EnginePrivate" c:type="IBusEnginePrivate" disguised="1">
<source-position filename="ibusengine.h" line="69"/>
</record>
<class name="EngineSimple"
c:symbol-prefix="engine_simple"
c:type="IBusEngineSimple"
parent="Engine"
glib:type-name="IBusEngineSimple"
glib:get-type="ibus_engine_simple_get_type"
glib:type-struct="EngineSimpleClass">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="31">An IBusEngineSimple provides table-based input method logic.
see_also: #IBusEngine</doc>
<source-position filename="ibusenginesimple.h" line="96"/>
<method name="add_compose_file"
c:identifier="ibus_engine_simple_add_compose_file">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="155">Call ibus_engine_simple_add_table() internally by locale.</doc>
<source-position filename="ibusenginesimple.h" line="164"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="162">%TRUE if the @file is loaded.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="simple" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="157">An IBusEngineSimple.</doc>
<type name="EngineSimple" c:type="IBusEngineSimple*"/>
</instance-parameter>
<parameter name="file" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="158">The compose file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_table" c:identifier="ibus_engine_simple_add_table">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="119">Adds an additional table to search to the engine. Each row of the table
consists of max_seq_len key symbols followed by two guint16 interpreted as
the high and low words of a gunicode value. Tables are searched starting from
the last added.
The table must be sorted in dictionary order on the numeric value of the key
symbol fields. (Values beyond the length of the sequence should be zero.)</doc>
<source-position filename="ibusenginesimple.h" line="136"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="simple" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="121">An IBusEngineSimple.</doc>
<type name="EngineSimple" c:type="IBusEngineSimple*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="122">The table which must be available
during the whole life of the simple engine.</doc>
<array zero-terminated="0" c:type="const guint16*">
<type name="guint16"/>
</array>
</parameter>
<parameter name="max_seq_len" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="124">Maximum length of a sequence in the table (cannot be greater
than %IBUS_MAX_COMPOSE_LEN)</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="n_seqs" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="126">number of sequences in the table</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="add_table_by_locale"
c:identifier="ibus_engine_simple_add_table_by_locale">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="141">Call ibus_engine_simple_add_table() internally by locale.</doc>
<source-position filename="ibusenginesimple.h" line="151"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="149">%TRUE if the @locale is matched to the table.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="simple" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="143">An IBusEngineSimple.</doc>
<type name="EngineSimple" c:type="IBusEngineSimple*"/>
</instance-parameter>
<parameter name="locale"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusenginesimple.h"
line="144">The locale name. If the locale is %NULL,
the current locale is used.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Engine" c:type="IBusEngine"/>
</field>
<field name="priv" readable="0" private="1">
<type name="EngineSimplePrivate" c:type="IBusEngineSimplePrivate*"/>
</field>
</class>
<record name="EngineSimpleClass"
c:type="IBusEngineSimpleClass"
glib:is-gtype-struct-for="EngineSimple">
<source-position filename="ibusenginesimple.h" line="96"/>
<field name="parent" readable="0" private="1">
<type name="EngineClass" c:type="IBusEngineClass"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="8">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="EngineSimplePrivate"
c:type="IBusEngineSimplePrivate"
disguised="1">
<source-position filename="ibusenginesimple.h" line="69"/>
</record>
<enumeration name="Error"
glib:type-name="IBusError"
glib:get-type="ibus_error_get_type"
c:type="IBusError"
glib:error-domain="ibus-error-quark">
<member name="no_engine"
value="0"
c:identifier="IBUS_ERROR_NO_ENGINE"
glib:nick="no-engine"
glib:name="IBUS_ERROR_NO_ENGINE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="196">There is no engine associated with input context.</doc>
</member>
<member name="no_config"
value="1"
c:identifier="IBUS_ERROR_NO_CONFIG"
glib:nick="no-config"
glib:name="IBUS_ERROR_NO_CONFIG">
<doc xml:space="preserve"
filename="ibustypes.h"
line="198">There is no config module running.</doc>
</member>
<member name="failed"
value="2"
c:identifier="IBUS_ERROR_FAILED"
glib:nick="failed"
glib:name="IBUS_ERROR_FAILED">
<doc xml:space="preserve"
filename="ibustypes.h"
line="200">General failure.</doc>
</member>
<function name="quark" c:identifier="ibus_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</enumeration>
<class name="ExtensionEvent"
c:symbol-prefix="extension_event"
c:type="IBusExtensionEvent"
parent="Serializable"
glib:type-name="IBusExtensionEvent"
glib:get-type="ibus_extension_event_get_type"
glib:type-struct="ExtensionEventClass">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="102">IBusExtensionEvent properties.</doc>
<source-position filename="ibusxevent.h" line="126"/>
<constructor name="new"
c:identifier="ibus_extension_event_new"
introspectable="0">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="131">Create a new #IBusExtensionEvent.</doc>
<source-position filename="ibusxevent.h" line="141"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="138">A newly allocated #IBusExtensionEvent. E.g.
ibus_extension_event_new ("name", "emoji", "is-enabled", TRUE, NULL);</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="133">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="134">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<method name="get_name"
c:identifier="ibus_extension_event_get_name"
glib:get-property="name">
<source-position filename="ibusxevent.h" line="159"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_params"
c:identifier="ibus_extension_event_get_params"
glib:get-property="params">
<source-position filename="ibusxevent.h" line="188"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="186">Parameters to enable the extension for #IBusXEvent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="184">An #IBusExtensionEvent.</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_version"
c:identifier="ibus_extension_event_get_version"
glib:get-property="version">
<source-position filename="ibusxevent.h" line="151"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="149">Version of #IBusExtensionEvent</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="147">An #IBusExtensionEvent.</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_enabled" c:identifier="ibus_extension_event_is_enabled">
<source-position filename="ibusxevent.h" line="167"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="165">%TRUE if the extension is enabled for #IBusExtensionEvent</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="163">An #IBusExtensionEvent.</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_extension"
c:identifier="ibus_extension_event_is_extension">
<source-position filename="ibusxevent.h" line="179"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="173">%TRUE if the #IBusExtensionEvent is called by an extension.
%FALSE if the #IBusExtensionEvent is called by an active engine or
panel.
If this value is %TRUE, the event is send to ibus-daemon, an active
engine. If it's %FALSE, the event is sned to ibus-daemon, panels.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="171">An #IBusExtensionEvent.</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</instance-parameter>
</parameters>
</method>
<property name="is-enabled"
writable="1"
construct-only="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="188">%TRUE if the extension is enabled in the #IBusExtensionEvent.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="is-extension"
writable="1"
construct-only="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="202">%TRUE if the #IBusExtensionEvent is called by an extension.
%FALSE if the #IBusExtensionEvent is called by an active engine or
panel.
If this value is %TRUE, the event is send to ibus-daemon, an active
engine. If it's %FALSE, the event is sned to ibus-daemon, panels.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="name"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_name">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="174">Name of the extension in the #IBusExtensionEvent.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="params"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_params">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="220">Parameters to enable the extension in the #IBusExtensionEvent.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="version" transfer-ownership="none" getter="get_version">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="159">Version of the #IBusExtensionEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="ExtensionEventPrivate"
c:type="IBusExtensionEventPrivate*"/>
</field>
</class>
<record name="ExtensionEventClass"
c:type="IBusExtensionEventClass"
glib:is-gtype-struct-for="ExtensionEvent">
<source-position filename="ibusxevent.h" line="126"/>
<field name="parent" readable="0" private="1">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="10">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="ExtensionEventPrivate"
c:type="IBusExtensionEventPrivate"
disguised="1">
<source-position filename="ibusxevent.h" line="85"/>
</record>
<function-macro name="FACTORY"
c:identifier="IBUS_FACTORY"
introspectable="0">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="63">Casts an IBUS_FACTORY or derived pointer into a (IBusFactory*) pointer.
Depending on the current debugging level, this function may invoke
certain runtime checks to identify invalid casts.</doc>
<source-position filename="ibusfactory.h" line="70"/>
<parameters>
<parameter name="obj">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="65">An object which is subject to casting.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="FACTORY_CLASS"
c:identifier="IBUS_FACTORY_CLASS"
introspectable="0">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="74">Casts a derived IBusFactoryClass structure into a IBusFactoryClass structure.</doc>
<source-position filename="ibusfactory.h" line="79"/>
<parameters>
<parameter name="klass">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="76">A class to be casted.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="FACTORY_GET_CLASS"
c:identifier="IBUS_FACTORY_GET_CLASS"
introspectable="0">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="101">Get the class of a given object and cast the class to IBusFactoryClass.</doc>
<source-position filename="ibusfactory.h" line="106"/>
<parameters>
<parameter name="obj">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="103">An object.</doc>
</parameter>
</parameters>
</function-macro>
<class name="Factory"
c:symbol-prefix="factory"
c:type="IBusFactory"
parent="Service"
glib:type-name="IBusFactory"
glib:get-type="ibus_factory_get_type"
glib:type-struct="FactoryClass">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="30">An IBusFactory is an #IBusService that creates input method engine (IME) instance.
It provides CreateEngine remote method, which creates an IME instance by name,
and returns the D-Bus object path to IBus daemon.
see_also: #IBusEngine</doc>
<source-position filename="ibusfactory.h" line="141"/>
<constructor name="new" c:identifier="ibus_factory_new">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="152">Creates a new #IBusFactory.</doc>
<source-position filename="ibusfactory.h" line="160"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="158">A newly allocated #IBusFactory.</doc>
<type name="Factory" c:type="IBusFactory*"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="154">An GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="create_engine" invoker="create_engine">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="174">Creates an #IBusEngine with @engine_name.</doc>
<source-position filename="ibusfactory.h" line="134"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="181">#IBusEngine with @engine_name.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</return-value>
<parameters>
<instance-parameter name="factory" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="176">An #IBusFactory.</doc>
<type name="Factory" c:type="IBusFactory*"/>
</instance-parameter>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="177">Name of an engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_engine" c:identifier="ibus_factory_add_engine">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="162">Add an engine to the factory.</doc>
<source-position filename="ibusfactory.h" line="170"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="factory" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="164">An IBusFactory.</doc>
<type name="Factory" c:type="IBusFactory*"/>
</instance-parameter>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="165">Name of an engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="engine_type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="166">GType of an engine.</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="create_engine" c:identifier="ibus_factory_create_engine">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="174">Creates an #IBusEngine with @engine_name.</doc>
<source-position filename="ibusfactory.h" line="183"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="181">#IBusEngine with @engine_name.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</return-value>
<parameters>
<instance-parameter name="factory" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="176">An #IBusFactory.</doc>
<type name="Factory" c:type="IBusFactory*"/>
</instance-parameter>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="177">Name of an engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Service" c:type="IBusService"/>
</field>
<field name="priv" readable="0" private="1">
<type name="FactoryPrivate" c:type="IBusFactoryPrivate*"/>
</field>
<glib:signal name="create-engine" when="last">
<doc xml:space="preserve"
filename="ibusfactory.c"
line="161">The ::create-engine signal is a signal to create IBusEngine
with @engine_name, which gets emitted when IBusFactory
received CreateEngine dbus method. The callback functions
will be called until a callback returns a non-null object
of IBusEngine.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="ibusfactory.c"
line="165">An IBusEngine</doc>
<type name="Engine"/>
</return-value>
<parameters>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.c"
line="164">the engine_name which received the signal</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="FactoryClass"
c:type="IBusFactoryClass"
glib:is-gtype-struct-for="Factory">
<source-position filename="ibusfactory.h" line="141"/>
<field name="parent" readable="0" private="1">
<type name="ServiceClass" c:type="IBusServiceClass"/>
</field>
<field name="create_engine">
<callback name="create_engine">
<source-position filename="ibusfactory.h" line="134"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="181">#IBusEngine with @engine_name.</doc>
<type name="Engine" c:type="IBusEngine*"/>
</return-value>
<parameters>
<parameter name="factory" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="176">An #IBusFactory.</doc>
<type name="Factory" c:type="IBusFactory*"/>
</parameter>
<parameter name="engine_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="177">Name of an engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="7">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="FactoryPrivate" c:type="IBusFactoryPrivate" disguised="1">
<source-position filename="ibusfactory.h" line="112"/>
</record>
<callback name="FreeFunc" c:type="IBusFreeFunc">
<doc xml:space="preserve"
filename="ibustypes.h"
line="226">Free function prototype.</doc>
<source-position filename="ibustypes.h" line="232"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibustypes.h"
line="228">object to be freed.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<function-macro name="HOTKEY_PROFILE"
c:identifier="IBUS_HOTKEY_PROFILE"
introspectable="0">
<source-position filename="ibushotkey.h" line="45"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="HOTKEY_PROFILE_CLASS"
c:identifier="IBUS_HOTKEY_PROFILE_CLASS"
introspectable="0">
<source-position filename="ibushotkey.h" line="47"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="HOTKEY_PROFILE_GET_CLASS"
c:identifier="IBUS_HOTKEY_PROFILE_GET_CLASS"
introspectable="0">
<source-position filename="ibushotkey.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="HotkeyProfile"
c:symbol-prefix="hotkey_profile"
c:type="IBusHotkeyProfile"
parent="Serializable"
glib:type-name="IBusHotkeyProfile"
glib:get-type="ibus_hotkey_profile_get_type"
glib:type-struct="HotkeyProfileClass">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="62">An opaque data type representing an IBusHotkeyProfile.</doc>
<source-position filename="ibushotkey.h" line="79"/>
<constructor name="new" c:identifier="ibus_hotkey_profile_new">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="83">Creates a new #IBusHotkeyProfile.</doc>
<source-position filename="ibushotkey.h" line="91"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="88">A newly allocated #IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</return-value>
</constructor>
<virtual-method name="trigger">
<source-position filename="ibushotkey.h" line="76"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_hotkey" c:identifier="ibus_hotkey_profile_add_hotkey">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="93">Adds a hotkey and its associated event to an #IBusHotkeyProfile.</doc>
<source-position filename="ibushotkey.h" line="104"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="102">Always %TRUE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="95">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="96">Keycode of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="97">Modifiers of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="98">The event to be associated.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="add_hotkey_from_string"
c:identifier="ibus_hotkey_profile_add_hotkey_from_string">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="109">Adds a hotkey and its associated event to an #IBusHotkeyProfile.
The hotkey is in string format, such like
&lt;constant&gt;Control+Shift+A&lt;/constant&gt;.</doc>
<source-position filename="ibushotkey.h" line="121"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="119">FALSE if @str contains invalid symbol; TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="111">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="112">Key in string representation. '+' is the separator.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="113">The event to be associated.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="filter_key_event"
c:identifier="ibus_hotkey_profile_filter_key_event">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="154">Emits a &lt;constant&gt;::trigger&lt;/constant&gt; signal when a hotkey is in a profile.</doc>
<source-position filename="ibushotkey.h" line="170"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="165">0 if releasing a hotkey and the hotkey is not in the profile;
an associated event otherwise.
See also: ::trigger</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="156">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="157">Keycode of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="158">Modifiers of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="prev_keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="159">Keycode of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="prev_modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="160">Modifiers of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="161">user data for signal "trigger".</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="lookup_hotkey"
c:identifier="ibus_hotkey_profile_lookup_hotkey">
<source-position filename="ibushotkey.h" line="187"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="184">The event associated to the hotkey or 0 if the hotkey is not in the
profile.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="180">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="181">Keycode of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="182">Modifiers of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="remove_hotkey"
c:identifier="ibus_hotkey_profile_remove_hotkey">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="126">Removes the hotkey for an #IBusHotkeyProfile.</doc>
<source-position filename="ibushotkey.h" line="136"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="134">%FALSE if the key is not in @profile, %TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="128">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="129">Keycode of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="130">Modifiers of the hotkey.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="remove_hotkey_by_event"
c:identifier="ibus_hotkey_profile_remove_hotkey_by_event">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="141">Removes the hotkey for an #IBusHotkeyProfile by event.</doc>
<source-position filename="ibushotkey.h" line="150"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="148">%FALSE if no such event in @profile, %TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="profile" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="143">An IBusHotkeyProfile.</doc>
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="144">The associated event.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<glib:signal name="trigger" when="last" detailed="1">
<doc xml:space="preserve"
filename="ibushotkey.c"
line="162">Emitted when a hotkey is pressed and the hotkey is in profile.
Implement the member function trigger() in extended class to receive this signal.
&lt;note&gt;&lt;para&gt;The last parameter, user_data is not actually a valid parameter. It is displayed because of GtkDoc bug.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibushotkey.c"
line="165">An event in GQuark.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibushotkey.c"
line="166">User data for callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="HotkeyProfileClass"
c:type="IBusHotkeyProfileClass"
glib:is-gtype-struct-for="HotkeyProfile">
<source-position filename="ibushotkey.h" line="79"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
<field name="trigger">
<callback name="trigger">
<source-position filename="ibushotkey.h" line="76"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="profile" transfer-ownership="none">
<type name="HotkeyProfile" c:type="IBusHotkeyProfile*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="2">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<function-macro name="INPUT_CONTEXT"
c:identifier="IBUS_INPUT_CONTEXT"
introspectable="0">
<source-position filename="ibusinputcontext.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INPUT_CONTEXT_CLASS"
c:identifier="IBUS_INPUT_CONTEXT_CLASS"
introspectable="0">
<source-position filename="ibusinputcontext.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="INPUT_CONTEXT_GET_CLASS"
c:identifier="IBUS_INPUT_CONTEXT_GET_CLASS"
introspectable="0">
<source-position filename="ibusinputcontext.h" line="61"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="INTERFACE_CONFIG"
value="org.freedesktop.IBus.Config"
c:type="IBUS_INTERFACE_CONFIG">
<doc xml:space="preserve"
filename="ibusshare.h"
line="193">D-Bus interface for IBus config.</doc>
<source-position filename="ibusshare.h" line="195"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_ENGINE"
value="org.freedesktop.IBus.Engine"
c:type="IBUS_INTERFACE_ENGINE">
<doc xml:space="preserve"
filename="ibusshare.h"
line="179">D-Bus interface for IBus engine.</doc>
<source-position filename="ibusshare.h" line="181"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_FACTORY"
value="org.freedesktop.IBus.Factory"
c:type="IBUS_INTERFACE_FACTORY">
<doc xml:space="preserve"
filename="ibusshare.h"
line="172">D-Bus interface for IBus factory.</doc>
<source-position filename="ibusshare.h" line="174"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_IBUS"
value="org.freedesktop.IBus"
c:type="IBUS_INTERFACE_IBUS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="150">D-Bus interface for IBus.</doc>
<source-position filename="ibusshare.h" line="153"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_INPUT_CONTEXT"
value="org.freedesktop.IBus.InputContext"
c:type="IBUS_INTERFACE_INPUT_CONTEXT">
<doc xml:space="preserve"
filename="ibusshare.h"
line="164">D-Bus interface for IBus input context.</doc>
<source-position filename="ibusshare.h" line="167"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_NOTIFICATIONS"
value="org.freedesktop.IBus.Notifications"
c:type="IBUS_INTERFACE_NOTIFICATIONS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="200">D-Bus interface for IBus notifications.</doc>
<source-position filename="ibusshare.h" line="202"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_PANEL"
value="org.freedesktop.IBus.Panel"
c:type="IBUS_INTERFACE_PANEL">
<doc xml:space="preserve"
filename="ibusshare.h"
line="186">D-Bus interface for IBus panel.</doc>
<source-position filename="ibusshare.h" line="188"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="INTERFACE_PORTAL"
value="org.freedesktop.IBus.Portal"
c:type="IBUS_INTERFACE_PORTAL">
<doc xml:space="preserve"
filename="ibusshare.h"
line="157">D-Bus interface for IBus portal.</doc>
<source-position filename="ibusshare.h" line="160"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="IS_ATTRIBUTE"
c:identifier="IBUS_IS_ATTRIBUTE"
introspectable="0">
<source-position filename="ibusattribute.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ATTRIBUTE_CLASS"
c:identifier="IBUS_IS_ATTRIBUTE_CLASS"
introspectable="0">
<source-position filename="ibusattribute.h" line="56"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ATTR_LIST"
c:identifier="IBUS_IS_ATTR_LIST"
introspectable="0">
<source-position filename="ibusattrlist.h" line="52"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ATTR_LIST_CLASS"
c:identifier="IBUS_IS_ATTR_LIST_CLASS"
introspectable="0">
<source-position filename="ibusattrlist.h" line="54"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUS"
c:identifier="IBUS_IS_BUS"
introspectable="0">
<source-position filename="ibusbus.h" line="55"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUS_CLASS"
c:identifier="IBUS_IS_BUS_CLASS"
introspectable="0">
<source-position filename="ibusbus.h" line="57"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_COMPONENT"
c:identifier="IBUS_IS_COMPONENT"
introspectable="0">
<source-position filename="ibuscomponent.h" line="63"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_COMPONENT_CLASS"
c:identifier="IBUS_IS_COMPONENT_CLASS"
introspectable="0">
<source-position filename="ibuscomponent.h" line="65"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONFIG"
c:identifier="IBUS_IS_CONFIG"
introspectable="0">
<source-position filename="ibusconfig.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONFIG_CLASS"
c:identifier="IBUS_IS_CONFIG_CLASS"
introspectable="0">
<source-position filename="ibusconfig.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONFIG_SERVICE"
c:identifier="IBUS_IS_CONFIG_SERVICE"
introspectable="0">
<source-position filename="ibusconfigservice.h" line="150"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONFIG_SERVICE_CLASS"
c:identifier="IBUS_IS_CONFIG_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibusconfigservice.h" line="152"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EMOJI_DATA"
c:identifier="IBUS_IS_EMOJI_DATA"
introspectable="0">
<source-position filename="ibusemoji.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE"
c:identifier="IBUS_IS_ENGINE"
introspectable="0">
<source-position filename="ibusengine.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE_CLASS"
c:identifier="IBUS_IS_ENGINE_CLASS"
introspectable="0">
<source-position filename="ibusengine.h" line="59"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE_DESC"
c:identifier="IBUS_IS_ENGINE_DESC"
introspectable="0">
<source-position filename="ibusenginedesc.h" line="63"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE_DESC_CLASS"
c:identifier="IBUS_IS_ENGINE_DESC_CLASS"
introspectable="0">
<source-position filename="ibusenginedesc.h" line="65"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE_SIMPLE"
c:identifier="IBUS_IS_ENGINE_SIMPLE"
introspectable="0">
<source-position filename="ibusenginesimple.h" line="59"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENGINE_SIMPLE_CLASS"
c:identifier="IBUS_IS_ENGINE_SIMPLE_CLASS"
introspectable="0">
<source-position filename="ibusenginesimple.h" line="61"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EXTENSION_EVENT"
c:identifier="IBUS_IS_EXTENSION_EVENT"
introspectable="0">
<source-position filename="ibusxevent.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EXTENSION_EVENT_CLASS"
c:identifier="IBUS_IS_EXTENSION_EVENT_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="59"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FACTORY"
c:identifier="IBUS_IS_FACTORY"
introspectable="0">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="83">Checks whether a valid GTypeInstance pointer is of type IBUS_FACTORY.</doc>
<source-position filename="ibusfactory.h" line="88"/>
<parameters>
<parameter name="obj">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="85">Instance to check for being a IBUS_FACTORY.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FACTORY_CLASS"
c:identifier="IBUS_IS_FACTORY_CLASS"
introspectable="0">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="92">Checks whether class "is a" valid IBusFactoryClass structure of type IBUS_FACTORY or derived.</doc>
<source-position filename="ibusfactory.h" line="97"/>
<parameters>
<parameter name="klass">
<doc xml:space="preserve"
filename="ibusfactory.h"
line="94">A class to be checked.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_HOTKEY_PROFILE"
c:identifier="IBUS_IS_HOTKEY_PROFILE"
introspectable="0">
<source-position filename="ibushotkey.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_HOTKEY_PROFILE_CLASS"
c:identifier="IBUS_IS_HOTKEY_PROFILE_CLASS"
introspectable="0">
<source-position filename="ibushotkey.h" line="51"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INPUT_CONTEXT"
c:identifier="IBUS_IS_INPUT_CONTEXT"
introspectable="0">
<source-position filename="ibusinputcontext.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INPUT_CONTEXT_CLASS"
c:identifier="IBUS_IS_INPUT_CONTEXT_CLASS"
introspectable="0">
<source-position filename="ibusinputcontext.h" line="59"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_KEYMAP"
c:identifier="IBUS_IS_KEYMAP"
introspectable="0">
<source-position filename="ibuskeymap.h" line="62"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_KEYMAP_CLASS"
c:identifier="IBUS_IS_KEYMAP_CLASS"
introspectable="0">
<source-position filename="ibuskeymap.h" line="64"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LOOKUP_TABLE"
c:identifier="IBUS_IS_LOOKUP_TABLE"
introspectable="0">
<source-position filename="ibuslookuptable.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LOOKUP_TABLE_CLASS"
c:identifier="IBUS_IS_LOOKUP_TABLE_CLASS"
introspectable="0">
<source-position filename="ibuslookuptable.h" line="59"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OBJECT"
c:identifier="IBUS_IS_OBJECT"
introspectable="0">
<source-position filename="ibusobject.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OBJECT_CLASS"
c:identifier="IBUS_IS_OBJECT_CLASS"
introspectable="0">
<source-position filename="ibusobject.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OBSERVED_PATH"
c:identifier="IBUS_IS_OBSERVED_PATH"
introspectable="0">
<source-position filename="ibusobservedpath.h" line="52"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OBSERVED_PATH_CLASS"
c:identifier="IBUS_IS_OBSERVED_PATH_CLASS"
introspectable="0">
<source-position filename="ibusobservedpath.h" line="54"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PANEL_SERVICE"
c:identifier="IBUS_IS_PANEL_SERVICE"
introspectable="0">
<source-position filename="ibuspanelservice.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PANEL_SERVICE_CLASS"
c:identifier="IBUS_IS_PANEL_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibuspanelservice.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROPERTY"
c:identifier="IBUS_IS_PROPERTY"
introspectable="0">
<source-position filename="ibusproperty.h" line="59"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROPERTY_CLASS"
c:identifier="IBUS_IS_PROPERTY_CLASS"
introspectable="0">
<source-position filename="ibusproperty.h" line="61"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROP_LIST"
c:identifier="IBUS_IS_PROP_LIST"
introspectable="0">
<source-position filename="ibusproplist.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROP_LIST_CLASS"
c:identifier="IBUS_IS_PROP_LIST_CLASS"
introspectable="0">
<source-position filename="ibusproplist.h" line="56"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY"
c:identifier="IBUS_IS_PROXY"
introspectable="0">
<source-position filename="ibusproxy.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_CLASS"
c:identifier="IBUS_IS_PROXY_CLASS"
introspectable="0">
<source-position filename="ibusproxy.h" line="60"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_REGISTRY"
c:identifier="IBUS_IS_REGISTRY"
introspectable="0">
<source-position filename="ibusregistry.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_REGISTRY_CLASS"
c:identifier="IBUS_IS_REGISTRY_CLASS"
introspectable="0">
<source-position filename="ibusregistry.h" line="56"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SERIALIZABLE"
c:identifier="IBUS_IS_SERIALIZABLE"
introspectable="0">
<source-position filename="ibusserializable.h" line="68"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SERIALIZABLE_CLASS"
c:identifier="IBUS_IS_SERIALIZABLE_CLASS"
introspectable="0">
<source-position filename="ibusserializable.h" line="70"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SERVICE"
c:identifier="IBUS_IS_SERVICE"
introspectable="0">
<source-position filename="ibusservice.h" line="51"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SERVICE_CLASS"
c:identifier="IBUS_IS_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibusservice.h" line="53"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TEXT"
c:identifier="IBUS_IS_TEXT"
introspectable="0">
<source-position filename="ibustext.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TEXT_CLASS"
c:identifier="IBUS_IS_TEXT_CLASS"
introspectable="0">
<source-position filename="ibustext.h" line="56"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNICODE_BLOCK"
c:identifier="IBUS_IS_UNICODE_BLOCK"
introspectable="0">
<source-position filename="ibusunicode.h" line="60"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNICODE_DATA"
c:identifier="IBUS_IS_UNICODE_DATA"
introspectable="0">
<source-position filename="ibusunicode.h" line="51"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_X_EVENT"
c:identifier="IBUS_IS_X_EVENT"
introspectable="0">
<source-position filename="ibusxevent.h" line="71"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_X_EVENT_CLASS"
c:identifier="IBUS_IS_X_EVENT_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="73"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<class name="InputContext"
c:symbol-prefix="input_context"
c:type="IBusInputContext"
parent="Proxy"
glib:type-name="IBusInputContext"
glib:get-type="ibus_input_context_get_type"
glib:type-struct="InputContextClass">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="31">An IBusInputContext is a proxy object of BusInputContext,
which manages the context for input methods that supports
text input in various natural languages.
Clients call the IBusInputContext to invoke BusInputContext,
through which invokes IBusEngine.</doc>
<source-position filename="ibusinputcontext.h" line="87"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.DBusInterface"/>
<implements name="Gio.Initable"/>
<constructor name="new" c:identifier="ibus_input_context_new" throws="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="91">Creates a new #IBusInputContext.</doc>
<source-position filename="ibusinputcontext.h" line="103"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="100">A newly allocated #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="93">The path to the object that emitting the signal.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="94">A #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="95">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_async_finish"
c:identifier="ibus_input_context_new_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="124">Finishes an operation started with ibus_input_context_new_async().</doc>
<source-position filename="ibusinputcontext.h" line="135"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="132">A newly allocated #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="126">A #GAsyncResult obtained from the #GAsyncReadyCallback pass to
ibus_input_context_new_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</constructor>
<function name="get_input_context"
c:identifier="ibus_input_context_get_input_context">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="138">Gets an existing IBusInputContext.</doc>
<source-position filename="ibusinputcontext.h" line="148"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="145">An existing #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="140">The path to the object that emitting the signal.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="141">A GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</function>
<function name="get_input_context_async"
c:identifier="ibus_input_context_get_input_context_async">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="151">Gets an existing #IBusInputContext asynchronously.</doc>
<source-position filename="ibusinputcontext.h" line="162"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="153">The path to the object that emitting the signal.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="154">A #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="155">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="156">A #GAsyncReadyCallback to call when the request is satisfied.
The callback should not be %NULL.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="158">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="get_input_context_async_finish"
c:identifier="ibus_input_context_get_input_context_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="169">Finishes an operation started with
ibus_input_context_get_input_context_async().</doc>
<source-position filename="ibusinputcontext.h" line="181"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="178">An existing #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</return-value>
<parameters>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="171">A #GAsyncResult obtained from the #GAsyncReadyCallback pass to
ibus_input_context_get_input_context_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</function>
<function name="new_async" c:identifier="ibus_input_context_new_async">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="107">Creates a new #IBusInputContext asynchronously.</doc>
<source-position filename="ibusinputcontext.h" line="118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="109">The path to the object that emitting the signal.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="110">A #GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="111">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="4">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="112">A #GAsyncReadyCallback to call when the request is satisfied.
The callback should not be %NULL.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="114">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<method name="cancel_hand_writing"
c:identifier="ibus_input_context_cancel_hand_writing">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="208">Clear handwriting stroke(s) in the current input method engine.
see_also: #IBusEngine::cancel-hand-writing</doc>
<source-position filename="ibusinputcontext.h" line="217"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="210">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="n_strokes" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="211">The number of strokes to be removed. Pass 0 to remove all.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="focus_in" c:identifier="ibus_input_context_focus_in">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="366">Invoked when the client application get focus. An asynchronous IPC will
be performed.
see_also: #IBusEngine::focus_in.</doc>
<source-position filename="ibusinputcontext.h" line="375"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="368">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="focus_out" c:identifier="ibus_input_context_focus_out">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="377">Invoked when the client application get focus. An asynchronous IPC will be performed.
see_also: #IBusEngine::focus_out.</doc>
<source-position filename="ibusinputcontext.h" line="385"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="379">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_engine" c:identifier="ibus_input_context_get_engine">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="434">Gets an IME engine description for the context.
A synchronous IPC will be performed.</doc>
<source-position filename="ibusinputcontext.h" line="444"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="441">An IME engine description for the context, or NULL.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="436">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_engine_async"
c:identifier="ibus_input_context_get_engine_async">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="398">An asynchronous IPC will be performed.</doc>
<source-position filename="ibusinputcontext.h" line="409"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="400">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="401">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="402">A #GCancellable or %NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="3">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="403">A #GAsyncReadyCallback to call when the request is satisfied or
%NULL if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="405">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_engine_async_finish"
c:identifier="ibus_input_context_get_engine_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="416">Finishes an operation started with ibus_input_context_get_engine_async().</doc>
<source-position filename="ibusinputcontext.h" line="429"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="425">An IME engine description for the context, or
%NULL.</doc>
<type name="EngineDesc" c:type="IBusEngineDesc*"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="418">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="419">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_input_context_get_engine_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="needs_surrounding_text"
c:identifier="ibus_input_context_needs_surrounding_text">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="470">Check whether the current engine requires surrounding-text.</doc>
<source-position filename="ibusinputcontext.h" line="479"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="476">%TRUE if surrounding-text is needed by the current engine;
%FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="472">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="process_hand_writing_event"
c:identifier="ibus_input_context_process_hand_writing_event">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="185">Pass a handwriting stroke to an input method engine.
In this API, a coordinate (0.0, 0.0) represents the top-left corner of an area for
handwriting, and (1.0, 1.0) does the bottom-right. Therefore, for example, if
a user writes a character 'L', the array would be something like [0.0, 0.0, 0.0, 1.0, 1.0, 1.0]
and coordinates_len would be 6.
The function is usually called when a user releases the mouse button in a hand
writing area.
see_also: #IBusEngine::process-hand-writing-event</doc>
<source-position filename="ibusinputcontext.h" line="203"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="187">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="coordinates" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="188">An array of gdouble (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]).</doc>
<type name="gdouble" c:type="const gdouble*"/>
</parameter>
<parameter name="coordinates_len" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="189">The number of elements in the array. The number should be even and &gt;= 4.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="process_key_event"
c:identifier="ibus_input_context_process_key_event">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="281">Pass the key event to input method engine and wait for the reply from
ibus (i.e. synchronous IPC).</doc>
<source-position filename="ibusinputcontext.h" line="295"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="291">%TRUE for successfully process the key; %FALSE otherwise.
See also: ibus_input_context_process_key_event_async()</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="283">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="284">Key symbol of a key event.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="285">Keycode of a key event.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="286">Key modifier flags.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="process_key_event_async"
c:identifier="ibus_input_context_process_key_event_async">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="221">Pass the key event to input method engine.
Key symbols are characters/symbols produced by key press, for example,
pressing "s" generates key symbol "s"; pressing shift-"s" generates key symbol "S".
Same key on keyboard may produce different key symbols on different keyboard layout.
e.g., "s" key on QWERTY keyboard produces "o" in DVORAK layout.
Unlike key symbol, keycode is only determined by the location of the key, and
irrelevant of the keyboard layout.
Briefly speaking, input methods that expect certain keyboard layout should use
keycode; otherwise keyval is sufficient.
For example, Chewing, Cangjie, Wubi expect an en-US QWERTY keyboard, these should
use keycode; while pinyin can rely on keyval only, as it is less sensitive to
the keyboard layout change, DVORAK users can still use DVORAK layout to input pinyin.
Use ibus_keymap_lookup_keysym() to convert keycode to keysym in given keyboard layout.
see_also: #IBusEngine::process-key-event</doc>
<source-position filename="ibusinputcontext.h" line="253"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="223">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="224">Key symbol of a key event.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="225">Keycode of a key event.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="226">Key modifier flags.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="timeout_msec" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="227">The timeout in milliseconds or -1 to use the default timeout.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="228">A GCancellable or NULL.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="6">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="229">A GAsyncReadyCallback to call when the request is satisfied or NULL
if you don't care about the result of the method invocation.</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="231">The data to pass to callback.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="process_key_event_async_finish"
c:identifier="ibus_input_context_process_key_event_async_finish"
throws="1">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="263">Finishes an operation started with
ibus_input_context_process_key_event_async().</doc>
<source-position filename="ibusinputcontext.h" line="276"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="273">%TRUE if the key event is processed;
%FALSE otherwise or some errors happen and the @error will be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="265">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="res" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="266">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ibus_input_context_process_key_event_async().</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<method name="property_activate"
c:identifier="ibus_input_context_property_activate">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="351">Activate the property asynchronously.
See also: #IBusEngine::property_activate</doc>
<source-position filename="ibusinputcontext.h" line="361"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="353">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="354">A property name (e.g. "InputMode.WideLatin")</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="355">A status of the property (e.g. PROP_STATE_CHECKED)</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="reset" c:identifier="ibus_input_context_reset">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="388">Invoked when the IME is reset. An asynchronous IPC will be performed.
see_also: #IBusEngine::reset</doc>
<source-position filename="ibusinputcontext.h" line="396"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="390">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_capabilities"
c:identifier="ibus_input_context_set_capabilities">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="336">Set the capabilities flags of client application asynchronously.
When IBUS_CAP_FOCUS is not set, IBUS_CAP_PREEDIT_TEXT, IBUS_CAP_AUXILIARY_TEXT, IBUS_CAP_LOOKUP_TABLE, and IBUS_CAP_PROPERTY have to be all set.
The panel component does nothing for an application that doesn't support focus.
see_also: #IBusEngine::set-capabilities</doc>
<source-position filename="ibusinputcontext.h" line="347"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="338">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="capabilities" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="339">Capabilities flags of IBusEngine, see #IBusCapabilite</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_client_commit_preedit"
c:identifier="ibus_input_context_set_client_commit_preedit">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="502">Set whether #IBusInputContext commits pre-edit texts or not.
If %TRUE, 'update-preedit-text-with-mode' signal is emitted
instead of 'update-preedit-text' signal.
If your client receives the 'update-preedit-text-with-mode' signal,
the client needs to implement commit_text() of pre-edit text when
GtkIMContextClass.focus_out() is called in case an IME desires that
behavior but it depends on each IME.
See also ibus_engine_update_preedit_text_with_mode().</doc>
<source-position filename="ibusinputcontext.h" line="522"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="504">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="client_commit" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="505">%TRUE if your input context commits pre-edit texts
with Space or Enter key events or mouse click events. %FALSE if
ibus-daemon commits pre-edit texts with those events.
The default is %FALSE. The behavior is decided with
ibus_engine_update_preedit_text_with_mode() to commit, clear or
keep the pre-edit text and this API is important in ibus-hangul.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_content_type"
c:identifier="ibus_input_context_set_content_type">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="482">Set content-type (primary purpose and hints) of the context. This
information is particularly useful to implement intelligent
behavior in engines, such as automatic input-mode switch and text
prediction. For example, to restrict input to numbers, the client
can call this function with @purpose set to
#IBUS_INPUT_PURPOSE_NUMBER.
See also: #IBusEngine::set-content-type</doc>
<source-position filename="ibusinputcontext.h" line="497"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="484">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="purpose" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="485">Primary purpose of the input context, as an #IBusInputPurpose.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="486">Hints that augment @purpose, as an #IBusInputHints.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_location"
c:identifier="ibus_input_context_set_cursor_location">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="302">Set the cursor location of IBus input context asynchronously.
see_also: #IBusEngine::set-cursor-location</doc>
<source-position filename="ibusinputcontext.h" line="314"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="304">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="305">X coordinate of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="306">Y coordinate of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="307">Width of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="308">Height of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_location_relative"
c:identifier="ibus_input_context_set_cursor_location_relative">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="320">Set the relative cursor location of IBus input context asynchronously.</doc>
<source-position filename="ibusinputcontext.h" line="330"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="322">An IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="323">X coordinate of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="324">Y coordinate of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="325">Width of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="326">Height of the cursor.</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
</parameters>
</method>
<method name="set_engine" c:identifier="ibus_input_context_set_engine">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="446">Invoked when the IME engine is changed.
An asynchronous IPC will be performed.</doc>
<source-position filename="ibusinputcontext.h" line="454"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="448">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="449">A name of the engine.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_surrounding_text"
c:identifier="ibus_input_context_set_surrounding_text">
<source-position filename="ibusinputcontext.h" line="464"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="459">An #IBusInputContext.</doc>
<type name="InputContext" c:type="IBusInputContext*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="460">An #IBusText surrounding the current cursor on the application.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="461">Current cursor position in characters in @text.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="anchor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.h"
line="462">Anchor position of selection in @text.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Proxy" c:type="IBusProxy"/>
</field>
<glib:signal name="commit-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="131">Emitted when the text is going to be committed.
(Note: The text object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="134">Text to be committed.</doc>
<type name="Text"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cursor-down-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="431">Emitted to select next candidate of lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cursor-up-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="416">Emitted to select previous candidate of lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="delete-surrounding-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="175">Emitted to delete surrounding text event from IME to client of IME.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="178">the character offset from the cursor position of the text to be deleted.
A negative value indicates a position before the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="n_chars" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="180">the number of characters to be deleted.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="disabled" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="116">Emitted when an IME is disabled.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="enabled" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="101">Emitted when an IME is enabled.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="forward-key-event" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="153">Emitted to forward key event from IME to client of IME.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="156">Key symbol of the keyboard event.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="157">Key symbol of the keyboard event.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="158">Key modifier flags.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="hide-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="318">Emitted to hide auxiliary text.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hide-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="371">Emitted to hide lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hide-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="265">Emitted to hide preedit text.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-down-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="401">Emitted to view the next page of lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-up-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="386">Emitted to view the previous page of lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="register-properties" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="447">Emitted to register the properties in @props.
(Note: The props object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="props" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="450">An IBusPropList that contains properties.</doc>
<type name="PropList"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="show-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="303">Emitted to show auxiliary text.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="356">Emitted to show lookup table.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="250">Emitted to show preedit text.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="update-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="280">Emitted to hide auxilary text.
(Note: The text object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="283">An auxiliary text</doc>
<type name="Text"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="284">The visibility of @text</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="333">Emitted to update lookup table.
(Note: The table object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="336">An IBusLookupTable to be updated.</doc>
<type name="LookupTable"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="337">Whether the table should be visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="196">Emitted to update preedit text.
(Note: The text object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="199">Text to be updated.</doc>
<type name="Text"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="200">Cursor position.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="201">Whether the update is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-preedit-text-with-mode" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="222">Emitted to update preedit text with the mode.
(Note: The text object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="225">Text to be updated.</doc>
<type name="Text"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="226">Cursor position.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="227">Whether the update is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="228">Preedit mode.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-property" when="last">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="469">Emitted to update the property @prop.
(Note: The prop object is floating, and it will be released after the
signal. If signal handler wants to keep the object, the handler should
use g_object_ref_sink() to get the ownership of the object.)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusinputcontext.c"
line="472">The IBusProperty to be updated.</doc>
<type name="Property"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="InputContextClass"
c:type="IBusInputContextClass"
glib:is-gtype-struct-for="InputContext">
<source-position filename="ibusinputcontext.h" line="87"/>
<field name="parent">
<type name="ProxyClass" c:type="IBusProxyClass"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="24">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<bitfield name="InputHints"
version="1.5.4"
glib:type-name="IBusInputHints"
glib:get-type="ibus_input_hints_get_type"
c:type="IBusInputHints">
<doc xml:space="preserve"
filename="ibustypes.h"
line="287">Describes hints that might be taken into account by engines. Note
that engines may already tailor their behaviour according to the
#IBusInputPurpose of the entry.
Some common sense is expected when using these flags - mixing
@IBUS_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.
This enumeration may be extended in the future; engines should
ignore unknown values.</doc>
<member name="none"
value="0"
c:identifier="IBUS_INPUT_HINT_NONE"
glib:nick="none"
glib:name="IBUS_INPUT_HINT_NONE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="289">No special behaviour suggested</doc>
</member>
<member name="spellcheck"
value="1"
c:identifier="IBUS_INPUT_HINT_SPELLCHECK"
glib:nick="spellcheck"
glib:name="IBUS_INPUT_HINT_SPELLCHECK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="290">Suggest checking for typos</doc>
</member>
<member name="no_spellcheck"
value="2"
c:identifier="IBUS_INPUT_HINT_NO_SPELLCHECK"
glib:nick="no-spellcheck"
glib:name="IBUS_INPUT_HINT_NO_SPELLCHECK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="291">Suggest not checking for typos</doc>
</member>
<member name="word_completion"
value="4"
c:identifier="IBUS_INPUT_HINT_WORD_COMPLETION"
glib:nick="word-completion"
glib:name="IBUS_INPUT_HINT_WORD_COMPLETION">
<doc xml:space="preserve"
filename="ibustypes.h"
line="292">Suggest word completion</doc>
</member>
<member name="lowercase"
value="8"
c:identifier="IBUS_INPUT_HINT_LOWERCASE"
glib:nick="lowercase"
glib:name="IBUS_INPUT_HINT_LOWERCASE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="293">Suggest to convert all text to lowercase</doc>
</member>
<member name="uppercase_chars"
value="16"
c:identifier="IBUS_INPUT_HINT_UPPERCASE_CHARS"
glib:nick="uppercase-chars"
glib:name="IBUS_INPUT_HINT_UPPERCASE_CHARS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="294">Suggest to capitalize all text</doc>
</member>
<member name="uppercase_words"
value="32"
c:identifier="IBUS_INPUT_HINT_UPPERCASE_WORDS"
glib:nick="uppercase-words"
glib:name="IBUS_INPUT_HINT_UPPERCASE_WORDS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="295">Suggest to capitalize the first
character of each word</doc>
</member>
<member name="uppercase_sentences"
value="64"
c:identifier="IBUS_INPUT_HINT_UPPERCASE_SENTENCES"
glib:nick="uppercase-sentences"
glib:name="IBUS_INPUT_HINT_UPPERCASE_SENTENCES">
<doc xml:space="preserve"
filename="ibustypes.h"
line="297">Suggest to capitalize the
first word of each sentence</doc>
</member>
<member name="inhibit_osk"
value="128"
c:identifier="IBUS_INPUT_HINT_INHIBIT_OSK"
glib:nick="inhibit-osk"
glib:name="IBUS_INPUT_HINT_INHIBIT_OSK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="299">Suggest to not show an onscreen keyboard
(e.g for a calculator that already has all the keys).</doc>
</member>
<member name="vertical_writing"
value="256"
c:identifier="IBUS_INPUT_HINT_VERTICAL_WRITING"
glib:nick="vertical-writing"
glib:name="IBUS_INPUT_HINT_VERTICAL_WRITING">
<doc xml:space="preserve"
filename="ibustypes.h"
line="301">The text is vertical. Since 1.5.11</doc>
</member>
<member name="emoji"
value="512"
c:identifier="IBUS_INPUT_HINT_EMOJI"
glib:nick="emoji"
glib:name="IBUS_INPUT_HINT_EMOJI">
<doc xml:space="preserve"
filename="ibustypes.h"
line="302">Suggest offering Emoji support. Since 1.5.24</doc>
</member>
<member name="no_emoji"
value="1024"
c:identifier="IBUS_INPUT_HINT_NO_EMOJI"
glib:nick="no-emoji"
glib:name="IBUS_INPUT_HINT_NO_EMOJI">
<doc xml:space="preserve"
filename="ibustypes.h"
line="303">Suggest not offering Emoji support. Since 1.5.24</doc>
</member>
<member name="private"
value="2048"
c:identifier="IBUS_INPUT_HINT_PRIVATE"
glib:nick="private"
glib:name="IBUS_INPUT_HINT_PRIVATE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="304">Request that the input method should not
update personalized data (like typing history). Since 1.5.26</doc>
</member>
</bitfield>
<enumeration name="InputPurpose"
version="1.5.4"
glib:type-name="IBusInputPurpose"
glib:get-type="ibus_input_purpose_get_type"
c:type="IBusInputPurpose">
<doc xml:space="preserve"
filename="ibustypes.h"
line="234">Describes primary purpose of the input context. This information
is particularly useful to implement intelligent behavior in
engines, such as automatic input-mode switch and text prediction.
Note that the purpose is not meant to impose a totally strict rule
about allowed characters, and does not replace input validation.
It is fine for an on-screen keyboard to let the user override the
character set restriction that is expressed by the purpose. The
application is expected to validate the entry contents, even if
it specified a purpose.
The difference between @IBUS_INPUT_PURPOSE_DIGITS and
@IBUS_INPUT_PURPOSE_NUMBER is that the former accepts only digits
while the latter also some punctuation (like commas or points, plus,
minus) and “e” or “E” as in 3.14E+000.
This enumeration may be extended in the future; engines should
interpret unknown values as 'free form'.</doc>
<member name="free_form"
value="0"
c:identifier="IBUS_INPUT_PURPOSE_FREE_FORM"
glib:nick="free-form"
glib:name="IBUS_INPUT_PURPOSE_FREE_FORM">
<doc xml:space="preserve"
filename="ibustypes.h"
line="236">Allow any character</doc>
</member>
<member name="alpha"
value="1"
c:identifier="IBUS_INPUT_PURPOSE_ALPHA"
glib:nick="alpha"
glib:name="IBUS_INPUT_PURPOSE_ALPHA">
<doc xml:space="preserve"
filename="ibustypes.h"
line="237">Allow only alphabetic characters</doc>
</member>
<member name="digits"
value="2"
c:identifier="IBUS_INPUT_PURPOSE_DIGITS"
glib:nick="digits"
glib:name="IBUS_INPUT_PURPOSE_DIGITS">
<doc xml:space="preserve"
filename="ibustypes.h"
line="238">Allow only digits</doc>
</member>
<member name="number"
value="3"
c:identifier="IBUS_INPUT_PURPOSE_NUMBER"
glib:nick="number"
glib:name="IBUS_INPUT_PURPOSE_NUMBER">
<doc xml:space="preserve"
filename="ibustypes.h"
line="239">Edited field expects numbers</doc>
</member>
<member name="phone"
value="4"
c:identifier="IBUS_INPUT_PURPOSE_PHONE"
glib:nick="phone"
glib:name="IBUS_INPUT_PURPOSE_PHONE">
<doc xml:space="preserve"
filename="ibustypes.h"
line="240">Edited field expects phone number</doc>
</member>
<member name="url"
value="5"
c:identifier="IBUS_INPUT_PURPOSE_URL"
glib:nick="url"
glib:name="IBUS_INPUT_PURPOSE_URL">
<doc xml:space="preserve"
filename="ibustypes.h"
line="241">Edited field expects URL</doc>
</member>
<member name="email"
value="6"
c:identifier="IBUS_INPUT_PURPOSE_EMAIL"
glib:nick="email"
glib:name="IBUS_INPUT_PURPOSE_EMAIL">
<doc xml:space="preserve"
filename="ibustypes.h"
line="242">Edited field expects email address</doc>
</member>
<member name="name"
value="7"
c:identifier="IBUS_INPUT_PURPOSE_NAME"
glib:nick="name"
glib:name="IBUS_INPUT_PURPOSE_NAME">
<doc xml:space="preserve"
filename="ibustypes.h"
line="243">Edited field expects the name of a person</doc>
</member>
<member name="password"
value="8"
c:identifier="IBUS_INPUT_PURPOSE_PASSWORD"
glib:nick="password"
glib:name="IBUS_INPUT_PURPOSE_PASSWORD">
<doc xml:space="preserve"
filename="ibustypes.h"
line="244">Like @IBUS_INPUT_PURPOSE_FREE_FORM,
but characters are hidden</doc>
</member>
<member name="pin"
value="9"
c:identifier="IBUS_INPUT_PURPOSE_PIN"
glib:nick="pin"
glib:name="IBUS_INPUT_PURPOSE_PIN">
<doc xml:space="preserve"
filename="ibustypes.h"
line="246">Like @IBUS_INPUT_PURPOSE_DIGITS, but
characters are hidden</doc>
</member>
<member name="terminal"
value="10"
c:identifier="IBUS_INPUT_PURPOSE_TERMINAL"
glib:nick="terminal"
glib:name="IBUS_INPUT_PURPOSE_TERMINAL">
<doc xml:space="preserve"
filename="ibustypes.h"
line="248">Allow any character, in addition to control
codes. Since 1.5.24</doc>
</member>
</enumeration>
<function-macro name="KEYMAP"
c:identifier="IBUS_KEYMAP"
introspectable="0">
<source-position filename="ibuskeymap.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="KEYMAP_CLASS"
c:identifier="IBUS_KEYMAP_CLASS"
introspectable="0">
<source-position filename="ibuskeymap.h" line="60"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="KEYMAP_GET_CLASS"
c:identifier="IBUS_KEYMAP_GET_CLASS"
introspectable="0">
<source-position filename="ibuskeymap.h" line="66"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="Keymap"
c:symbol-prefix="keymap"
c:type="IBusKeymap"
parent="Object"
glib:type-name="IBusKeymap"
glib:get-type="ibus_keymap_get_type"
glib:type-struct="KeymapClass">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="30">An IBusKeymap defines the mapping between keyboard scancodes and
keyboard symbols such as numbers, alphabets, and punctuation marks.
Some input methods assume certain keyboard layout
(such as Chewing and Wubi requires an US-QWERTY layout),
and expect key symbols to be arranged in that order.
These input methods should new an IBusKeymap
instance and define the keyboard layout.
Then ibus_keymap_lookup_keysym() can
convert scancodes back to the key symbols.
see_also: #IBusComponent, #IBusEngineDesc</doc>
<source-position filename="ibuskeymap.h" line="109"/>
<constructor name="new" c:identifier="ibus_keymap_new" deprecated="1">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="113">Get an #IBusKeymap associated with the giving name.
This function loads the keymap file specified in @name
in the IBUS_DATA_DIR/keymaps directory.</doc>
<doc-deprecated xml:space="preserve">This function has been deprecated and should
not be used in newly written code. Please use ibus_keymap_get().</doc-deprecated>
<source-position filename="ibuskeymap.h" line="127"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="122">An #IBusKeymap associated with the giving name; or %NULL if failed.</doc>
<type name="Keymap" c:type="IBusKeymap*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="115">The keymap file to be loaded, such as 'us', 'jp'.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<function name="get" c:identifier="ibus_keymap_get">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="130">Get an IBusKeymap associated with the giving name.
This function loads the keymap file specified in @name
in the IBUS_DATA_DIR/keymaps directory.</doc>
<source-position filename="ibuskeymap.h" line="142"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="139">An #IBusKeymap associated with the giving name;
or %NULL if failed.</doc>
<type name="Keymap" c:type="IBusKeymap*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="132">The keymap file to be loaded, such as 'us', 'jp'.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<method name="lookup_keysym" c:identifier="ibus_keymap_lookup_keysym">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="144">Converts the scancode to keysym, given the keymap.</doc>
<source-position filename="ibuskeymap.h" line="154"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="152">Corresponding keysym.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="keymap" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="146">An IBusKeymap.</doc>
<type name="Keymap" c:type="IBusKeymap*"/>
</instance-parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="147">A scancode to be converted.</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="148">Modifier flags(such as Ctrl, Shift).</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Object" c:type="IBusObject"/>
</field>
<field name="name">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="93">The name of the keymap, such as 'us', 'jp'.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="keymap">
<doc xml:space="preserve"
filename="ibuskeymap.h"
line="94">Keymap table. IME developers normally don have to touch this.</doc>
<array zero-terminated="0" fixed-size="1792">
<type name="guint" c:type="guint"/>
</array>
</field>
</class>
<record name="KeymapClass"
c:type="IBusKeymapClass"
glib:is-gtype-struct-for="Keymap">
<source-position filename="ibuskeymap.h" line="109"/>
<field name="parent">
<type name="ObjectClass" c:type="IBusObjectClass"/>
</field>
</record>
<function-macro name="LOOKUP_TABLE"
c:identifier="IBUS_LOOKUP_TABLE"
introspectable="0">
<source-position filename="ibuslookuptable.h" line="53"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="LOOKUP_TABLE_CLASS"
c:identifier="IBUS_LOOKUP_TABLE_CLASS"
introspectable="0">
<source-position filename="ibuslookuptable.h" line="55"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="LOOKUP_TABLE_GET_CLASS"
c:identifier="IBUS_LOOKUP_TABLE_GET_CLASS"
introspectable="0">
<source-position filename="ibuslookuptable.h" line="61"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="LookupTable"
c:symbol-prefix="lookup_table"
c:type="IBusLookupTable"
parent="Serializable"
glib:type-name="IBusLookupTable"
glib:get-type="ibus_lookup_table_get_type"
glib:type-struct="LookupTableClass">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="30">An IBusLookuptable stores the candidate words or phrases for users to
choose from.
Use ibus_engine_update_lookup_table(), ibus_engine_show_lookup_table(),
and ibus_engine_hide_lookup_table() to update, show and hide the lookup
table.
see_also: #IBusEngine</doc>
<source-position filename="ibuslookuptable.h" line="103"/>
<constructor name="new" c:identifier="ibus_lookup_table_new">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="108">Craetes a new #IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="119"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="117">A newly allocated #IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</return-value>
<parameters>
<parameter name="page_size" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="110">number of candidate shown per page, the max value is 16.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="111">position index of cursor.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cursor_visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="112">whether the cursor is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="round" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="113">TRUE for lookup table wrap around.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="append_candidate"
c:identifier="ibus_lookup_table_append_candidate">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="124">Append a candidate word/phrase to IBusLookupTable, and increase reference.</doc>
<source-position filename="ibuslookuptable.h" line="131"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="126">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="127">candidate word/phrase to be appended (in IBusText format).</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="append_label"
c:identifier="ibus_lookup_table_append_label">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="160">Append a candidate word/phrase to IBusLookupTable, and increase reference.
This function is needed if the input method select candidate with
non-numeric keys such as "asdfghjkl;".</doc>
<source-position filename="ibuslookuptable.h" line="169"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="162">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="163">A candidate label to be appended (in IBusText format).</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="ibus_lookup_table_clear">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="323">Clear and remove all candidate from an IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="329"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="325">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="cursor_down" c:identifier="ibus_lookup_table_cursor_down">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="373">Go to next candidate of an #IBusLookupTable.
It returns FALSE if it is already at the last candidate,
unless &lt;code&gt;table&amp;gt;-round==TRUE&lt;/code&gt;, where it will go
to the first candidate.</doc>
<source-position filename="ibuslookuptable.h" line="385"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="383">%TRUE if succeed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="375">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="cursor_up" c:identifier="ibus_lookup_table_cursor_up">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="359">Go to previous candidate of an #IBusLookupTable.
It returns FALSE if it is already at the first candidate,
unless &lt;code&gt;table&amp;gt;-round==TRUE&lt;/code&gt;, where it will go
to the last candidate.</doc>
<source-position filename="ibuslookuptable.h" line="371"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="369">%TRUE if succeed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="361">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_candidate"
c:identifier="ibus_lookup_table_get_candidate">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="146">Return #IBusText at the given index. Borrowed reference.</doc>
<source-position filename="ibuslookuptable.h" line="156"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="153">IBusText at the given index; NULL if no such
#IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="148">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="149">Index in the Lookup table.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_cursor_in_page"
c:identifier="ibus_lookup_table_get_cursor_in_page">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="247">Gets the cursor position in current page of #IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="255"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="253">The position of cursor in current page.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="249">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_cursor_pos"
c:identifier="ibus_lookup_table_get_cursor_pos">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="214">Gets the cursor position of #IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="222"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="220">The position of cursor.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="216">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_label" c:identifier="ibus_lookup_table_get_label">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="188">Return #IBusText at the given index. Borrowed reference.</doc>
<source-position filename="ibuslookuptable.h" line="198"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="195">#IBusText at the given index; %NULL if no such
#IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="190">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="191">Index in the Lookup table.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_number_of_candidates"
c:identifier="ibus_lookup_table_get_number_of_candidates">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="135">Return the number of candidate in the table.</doc>
<source-position filename="ibuslookuptable.h" line="143"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="141">The number of candidates in the table</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="137">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_orientation"
c:identifier="ibus_lookup_table_get_orientation">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="311">Returns the orientation of the #IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="319"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="317">The orientation of the @table.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="313">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_page_size"
c:identifier="ibus_lookup_table_get_page_size">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="268">Gets the number of candidate shown per page.</doc>
<source-position filename="ibuslookuptable.h" line="277"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="274">Page size, i.e., number of candidate shown per page.
dd</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="270">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_cursor_visible"
c:identifier="ibus_lookup_table_is_cursor_visible">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="236">Returns whether the cursor of an #IBusLookupTable is visible.</doc>
<source-position filename="ibuslookuptable.h" line="244"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="242">Whether the cursor of @table is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="238">An #IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_round" c:identifier="ibus_lookup_table_is_round">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="290">Returns whether the #IBusLookupTable is round.</doc>
<source-position filename="ibuslookuptable.h" line="298"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="296">Whether the @table is round.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="292">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="page_down" c:identifier="ibus_lookup_table_page_down">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="345">Go to next page of an #IBusLookupTable.
It returns FALSE if it is already at the last page,
unless &lt;code&gt;table&amp;gt;-round==TRUE&lt;/code&gt;, where it will go
to the first page.</doc>
<source-position filename="ibuslookuptable.h" line="357"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="355">%TRUE if succeed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="347">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="page_up" c:identifier="ibus_lookup_table_page_up">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="331">Go to previous page of an #IBusLookupTable.
It returns FALSE if it is already at the first page,
unless &lt;code&gt;table&amp;gt;-round==TRUE&lt;/code&gt;, where it will go
to the last page.</doc>
<source-position filename="ibuslookuptable.h" line="343"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="341">%TRUE if succeed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="333">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_cursor_pos"
c:identifier="ibus_lookup_table_set_cursor_pos">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="203">Set the cursor position of IBusLookupTable.</doc>
<source-position filename="ibuslookuptable.h" line="210"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="205">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="206">The position of cursor.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_cursor_visible"
c:identifier="ibus_lookup_table_set_cursor_visible">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="225">Set whether to make the cursor of an IBusLookupTable visible or not.</doc>
<source-position filename="ibuslookuptable.h" line="232"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="227">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="228">Whether to make the cursor of @table visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_label" c:identifier="ibus_lookup_table_set_label">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="173">Append a candidate word/phrase to IBusLookupTable, and increase reference.
This function is needed if the input method select candidate with
non-numeric keys such as "asdfghjkl;".</doc>
<source-position filename="ibuslookuptable.h" line="183"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="175">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="176">Intex in the Lookup table.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="177">A candidate label to be appended (in IBusText format).</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="set_orientation"
c:identifier="ibus_lookup_table_set_orientation">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="300">Set the orientation.</doc>
<source-position filename="ibuslookuptable.h" line="307"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="302">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="orientation" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="303">.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_page_size"
c:identifier="ibus_lookup_table_set_page_size">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="258">Set the number of candidate shown per page.</doc>
<source-position filename="ibuslookuptable.h" line="265"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="260">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="page_size" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="261">number of candidate shown per page.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_round" c:identifier="ibus_lookup_table_set_round">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="280">Set whether to make the IBusLookupTable round or not.</doc>
<source-position filename="ibuslookuptable.h" line="287"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="282">An IBusLookupTable.</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</instance-parameter>
<parameter name="round" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="283">Whether to make @table round.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="page_size">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="73">number of candidate shown per page.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="cursor_pos">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="74">position index of cursor.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="cursor_visible">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="75">whether the cursor is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="round">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="76">TRUE for lookup table wrap around.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="orientation">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="77">orientation of the table.</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="candidates">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="78">Candidate words/phrases.</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<field name="labels">
<doc xml:space="preserve"
filename="ibuslookuptable.h"
line="79">Candidate labels which identify individual candidates in the same page. Default is 1, 2, 3, 4 ...</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="LookupTableClass"
c:type="IBusLookupTableClass"
glib:is-gtype-struct-for="LookupTable">
<source-position filename="ibuslookuptable.h" line="103"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<constant name="MAJOR_VERSION" value="1" c:type="IBUS_MAJOR_VERSION">
<doc xml:space="preserve"
filename="ibusversion.h"
line="35">IBus major version.</doc>
<source-position filename="ibusversion.h" line="40"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MAX_COMPOSE_LEN" value="255" c:type="IBUS_MAX_COMPOSE_LEN">
<source-position filename="ibusenginesimple.h" line="47"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="26" c:type="IBUS_MICRO_VERSION">
<doc xml:space="preserve"
filename="ibusversion.h"
line="49">IBus micro version.</doc>
<source-position filename="ibusversion.h" line="54"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="5" c:type="IBUS_MINOR_VERSION">
<doc xml:space="preserve"
filename="ibusversion.h"
line="42">IBus minor version.</doc>
<source-position filename="ibusversion.h" line="47"/>
<type name="gint" c:type="gint"/>
</constant>
<bitfield name="ModifierType"
glib:type-name="IBusModifierType"
glib:get-type="ibus_modifier_type_get_type"
c:type="IBusModifierType">
<doc xml:space="preserve"
filename="ibustypes.h"
line="41">Handles key modifier such as control, shift and alt and release event.
Note that nits 15 - 25 are currently unused, while bit 29 is used internally.</doc>
<member name="shift_mask"
value="1"
c:identifier="IBUS_SHIFT_MASK"
glib:nick="shift-mask"
glib:name="IBUS_SHIFT_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="43">Shift is activated.</doc>
</member>
<member name="lock_mask"
value="2"
c:identifier="IBUS_LOCK_MASK"
glib:nick="lock-mask"
glib:name="IBUS_LOCK_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="44">Cap Lock is locked.</doc>
</member>
<member name="control_mask"
value="4"
c:identifier="IBUS_CONTROL_MASK"
glib:nick="control-mask"
glib:name="IBUS_CONTROL_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="45">Control key is activated.</doc>
</member>
<member name="mod1_mask"
value="8"
c:identifier="IBUS_MOD1_MASK"
glib:nick="mod1-mask"
glib:name="IBUS_MOD1_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="46">Modifier 1 (Usually Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)) activated.</doc>
</member>
<member name="mod2_mask"
value="16"
c:identifier="IBUS_MOD2_MASK"
glib:nick="mod2-mask"
glib:name="IBUS_MOD2_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="47">Modifier 2 (Usually Num_Lock (0x4d)) activated.</doc>
</member>
<member name="mod3_mask"
value="32"
c:identifier="IBUS_MOD3_MASK"
glib:nick="mod3-mask"
glib:name="IBUS_MOD3_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="48">Modifier 3 activated.</doc>
</member>
<member name="mod4_mask"
value="64"
c:identifier="IBUS_MOD4_MASK"
glib:nick="mod4-mask"
glib:name="IBUS_MOD4_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="49">Modifier 4 (Usually Super_L (0xce), Hyper_L (0xcf)) activated.</doc>
</member>
<member name="mod5_mask"
value="128"
c:identifier="IBUS_MOD5_MASK"
glib:nick="mod5-mask"
glib:name="IBUS_MOD5_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="50">Modifier 5 (ISO_Level3_Shift (0x5c), Mode_switch (0xcb)) activated.</doc>
</member>
<member name="button1_mask"
value="256"
c:identifier="IBUS_BUTTON1_MASK"
glib:nick="button1-mask"
glib:name="IBUS_BUTTON1_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="51">Mouse button 1 (left) is activated.</doc>
</member>
<member name="button2_mask"
value="512"
c:identifier="IBUS_BUTTON2_MASK"
glib:nick="button2-mask"
glib:name="IBUS_BUTTON2_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="52">Mouse button 2 (middle) is activated.</doc>
</member>
<member name="button3_mask"
value="1024"
c:identifier="IBUS_BUTTON3_MASK"
glib:nick="button3-mask"
glib:name="IBUS_BUTTON3_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="53">Mouse button 3 (right) is activated.</doc>
</member>
<member name="button4_mask"
value="2048"
c:identifier="IBUS_BUTTON4_MASK"
glib:nick="button4-mask"
glib:name="IBUS_BUTTON4_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="54">Mouse button 4 (scroll up) is activated.</doc>
</member>
<member name="button5_mask"
value="4096"
c:identifier="IBUS_BUTTON5_MASK"
glib:nick="button5-mask"
glib:name="IBUS_BUTTON5_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="55">Mouse button 5 (scroll down) is activated.</doc>
</member>
<member name="handled_mask"
value="16777216"
c:identifier="IBUS_HANDLED_MASK"
glib:nick="handled-mask"
glib:name="IBUS_HANDLED_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="56">Handled mask indicates the event has been handled by ibus.</doc>
</member>
<member name="forward_mask"
value="33554432"
c:identifier="IBUS_FORWARD_MASK"
glib:nick="forward-mask"
glib:name="IBUS_FORWARD_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="57">Forward mask indicates the event has been forward from ibus.</doc>
</member>
<member name="ignored_mask"
value="33554432"
c:identifier="IBUS_IGNORED_MASK"
glib:nick="ignored-mask"
glib:name="IBUS_IGNORED_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="58">It is an alias of IBUS_FORWARD_MASK.</doc>
</member>
<member name="super_mask"
value="67108864"
c:identifier="IBUS_SUPER_MASK"
glib:nick="super-mask"
glib:name="IBUS_SUPER_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="59">Super (Usually Win) key is activated.</doc>
</member>
<member name="hyper_mask"
value="134217728"
c:identifier="IBUS_HYPER_MASK"
glib:nick="hyper-mask"
glib:name="IBUS_HYPER_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="60">Hyper key is activated.</doc>
</member>
<member name="meta_mask"
value="268435456"
c:identifier="IBUS_META_MASK"
glib:nick="meta-mask"
glib:name="IBUS_META_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="61">Meta key is activated.</doc>
</member>
<member name="release_mask"
value="1073741824"
c:identifier="IBUS_RELEASE_MASK"
glib:nick="release-mask"
glib:name="IBUS_RELEASE_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="62">Key is released.</doc>
</member>
<member name="modifier_mask"
value="1593843711"
c:identifier="IBUS_MODIFIER_MASK"
glib:nick="modifier-mask"
glib:name="IBUS_MODIFIER_MASK">
<doc xml:space="preserve"
filename="ibustypes.h"
line="63">Modifier mask for the all the masks above.</doc>
</member>
</bitfield>
<function-macro name="OBJECT"
c:identifier="IBUS_OBJECT"
introspectable="0">
<source-position filename="ibusobject.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_CLASS"
c:identifier="IBUS_OBJECT_CLASS"
introspectable="0">
<source-position filename="ibusobject.h" line="51"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_DESTROYED"
c:identifier="IBUS_OBJECT_DESTROYED"
introspectable="0">
<source-position filename="ibusobject.h" line="80"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_FLAGS"
c:identifier="IBUS_OBJECT_FLAGS"
introspectable="0">
<source-position filename="ibusobject.h" line="76"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_GET_CLASS"
c:identifier="IBUS_OBJECT_GET_CLASS"
introspectable="0">
<source-position filename="ibusobject.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_IN_DESTRUCTION"
c:identifier="IBUS_OBJECT_IN_DESTRUCTION"
introspectable="0">
<source-position filename="ibusobject.h" line="79"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_SET_FLAGS"
c:identifier="IBUS_OBJECT_SET_FLAGS"
introspectable="0">
<source-position filename="ibusobject.h" line="77"/>
<parameters>
<parameter name="obj">
</parameter>
<parameter name="flag">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBJECT_UNSET_FLAGS"
c:identifier="IBUS_OBJECT_UNSET_FLAGS"
introspectable="0">
<source-position filename="ibusobject.h" line="78"/>
<parameters>
<parameter name="obj">
</parameter>
<parameter name="flag">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBSERVED_PATH"
c:identifier="IBUS_OBSERVED_PATH"
introspectable="0">
<source-position filename="ibusobservedpath.h" line="48"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBSERVED_PATH_CLASS"
c:identifier="IBUS_OBSERVED_PATH_CLASS"
introspectable="0">
<source-position filename="ibusobservedpath.h" line="50"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="OBSERVED_PATH_GET_CLASS"
c:identifier="IBUS_OBSERVED_PATH_GET_CLASS"
introspectable="0">
<source-position filename="ibusobservedpath.h" line="56"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="Object"
c:symbol-prefix="object"
c:type="IBusObject"
parent="GObject.InitiallyUnowned"
glib:type-name="IBusObject"
glib:get-type="ibus_object_get_type"
glib:type-struct="ObjectClass">
<doc xml:space="preserve"
filename="ibusobject.h"
line="30">IBusObject is the base object for all objects in IBus.</doc>
<source-position filename="ibusobject.h" line="114"/>
<constructor name="new" c:identifier="ibus_object_new">
<doc xml:space="preserve"
filename="ibusobject.h"
line="118">Creates a new #IBusObject.</doc>
<source-position filename="ibusobject.h" line="125"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobject.h"
line="123">A newly allocated #IBusObject</doc>
<type name="Object" c:type="IBusObject*"/>
</return-value>
</constructor>
<virtual-method name="destroy" invoker="destroy">
<doc xml:space="preserve"
filename="ibusobject.h"
line="127">Emit the "destroy" signal notifying all reference holders that they should
release the #IBusObject.
The memory for the object itself won't be deleted until its reference count
actually drops to 0; ibus_object_destroy merely asks reference holders to
release their references. It does not free the object.</doc>
<source-position filename="ibusobject.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobject.h"
line="129">an #IBusObject to destroy.</doc>
<type name="Object" c:type="IBusObject*"/>
</instance-parameter>
</parameters>
</virtual-method>
<method name="destroy" c:identifier="ibus_object_destroy">
<doc xml:space="preserve"
filename="ibusobject.h"
line="127">Emit the "destroy" signal notifying all reference holders that they should
release the #IBusObject.
The memory for the object itself won't be deleted until its reference count
actually drops to 0; ibus_object_destroy merely asks reference holders to
release their references. It does not free the object.</doc>
<source-position filename="ibusobject.h" line="138"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobject.h"
line="129">an #IBusObject to destroy.</doc>
<type name="Object" c:type="IBusObject*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent">
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
</field>
<field name="flags">
<type name="guint32" c:type="guint32"/>
</field>
<field name="priv">
<type name="ObjectPrivate" c:type="IBusObjectPrivate*"/>
</field>
<glib:signal name="destroy" when="last">
<doc xml:space="preserve"
filename="ibusobject.c"
line="70">Destroy and free an IBusObject
See also: ibus_object_destroy().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ObjectClass"
c:type="IBusObjectClass"
glib:is-gtype-struct-for="Object">
<source-position filename="ibusobject.h" line="114"/>
<field name="parent">
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
</field>
<field name="destroy">
<callback name="destroy">
<source-position filename="ibusobject.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobject.h"
line="129">an #IBusObject to destroy.</doc>
<type name="Object" c:type="IBusObject*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="7">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<callback name="ObjectDestroyFunc" c:type="IBusObjectDestroyFunc">
<source-position filename="ibusobject.h" line="103"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Object" c:type="IBusObject*"/>
</parameter>
</parameters>
</callback>
<bitfield name="ObjectFlags"
glib:type-name="IBusObjectFlags"
glib:get-type="ibus_object_flags_get_type"
c:type="IBusObjectFlags">
<doc xml:space="preserve"
filename="ibusobject.h"
line="61">The flags are used internally.</doc>
<member name="in_destruction"
value="1"
c:identifier="IBUS_IN_DESTRUCTION"
glib:nick="in-destruction"
glib:name="IBUS_IN_DESTRUCTION">
<doc xml:space="preserve"
filename="ibusobject.h"
line="63">Used in GObjectClass::dispose</doc>
</member>
<member name="destroyed"
value="2"
c:identifier="IBUS_DESTROYED"
glib:nick="destroyed"
glib:name="IBUS_DESTROYED">
<doc xml:space="preserve"
filename="ibusobject.h"
line="64">Used during emitting IBusObject::destroy signal.</doc>
</member>
<member name="reserved_1"
value="4"
c:identifier="IBUS_RESERVED_1"
glib:nick="reserved-1"
glib:name="IBUS_RESERVED_1">
<doc xml:space="preserve"
filename="ibusobject.h"
line="65">Reserved.</doc>
</member>
<member name="reserved_2"
value="8"
c:identifier="IBUS_RESERVED_2"
glib:nick="reserved-2"
glib:name="IBUS_RESERVED_2">
<doc xml:space="preserve"
filename="ibusobject.h"
line="66">Reserved.</doc>
</member>
</bitfield>
<record name="ObjectPrivate" c:type="IBusObjectPrivate" disguised="1">
<source-position filename="ibusobject.h" line="87"/>
</record>
<class name="ObservedPath"
c:symbol-prefix="observed_path"
c:type="IBusObservedPath"
parent="Serializable"
glib:type-name="IBusObservedPath"
glib:get-type="ibus_observed_path_get_type"
glib:type-struct="ObservedPathClass">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="30">IBusObservedPath provides methods for file path manipulation,
such as monitor modification, directory tree traversal.</doc>
<source-position filename="ibusobservedpath.h" line="90"/>
<constructor name="new" c:identifier="ibus_observed_path_new">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="106">Creates a new #IBusObservedPath from an XML node.</doc>
<source-position filename="ibusobservedpath.h" line="115"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="113">A newly allocated #IBusObservedPath.</doc>
<type name="ObservedPath" c:type="IBusObservedPath*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="108">The path string.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="fill_stat" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="109">Auto-fill the path status.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_xml_node"
c:identifier="ibus_observed_path_new_from_xml_node">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="94">Creates an new #IBusObservedPath from an XML node.</doc>
<source-position filename="ibusobservedpath.h" line="103"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="101">A newly allocated #IBusObservedPath.</doc>
<type name="ObservedPath" c:type="IBusObservedPath*"/>
</return-value>
<parameters>
<parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="96">An XML node that contain path.</doc>
<type name="XML" c:type="IBusXML*"/>
</parameter>
<parameter name="fill_stat" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="97">Auto-fill the path status.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</constructor>
<method name="check_modification"
c:identifier="ibus_observed_path_check_modification">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="133">Checks whether the path is modified by comparing the mtime in object and
mtime in file system.</doc>
<source-position filename="ibusobservedpath.h" line="142"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="140">%TRUE if imtime is changed, otherwise %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="135">An IBusObservedPath.</doc>
<type name="ObservedPath" c:type="IBusObservedPath*"/>
</instance-parameter>
</parameters>
</method>
<method name="output" c:identifier="ibus_observed_path_output">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="144">Append the observed path to a string with following format:
&amp;lt;path mtime="&amp;lt;i&amp;gt;modified time&amp;lt;/i&amp;gt;" &amp;gt;&amp;lt;i&amp;gt;path&amp;lt;/i&amp;gt;&amp;lt;/path&amp;gt;</doc>
<source-position filename="ibusobservedpath.h" line="153"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="146">An IBusObservedPath.</doc>
<type name="ObservedPath" c:type="IBusObservedPath*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="147">Path is appended to.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="indent" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="148">number of indent.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="traverse" c:identifier="ibus_observed_path_traverse">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="118">Recursively traverse the path and put the files and subdirectory in to
a newly allocated
GLists, if the @path is a directory. Otherwise returns NULL.</doc>
<source-position filename="ibusobservedpath.h" line="130"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="127">A newly allocate
GList which holds content in path; NULL if @path is not directory.</doc>
<type name="GLib.List" c:type="GList*">
<type name="ObservedPath"/>
</type>
</return-value>
<parameters>
<instance-parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="120">An IBusObservedPath.</doc>
<type name="ObservedPath" c:type="IBusObservedPath*"/>
</instance-parameter>
<parameter name="dir_only" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="121">Only looks for subdirs, not files</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="path">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="67">Path to be handled.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="mtime">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="68">Modified time.</doc>
<type name="glong" c:type="glong"/>
</field>
<field name="is_dir">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="69">Whether the file is the path directory.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_exist">
<doc xml:space="preserve"
filename="ibusobservedpath.h"
line="70">Whether the file exists.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="ObservedPathClass"
c:type="IBusObservedPathClass"
glib:is-gtype-struct-for="ObservedPath">
<source-position filename="ibusobservedpath.h" line="90"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<enumeration name="Orientation"
glib:type-name="IBusOrientation"
glib:get-type="ibus_orientation_get_type"
c:type="IBusOrientation">
<doc xml:space="preserve"
filename="ibustypes.h"
line="135">Orientation of UI.</doc>
<member name="horizontal"
value="0"
c:identifier="IBUS_ORIENTATION_HORIZONTAL"
glib:nick="horizontal"
glib:name="IBUS_ORIENTATION_HORIZONTAL">
<doc xml:space="preserve"
filename="ibustypes.h"
line="137">Horizontal orientation.</doc>
</member>
<member name="vertical"
value="1"
c:identifier="IBUS_ORIENTATION_VERTICAL"
glib:nick="vertical"
glib:name="IBUS_ORIENTATION_VERTICAL">
<doc xml:space="preserve"
filename="ibustypes.h"
line="138">Vertival orientation.</doc>
</member>
<member name="system"
value="2"
c:identifier="IBUS_ORIENTATION_SYSTEM"
glib:nick="system"
glib:name="IBUS_ORIENTATION_SYSTEM">
<doc xml:space="preserve"
filename="ibustypes.h"
line="139">Use ibus global orientation setup.</doc>
</member>
</enumeration>
<function-macro name="PANEL_SERVICE"
c:identifier="IBUS_PANEL_SERVICE"
introspectable="0">
<source-position filename="ibuspanelservice.h" line="49"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PANEL_SERVICE_CLASS"
c:identifier="IBUS_PANEL_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibuspanelservice.h" line="51"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PANEL_SERVICE_GET_CLASS"
c:identifier="IBUS_PANEL_SERVICE_GET_CLASS"
introspectable="0">
<source-position filename="ibuspanelservice.h" line="57"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="PATH_CONFIG"
value="/org/freedesktop/IBus/Config"
c:type="IBUS_PATH_CONFIG">
<doc xml:space="preserve"
filename="ibusshare.h"
line="129">D-Bus path for IBus config.</doc>
<source-position filename="ibusshare.h" line="132"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_FACTORY"
value="/org/freedesktop/IBus/Factory"
c:type="IBUS_PATH_FACTORY">
<doc xml:space="preserve"
filename="ibusshare.h"
line="106">D-Bus path for IBus factory.</doc>
<source-position filename="ibusshare.h" line="110"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_IBUS"
value="/org/freedesktop/IBus"
c:type="IBUS_PATH_IBUS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="99">D-Bus path for IBus</doc>
<source-position filename="ibusshare.h" line="103"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_INPUT_CONTEXT"
value="/org/freedesktop/IBus/InputContext_%d"
c:type="IBUS_PATH_INPUT_CONTEXT">
<doc xml:space="preserve"
filename="ibusshare.h"
line="143">Template of D-Bus path for IBus input context.</doc>
<source-position filename="ibusshare.h" line="146"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_NOTIFICATIONS"
value="/org/freedesktop/IBus/Notifications"
c:type="IBUS_PATH_NOTIFICATIONS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="136">D-Bus path for IBus notifications.</doc>
<source-position filename="ibusshare.h" line="139"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_PANEL"
value="/org/freedesktop/IBus/Panel"
c:type="IBUS_PATH_PANEL">
<doc xml:space="preserve"
filename="ibusshare.h"
line="113">D-Bus path for IBus panel.</doc>
<source-position filename="ibusshare.h" line="117"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PATH_PANEL_EXTENSION_EMOJI"
value="/org/freedesktop/IBus/Panel/Extension/Emoji"
c:type="IBUS_PATH_PANEL_EXTENSION_EMOJI">
<doc xml:space="preserve"
filename="ibusshare.h"
line="120">D-Bus path for IBus extension panel for emoji.
This service provides emoji, Unicode code point, Unicode name features.</doc>
<source-position filename="ibusshare.h" line="125"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="PROPERTY"
c:identifier="IBUS_PROPERTY"
introspectable="0">
<source-position filename="ibusproperty.h" line="55"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROPERTY_CLASS"
c:identifier="IBUS_PROPERTY_CLASS"
introspectable="0">
<source-position filename="ibusproperty.h" line="57"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROPERTY_GET_CLASS"
c:identifier="IBUS_PROPERTY_GET_CLASS"
introspectable="0">
<source-position filename="ibusproperty.h" line="63"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROP_LIST"
c:identifier="IBUS_PROP_LIST"
introspectable="0">
<source-position filename="ibusproplist.h" line="50"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROP_LIST_CLASS"
c:identifier="IBUS_PROP_LIST_CLASS"
introspectable="0">
<source-position filename="ibusproplist.h" line="52"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROP_LIST_GET_CLASS"
c:identifier="IBUS_PROP_LIST_GET_CLASS"
introspectable="0">
<source-position filename="ibusproplist.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY" c:identifier="IBUS_PROXY" introspectable="0">
<source-position filename="ibusproxy.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CLASS"
c:identifier="IBUS_PROXY_CLASS"
introspectable="0">
<source-position filename="ibusproxy.h" line="56"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_DESTROYED"
c:identifier="IBUS_PROXY_DESTROYED"
introspectable="0">
<source-position filename="ibusproxy.h" line="73"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_FLAGS"
c:identifier="IBUS_PROXY_FLAGS"
introspectable="0">
<source-position filename="ibusproxy.h" line="70"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_GET_CLASS"
c:identifier="IBUS_PROXY_GET_CLASS"
introspectable="0">
<source-position filename="ibusproxy.h" line="62"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_SET_FLAGS"
c:identifier="IBUS_PROXY_SET_FLAGS"
introspectable="0">
<source-position filename="ibusproxy.h" line="71"/>
<parameters>
<parameter name="obj">
</parameter>
<parameter name="flag">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_UNSET_FLAGS"
c:identifier="IBUS_PROXY_UNSET_FLAGS"
introspectable="0">
<source-position filename="ibusproxy.h" line="72"/>
<parameters>
<parameter name="obj">
</parameter>
<parameter name="flag">
</parameter>
</parameters>
</function-macro>
<class name="PanelService"
c:symbol-prefix="panel_service"
c:type="IBusPanelService"
parent="Service"
glib:type-name="IBusPanelService"
glib:get-type="ibus_panel_service_get_type"
glib:type-struct="PanelServiceClass">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="30">An IBusPanelService is a base class for UI services.
Developers can "extend" this class for panel UI development.</doc>
<source-position filename="ibuspanelservice.h" line="152"/>
<constructor name="new" c:identifier="ibus_panel_service_new">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="156">Creates a new #IBusPanelService from an #GDBusConnection.</doc>
<source-position filename="ibuspanelservice.h" line="164"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="162">A newly allocated #IBusPanelService.</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="158">An GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="candidate_clicked_lookup_table">
<source-position filename="ibuspanelservice.h" line="143"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="commit_text_received">
<source-position filename="ibuspanelservice.h" line="140"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="cursor_down_lookup_table">
<source-position filename="ibuspanelservice.h" line="105"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="cursor_up_lookup_table">
<source-position filename="ibuspanelservice.h" line="106"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="destroy_context">
<source-position filename="ibuspanelservice.h" line="120"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="focus_in">
<source-position filename="ibuspanelservice.h" line="80"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="focus_out">
<source-position filename="ibuspanelservice.h" line="83"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="hide_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="hide_language_bar">
<source-position filename="ibuspanelservice.h" line="108"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="hide_lookup_table">
<source-position filename="ibuspanelservice.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="hide_preedit_text">
<source-position filename="ibuspanelservice.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="page_down_lookup_table">
<source-position filename="ibuspanelservice.h" line="111"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="page_up_lookup_table">
<source-position filename="ibuspanelservice.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="panel_extension_received">
<source-position filename="ibuspanelservice.h" line="132"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="process_key_event">
<source-position filename="ibuspanelservice.h" line="135"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="register_properties">
<source-position filename="ibuspanelservice.h" line="86"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="prop_list" transfer-ownership="none">
<type name="PropList" c:type="IBusPropList*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="reset">
<source-position filename="ibuspanelservice.h" line="113"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="set_content_type">
<source-position filename="ibuspanelservice.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="purpose" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_cursor_location">
<source-position filename="ibuspanelservice.h" line="88"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_cursor_location_relative">
<source-position filename="ibuspanelservice.h" line="126"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="show_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="114"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="show_language_bar">
<source-position filename="ibuspanelservice.h" line="115"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="show_lookup_table">
<source-position filename="ibuspanelservice.h" line="116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="show_preedit_text">
<source-position filename="ibuspanelservice.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="start_setup">
<source-position filename="ibuspanelservice.h" line="118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="state_changed">
<source-position filename="ibuspanelservice.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="update_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="93"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="update_lookup_table">
<source-position filename="ibuspanelservice.h" line="96"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="lookup_table" transfer-ownership="none">
<type name="LookupTable" c:type="IBusLookupTable*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="update_preedit_text">
<source-position filename="ibuspanelservice.h" line="99"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="update_property">
<source-position filename="ibuspanelservice.h" line="103"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="prop" transfer-ownership="none">
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</virtual-method>
<method name="candidate_clicked"
c:identifier="ibus_panel_service_candidate_clicked">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="166">Notify that a candidate is clicked
by sending a "CandidateClicked" to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="176"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="168">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="169">Index in the Lookup table</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="170">GdkEventButton::button (1: left button, etc.)</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="171">GdkEventButton::state (key modifier flags)</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="commit_text" c:identifier="ibus_panel_service_commit_text">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="251">Notify that a text is sent
by sending a "CommitText" message to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="259"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="253">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="254">An #IBusText</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="cursor_down" c:identifier="ibus_panel_service_cursor_down">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="181">Notify that the cursor is down
by sending a "CursorDown" to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="188"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="183">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="cursor_up" c:identifier="ibus_panel_service_cursor_up">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="190">Notify that the cursor is up
by sending a "CursorUp" to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="197"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="192">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="hide_preedit_text_received"
c:identifier="ibus_panel_service_hide_preedit_text_received">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="323">Notify that the preedit is hidden by the panel extension</doc>
<source-position filename="ibuspanelservice.h" line="329"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="325">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="page_down" c:identifier="ibus_panel_service_page_down">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="199">Notify that the page is down
by sending a "PageDown" to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="206"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="201">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="page_up" c:identifier="ibus_panel_service_page_up">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="208">Notify that the page is up
by sending a "PageUp" to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="215"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="210">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="panel_extension"
c:identifier="ibus_panel_service_panel_extension">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="262">Enable or disable a panel extension with #IBusExtensionEvent.
Notify that a data is sent
by sending a "PanelExtension" message to IBus panel extension service.</doc>
<source-position filename="ibuspanelservice.h" line="272"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="264">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="full">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="265">A #PanelExtensionEvent which is sent to a
panel extension.</doc>
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</parameter>
</parameters>
</method>
<method name="panel_extension_register_keys"
c:identifier="ibus_panel_service_panel_extension_register_keys"
introspectable="0">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="275">Register shortcut keys to enable panel extensions with #IBusExtensionEvent.
Notify that a data is sent
by sending a "PanelExtensionRegisterKeys" message to IBus panel extension
service. Seems Vala does not support uint[][3] and use
IBusProcessKeyEventData[]. E.g.
IBusProcessKeyEventData[] keys = {{
IBUS_KEY_e, 0, IBUS_SHIFT_MASK | IBUS_SUPER_MASK }};
ibus_panel_service_panel_extension_register_keys(panel, "emoji", keys, NULL);</doc>
<source-position filename="ibuspanelservice.h" line="290"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="277">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="278">the first name of the shortcut keys. This is %NULL
" terminated.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<varargs/>
</parameter>
</parameters>
</method>
<method name="property_activate"
c:identifier="ibus_panel_service_property_activate">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="217">Notify that a property is active
by sending a "PropertyActivate" message to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="226"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="219">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="220">A property name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="prop_state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="221">State of the property</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="property_hide"
c:identifier="ibus_panel_service_property_hide">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="240">Notify that a property is hidden
by sending a "ValueChanged" message to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="248"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="242">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="243">A property name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="property_show"
c:identifier="ibus_panel_service_property_show">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="229">Notify that a property is shown
by sending a "ValueChanged" message to IBus service.</doc>
<source-position filename="ibuspanelservice.h" line="237"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="231">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="232">A property name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="show_preedit_text_received"
c:identifier="ibus_panel_service_show_preedit_text_received">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="314">Notify that the preedit is shown by the panel extension</doc>
<source-position filename="ibuspanelservice.h" line="320"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="316">An IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
</parameters>
</method>
<method name="update_auxiliary_text_received"
c:identifier="ibus_panel_service_update_auxiliary_text_received">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="332">Notify that the auxilirary is updated by the panel extension.
(Note: The table object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibuspanelservice.h" line="344"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="334">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="335">An #IBusText</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="336">Whether the auxilirary text is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_lookup_table_received"
c:identifier="ibus_panel_service_update_lookup_table_received">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="349">Notify that the lookup table is updated by the panel extension.
(Note: The table object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibuspanelservice.h" line="361"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="351">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="352">An #IBusLookupTable</doc>
<type name="LookupTable" c:type="IBusLookupTable*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="353">Whether the lookup table is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_preedit_text_received"
c:identifier="ibus_panel_service_update_preedit_text_received">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="295">Notify that the preedit is updated by the panel extension
(Note: The table object will be released, if it is floating.
If caller want to keep the object, caller should make the object
sink by g_object_ref_sink.)</doc>
<source-position filename="ibuspanelservice.h" line="308"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="panel" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="297">An #IBusPanelService</doc>
<type name="PanelService" c:type="IBusPanelService*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="298">Update content.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="299">Current position of cursor</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.h"
line="300">Whether the pre-edit buffer is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Service" c:type="IBusService"/>
</field>
<glib:signal name="candidate-clicked-lookup-table" when="last">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="p1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="commit-text-received" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="1001">Emitted when the client application get the ::commit-text-received.
Implement the member function
IBusPanelServiceClass::commit_text_received in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="1004">A #IBusText</doc>
<type name="Text"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="cursor-down-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="600">Emitted when the client application get the ::cursor-down-lookup-table.
Implement the member function
IBusPanelServiceClass::cursor_down_lookup_table in extended
class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cursor-up-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="579">Emitted when the client application get the ::cursor-up-lookup-table.
Implement the member function
IBusPanelServiceClass::cursor_up_lookup_table in extended
class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="destroy-context" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="894">Emitted when the client application destroys.
Implement the member function
IBusPanelServiceClass::destroy_context in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="input_context_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="897">Object path of InputContext.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus-in" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="424">Emitted when the client application get the ::focus-in.
Implement the member function
IBusPanelServiceClass::focus_in in extended class to receive
this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="input_context_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="427">Object path of InputContext.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="focus-out" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="448">Emitted when the client application get the ::focus-out.
Implement the member function
IBusPanelServiceClass::focus_out in extended class to receive
this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="input_context_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="451">Object path of InputContext.</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="hide-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="621">Emitted when the client application get the ::hide-auxiliary-text.
Implement the member function
IBusPanelServiceClass::hide_auxiliary_text in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hide-language-bar" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="642">Emitted when the client application get the ::hide-language-bar.
Implement the member function
IBusPanelServiceClass::hide_language_bar in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hide-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="663">Emitted when the client application get the ::hide-lookup-table.
Implement the member function
IBusPanelServiceClass::hide_lookup_table in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="hide-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="684">Emitted when the client application get the ::hide-preedit-text.
Implement the member function
IBusPanelServiceClass::hide_preedit_text in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-down-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="726">Emitted when the client application get the ::page-down-lookup-table.
Implement the member function
IBusPanelServiceClass::page_down_lookup_table in extended
class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="page-up-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="705">Emitted when the client application get the ::page-up-lookup-table.
Implement the member function
IBusPanelServiceClass::page_up_lookup_table in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="panel-extension-received" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="944">Emitted when the client application get the ::panel-extension-received.
Implement the member function
IBusPanelServiceClass::panel_extension_received in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="947">A #GVariant</doc>
<type name="ExtensionEvent"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="process-key-event" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="968">Emitted when a key event is received.
Implement the member function IBusPanelServiceClass::process_key_event
in extended class to receive this signal.
Both the key symbol and keycode are passed to the member function.
See ibus_input_context_process_key_event() for further explanation of
key symbol, keycode and which to use.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="982">%TRUE for successfully process the key; %FALSE otherwise.
See also: ibus_input_context_process_key_event().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="971">Key symbol of the key press.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="972">KeyCode of the key press.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="973">Key modifier flags.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="register-properties" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="472">Emitted when the client application get the ::register-properties.
Implement the member function
IBusPanelServiceClass::register_properties in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="475">An IBusPropList that contains properties.</doc>
<type name="PropList"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="reset" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="747">Emitted when the client application get the ::reset.
Implement the member function
IBusPanelServiceClass::reset in extended class to receive this
signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="set-content-type" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="918">Emitted when the client application get the ::set-content-type.
Implement the member function
IBusPanelServiceClass::set_content_type in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="purpose" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="921">Input purpose.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="922">Input hints.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-cursor-location" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="520">Emitted when the client application get the ::set-cursor-location.
Implement the member function
IBusPanelServiceClass::set_cursor_location in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="523">X coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="524">Y coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="525">Width of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="526">Height of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="set-cursor-location-relative" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="550">Emitted when the client application get the set-cursor-location-relative.
Implement the member function set_cursor_location_relative() in
extended class to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="553">X coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="554">Y coordinate of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="555">Width of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="556">Height of the cursor.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="show-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="768">Emitted when the client application get the ::show-auxiliary-text.
Implement the member function
IBusPanelServiceClass::show_auxiliary_text in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-language-bar" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="789">Emitted when the client application get the ::show-language-bar.
Implement the member function
IBusPanelServiceClass::show_language_bar in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="810">Emitted when the client application get the ::show-lookup-table.
Implement the member function
IBusPanelServiceClass::show_lookup_table in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="show-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="831">Emitted when the client application get the ::show-preedit-text.
Implement the member function
IBusPanelServiceClass::show_preedit_text in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="start-setup" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="852">Emitted when the client application get the ::start-setup.
Implement the member function
IBusPanelServiceClass::start_setup in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="state-changed" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="873">Emitted when the client application get the ::state-changed.
Implement the member function
IBusPanelServiceClass::state_changed in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="update-auxiliary-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="372">Emitted when the client application get the ::update-auxiliary-text.
Implement the member function
IBusPanelServiceClass::update_auxiliary_text in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="375">A preedit text to be updated.</doc>
<type name="Text"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="376">Whether the update is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-lookup-table" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="398">Emitted when the client application get the ::update-lookup-table.
Implement the member function
IBusPanelServiceClass::update_lookup_table in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="lookup_table" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="401">A lookup table to be updated.</doc>
<type name="LookupTable"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="402">Whether the update is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-preedit-text" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="344">Emitted when the client application get the ::update-preedit-text.
Implement the member function
IBusPanelServiceClass::update_preedit_text in extended class
to receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="347">A preedit text to be updated.</doc>
<type name="Text"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="348">The cursor position of the text.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="349">Whether the update is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="update-property" when="last">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="496">Emitted when the client application get the ::update-property.
Implement the member function
IBusPanelServiceClass::update_property in extended class to
receive this signal.
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;
&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuspanelservice.c"
line="499">The IBusProperty to be updated.</doc>
<type name="Property"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="PanelServiceClass"
c:type="IBusPanelServiceClass"
glib:is-gtype-struct-for="PanelService">
<source-position filename="ibuspanelservice.h" line="152"/>
<field name="parent">
<type name="ServiceClass" c:type="IBusServiceClass"/>
</field>
<field name="focus_in">
<callback name="focus_in">
<source-position filename="ibuspanelservice.h" line="80"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="focus_out">
<callback name="focus_out">
<source-position filename="ibuspanelservice.h" line="83"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="register_properties">
<callback name="register_properties">
<source-position filename="ibuspanelservice.h" line="86"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="prop_list" transfer-ownership="none">
<type name="PropList" c:type="IBusPropList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cursor_location">
<callback name="set_cursor_location">
<source-position filename="ibuspanelservice.h" line="88"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_auxiliary_text">
<callback name="update_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="93"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_lookup_table">
<callback name="update_lookup_table">
<source-position filename="ibuspanelservice.h" line="96"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="lookup_table" transfer-ownership="none">
<type name="LookupTable" c:type="IBusLookupTable*"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_preedit_text">
<callback name="update_preedit_text">
<source-position filename="ibuspanelservice.h" line="99"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="cursor_pos" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_property">
<callback name="update_property">
<source-position filename="ibuspanelservice.h" line="103"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="prop" transfer-ownership="none">
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_down_lookup_table">
<callback name="cursor_down_lookup_table">
<source-position filename="ibuspanelservice.h" line="105"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="cursor_up_lookup_table">
<callback name="cursor_up_lookup_table">
<source-position filename="ibuspanelservice.h" line="106"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide_auxiliary_text">
<callback name="hide_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide_language_bar">
<callback name="hide_language_bar">
<source-position filename="ibuspanelservice.h" line="108"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide_lookup_table">
<callback name="hide_lookup_table">
<source-position filename="ibuspanelservice.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="hide_preedit_text">
<callback name="hide_preedit_text">
<source-position filename="ibuspanelservice.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="page_down_lookup_table">
<callback name="page_down_lookup_table">
<source-position filename="ibuspanelservice.h" line="111"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="page_up_lookup_table">
<callback name="page_up_lookup_table">
<source-position filename="ibuspanelservice.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reset">
<callback name="reset">
<source-position filename="ibuspanelservice.h" line="113"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_auxiliary_text">
<callback name="show_auxiliary_text">
<source-position filename="ibuspanelservice.h" line="114"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_language_bar">
<callback name="show_language_bar">
<source-position filename="ibuspanelservice.h" line="115"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_lookup_table">
<callback name="show_lookup_table">
<source-position filename="ibuspanelservice.h" line="116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="show_preedit_text">
<callback name="show_preedit_text">
<source-position filename="ibuspanelservice.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_setup">
<callback name="start_setup">
<source-position filename="ibuspanelservice.h" line="118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="state_changed">
<callback name="state_changed">
<source-position filename="ibuspanelservice.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="destroy_context">
<callback name="destroy_context">
<source-position filename="ibuspanelservice.h" line="120"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="input_context_path" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_content_type">
<callback name="set_content_type">
<source-position filename="ibuspanelservice.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="purpose" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="hints" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_cursor_location_relative">
<callback name="set_cursor_location_relative">
<source-position filename="ibuspanelservice.h" line="126"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="w" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="h" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="panel_extension_received">
<callback name="panel_extension_received">
<source-position filename="ibuspanelservice.h" line="132"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="ExtensionEvent" c:type="IBusExtensionEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="process_key_event">
<callback name="process_key_event">
<source-position filename="ibuspanelservice.h" line="135"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="keyval" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="keycode" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="commit_text_received">
<callback name="commit_text_received">
<source-position filename="ibuspanelservice.h" line="140"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="text" transfer-ownership="none">
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="candidate_clicked_lookup_table">
<callback name="candidate_clicked_lookup_table">
<source-position filename="ibuspanelservice.h" line="143"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="panel" transfer-ownership="none">
<type name="PanelService" c:type="IBusPanelService*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="button" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<enumeration name="PreeditFocusMode"
glib:type-name="IBusPreeditFocusMode"
glib:get-type="ibus_preedit_focus_mode_get_type"
c:type="IBusPreeditFocusMode">
<doc xml:space="preserve"
filename="ibustypes.h"
line="123">Pre-edit commit mode when the focus is lost.</doc>
<member name="clear"
value="0"
c:identifier="IBUS_ENGINE_PREEDIT_CLEAR"
glib:nick="clear"
glib:name="IBUS_ENGINE_PREEDIT_CLEAR">
<doc xml:space="preserve"
filename="ibustypes.h"
line="125">pre-edit text is cleared.</doc>
</member>
<member name="commit"
value="1"
c:identifier="IBUS_ENGINE_PREEDIT_COMMIT"
glib:nick="commit"
glib:name="IBUS_ENGINE_PREEDIT_COMMIT">
<doc xml:space="preserve"
filename="ibustypes.h"
line="126">pre-edit text is committed.</doc>
</member>
</enumeration>
<record name="ProcessKeyEventData" c:type="IBusProcessKeyEventData">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="90">IBuProcessKeyEventData properties.</doc>
<source-position filename="ibusxevent.h" line="100"/>
<field name="keyval" writable="1">
<type name="guint" c:type="guint"/>
</field>
<field name="keycode" writable="1">
<type name="guint" c:type="guint"/>
</field>
<field name="state" writable="1">
<type name="guint" c:type="guint"/>
</field>
</record>
<class name="PropList"
c:symbol-prefix="prop_list"
c:type="IBusPropList"
parent="Serializable"
glib:type-name="IBusPropList"
glib:get-type="ibus_prop_list_get_type"
glib:type-struct="PropListClass">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="30">See_also: #IBusProperty, #IBusEngine</doc>
<source-position filename="ibusproplist.h" line="102"/>
<constructor name="new" c:identifier="ibus_prop_list_new">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="106">Create a new #IBusPropList.</doc>
<source-position filename="ibusproplist.h" line="113"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="111">A newly allocated #IBusPropList.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</return-value>
</constructor>
<method name="append" c:identifier="ibus_prop_list_append">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="115">Append an IBusProperty to an IBusPropList, and increase reference.</doc>
<source-position filename="ibusproplist.h" line="122"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="117">An IBusPropList.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</instance-parameter>
<parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="118">IBusProperty to be append to @prop_list.</doc>
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</method>
<method name="get" c:identifier="ibus_prop_list_get">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="125">Gets #IBusProperty at given index. Borrowed reference.</doc>
<source-position filename="ibusproplist.h" line="135"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="132">#IBusProperty at given index, %NULL if no such
#IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</return-value>
<parameters>
<instance-parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="127">An IBusPropList.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="128">Index of an IBusPropList.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="update_property"
c:identifier="ibus_prop_list_update_property">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="138">Update an IBusProperty in IBusPropList.</doc>
<source-position filename="ibusproplist.h" line="147"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="145">%TRUE if succeeded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="140">An IBusPropList.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</instance-parameter>
<parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="141">IBusProperty to be update.</doc>
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="properties">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="83">GArray that holds IBusProperties.</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="PropListClass"
c:type="IBusPropListClass"
glib:is-gtype-struct-for="PropList">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="94">Class structure for #IBusPropList.</doc>
<source-position filename="ibusproplist.h" line="102"/>
<field name="parent">
<doc xml:space="preserve"
filename="ibusproplist.h"
line="96">The parent class.</doc>
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<enumeration name="PropState"
glib:type-name="IBusPropState"
glib:get-type="ibus_prop_state_get_type"
c:type="IBusPropState">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="86">State of #IBusProperty. The actual effect depends on #IBusPropType of the
IBusProperty.
&lt;variablelist&gt;
&lt;varlistentry&gt;
&lt;term&gt;PROP_TYPE_TOGGLE&lt;/term&gt;
&lt;listitem&gt;&lt;para&gt;Emphasized if PROP_STATE_CHECKED, normal otherwise.&lt;/para&gt;&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;varlistentry&gt;
&lt;term&gt;PROP_TYPE_RADIO&lt;/term&gt;
&lt;listitem&gt;&lt;para&gt;Option checked if PROP_STATE_CHECKED, unchecked otherwise.&lt;/para&gt;&lt;/listitem&gt;
&lt;/varlistentry&gt;
&lt;/variablelist&gt;
No effect on other types.</doc>
<member name="unchecked"
value="0"
c:identifier="PROP_STATE_UNCHECKED"
glib:nick="unchecked"
glib:name="PROP_STATE_UNCHECKED">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="88">Property option is unchecked.</doc>
</member>
<member name="checked"
value="1"
c:identifier="PROP_STATE_CHECKED"
glib:nick="checked"
glib:name="PROP_STATE_CHECKED">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="89">Property option is checked.</doc>
</member>
<member name="inconsistent"
value="2"
c:identifier="PROP_STATE_INCONSISTENT"
glib:nick="inconsistent"
glib:name="PROP_STATE_INCONSISTENT">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="90">The state is inconsistent with the associated IME
property.</doc>
</member>
</enumeration>
<enumeration name="PropType"
glib:type-name="IBusPropType"
glib:get-type="ibus_prop_type_get_type"
c:type="IBusPropType">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="67">Type enumeration of IBusProperty.</doc>
<member name="normal"
value="0"
c:identifier="PROP_TYPE_NORMAL"
glib:nick="normal"
glib:name="PROP_TYPE_NORMAL">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="69">Property is shown as normal text.</doc>
</member>
<member name="toggle"
value="1"
c:identifier="PROP_TYPE_TOGGLE"
glib:nick="toggle"
glib:name="PROP_TYPE_TOGGLE">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="70">Property is shown as a toggle button.</doc>
</member>
<member name="radio"
value="2"
c:identifier="PROP_TYPE_RADIO"
glib:nick="radio"
glib:name="PROP_TYPE_RADIO">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="71">Property is shown as a radio selection option.</doc>
</member>
<member name="menu"
value="3"
c:identifier="PROP_TYPE_MENU"
glib:nick="menu"
glib:name="PROP_TYPE_MENU">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="72">Property is shown as a menu, usually imply it has sub menu
items.</doc>
</member>
<member name="separator"
value="4"
c:identifier="PROP_TYPE_SEPARATOR"
glib:nick="separator"
glib:name="PROP_TYPE_SEPARATOR">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="74">A separator for menu.</doc>
</member>
</enumeration>
<class name="Property"
c:symbol-prefix="property"
c:type="IBusProperty"
parent="Serializable"
glib:type-name="IBusProperty"
glib:get-type="ibus_property_get_type"
glib:type-struct="PropertyClass">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="33">An IBusProperty is an UI component like a button or a menu item
which shows the status of corresponding input method engine property.
End user can operate and see the current status of IME through these components.
For example, ibus-chewing users change the English/Chinese input mode by
pressing ctrl-space or click on the Eng/Chi switch button.
And the IBusProperty shows the change correspondingly.
see_also: #IBusPropList, #IBusEngine</doc>
<source-position filename="ibusproperty.h" line="139"/>
<constructor name="new" c:identifier="ibus_property_new">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="143">Creates a new #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="159"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="157">A newly allocated #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="145">Unique Identity for the #IBusProperty.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="146">#IBusPropType of #IBusProperty.</doc>
<type name="PropType" c:type="IBusPropType"/>
</parameter>
<parameter name="label" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="147">Text shown in UI.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="icon"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="148">Icon file for the #IBusProperty.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="tooltip" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="149">Message shown if mouse hovered the #IBusProperty.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
<parameter name="sensitive" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="150">Whether the #IBusProperty is sensitive to keyboard and mouse event.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="151">Whether the #IBusProperty is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="152">IBusPropState of #IBusProperty.</doc>
<type name="PropState" c:type="IBusPropState"/>
</parameter>
<parameter name="prop_list"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="153">#IBusPropList that contains sub IBusProperties.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_varargs"
c:identifier="ibus_property_new_varargs"
introspectable="0">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="169">Creates a new #IBusProperty.
ibus_property_new_varargs() supports the va_list format.
name property is required. e.g.
ibus_property_new_varargs("key", "TypingMode", "type", PROP_TYPE_MENU, NULL)</doc>
<source-position filename="ibusproperty.h" line="181"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="179">A newly allocated #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="171">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="172">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<method name="get_icon"
c:identifier="ibus_property_get_icon"
glib:get-property="icon">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="234">Get the icon of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="242"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="240">the icon of #IBusProperty. Should not be freed.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="236">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_key"
c:identifier="ibus_property_get_key"
glib:get-property="key">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="184">Get the key of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="192"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="190">the key of #IBusProperty. Should not be freed.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="186">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_label"
c:identifier="ibus_property_get_label"
glib:get-property="label">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="194">Get the label of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="202"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="200">the label of #IBusProperty. Should not be freed.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="196">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_prop_type"
c:identifier="ibus_property_get_prop_type"
glib:get-property="prop-type">
<source-position filename="ibusproperty.h" line="322"/>
<return-value transfer-ownership="none">
<type name="PropType" c:type="IBusPropType"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_sensitive"
c:identifier="ibus_property_get_sensitive"
glib:get-property="sensitive">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="274">Get the sensitive of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="282"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="280">the sensitive of #IBusProperty.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="276">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_state"
c:identifier="ibus_property_get_state"
glib:get-property="state">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="324">Get the state of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="332"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="330">the state of #IBusProperty.</doc>
<type name="PropState" c:type="IBusPropState"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="326">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_sub_props"
c:identifier="ibus_property_get_sub_props"
glib:get-property="sub-props">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="344">Get the IBusPropList of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="353"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="350">the IBusPropList of #IBusProperty.
Should not be freed.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="346">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_symbol"
c:identifier="ibus_property_get_symbol"
glib:get-property="symbol">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="214">Get the symbol of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="222"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="220">the symbol of #IBusProperty. Should not be freed.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="216">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tooltip"
c:identifier="ibus_property_get_tooltip"
glib:get-property="tooltip">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="254">Get the tooltip of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="262"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="260">the tooltip of #IBusProperty. Should not be freed.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="256">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_visible"
c:identifier="ibus_property_get_visible"
glib:get-property="visible">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="294">Get the visible of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="302"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="300">the visible of #IBusProperty.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="296">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_icon"
c:identifier="ibus_property_set_icon"
glib:set-property="icon">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="244">Set the icon of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="251"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="246">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="icon" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="247">Icon shown in UI. It could be a full path of an icon file or an icon name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_label"
c:identifier="ibus_property_set_label"
glib:set-property="label">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="204">Set the label of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="211"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="206">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="label" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="207">Text shown in UI.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="set_sensitive"
c:identifier="ibus_property_set_sensitive"
glib:set-property="sensitive">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="284">Set whether the #IBusProperty is sensitive.</doc>
<source-position filename="ibusproperty.h" line="291"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="286">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="sensitive" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="287">Whether the #IBusProperty is sensitive.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_state"
c:identifier="ibus_property_set_state"
glib:set-property="state">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="334">Set the state of the #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="341"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="336">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="337">The state of the #IBusProperty.</doc>
<type name="PropState" c:type="IBusPropState"/>
</parameter>
</parameters>
</method>
<method name="set_sub_props"
c:identifier="ibus_property_set_sub_props"
glib:set-property="sub-props">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="355">Set the sub IBusProperties.</doc>
<source-position filename="ibusproperty.h" line="362"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="357">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="prop_list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="358">#IBusPropList that contains sub IBusProperties.</doc>
<type name="PropList" c:type="IBusPropList*"/>
</parameter>
</parameters>
</method>
<method name="set_symbol"
c:identifier="ibus_property_set_symbol"
glib:set-property="symbol">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="224">Set the symbol of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="231"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="226">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="symbol" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="227">Text shown in UI.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="set_tooltip"
c:identifier="ibus_property_set_tooltip"
glib:set-property="tooltip">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="264">Set the tooltip of #IBusProperty.</doc>
<source-position filename="ibusproperty.h" line="271"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="266">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="tooltip" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="267">Text of the tooltip.</doc>
<type name="Text" c:type="IBusText*"/>
</parameter>
</parameters>
</method>
<method name="set_visible"
c:identifier="ibus_property_set_visible"
glib:set-property="visible">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="304">Set whether the #IBusProperty is visible.</doc>
<source-position filename="ibusproperty.h" line="311"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="306">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="visible" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="307">Whether the #IBusProperty is visible.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update" c:identifier="ibus_property_update">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="365">Update the content of an #IBusProperty.
#IBusProperty @prop_update can either be sub-property of @prop,
or holds new values for @prop.</doc>
<source-position filename="ibusproperty.h" line="377"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="374">TRUE if update succeeded; FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="prop" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="367">An #IBusProperty.</doc>
<type name="Property" c:type="IBusProperty*"/>
</instance-parameter>
<parameter name="prop_update" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproperty.h"
line="368">#IBusPropList that contains sub IBusProperties.</doc>
<type name="Property" c:type="IBusProperty*"/>
</parameter>
</parameters>
</method>
<property name="icon"
writable="1"
transfer-ownership="none"
setter="set_icon"
getter="get_icon">
<type name="utf8" c:type="gchar*"/>
</property>
<property name="key"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_key">
<type name="utf8" c:type="gchar*"/>
</property>
<property name="label"
writable="1"
construct="1"
transfer-ownership="none"
setter="set_label"
getter="get_label">
<type name="Text"/>
</property>
<property name="prop-type"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_prop_type">
<type name="PropType"/>
</property>
<property name="sensitive"
writable="1"
transfer-ownership="none"
setter="set_sensitive"
getter="get_sensitive">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="state"
writable="1"
transfer-ownership="none"
setter="set_state"
getter="get_state">
<type name="PropState"/>
</property>
<property name="sub-props"
writable="1"
transfer-ownership="none"
setter="set_sub_props"
getter="get_sub_props">
<type name="PropList"/>
</property>
<property name="symbol"
writable="1"
construct="1"
transfer-ownership="none"
setter="set_symbol"
getter="get_symbol">
<type name="Text"/>
</property>
<property name="tooltip"
writable="1"
transfer-ownership="none"
setter="set_tooltip"
getter="get_tooltip">
<type name="Text"/>
</property>
<property name="visible"
writable="1"
transfer-ownership="none"
setter="set_visible"
getter="get_visible">
<type name="gboolean" c:type="gboolean"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="PropertyPrivate" c:type="IBusPropertyPrivate*"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="7">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="PropertyClass"
c:type="IBusPropertyClass"
glib:is-gtype-struct-for="Property">
<source-position filename="ibusproperty.h" line="139"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="PropertyPrivate" c:type="IBusPropertyPrivate" disguised="1">
<source-position filename="ibusproperty.h" line="117"/>
</record>
<class name="Proxy"
c:symbol-prefix="proxy"
c:type="IBusProxy"
parent="Gio.DBusProxy"
glib:type-name="IBusProxy"
glib:get-type="ibus_proxy_get_type"
glib:type-struct="ProxyClass">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="30">An IBusProxy is the base of all proxy objects,
which communicate the corresponding #IBusServices on the other end of
IBusConnection.
For example, IBus clients (such as editors, web browsers) invoke the proxy
object,
IBusInputContext to communicate with the InputContext service of the
ibus-daemon.
Almost all services have corresponding proxies, except very simple services.</doc>
<source-position filename="ibusproxy.h" line="96"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.DBusInterface"/>
<implements name="Gio.Initable"/>
<virtual-method name="destroy" invoker="destroy">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="100">Dispose the proxy object. If the dbus connection is alive and the own
variable above is TRUE (which is the default),
org.freedesktop.IBus.Service.Destroy method will be called.
Note that "destroy" signal might be emitted when ibus_proxy_destroy is
called or the underlying dbus connection for the proxy is terminated.
In the callback of the destroy signal, you might have to call something
like 'g_object_unref(the_proxy);'.</doc>
<source-position filename="ibusproxy.h" line="92"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="proxy" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="102">An #IBusProxy</doc>
<type name="Proxy" c:type="IBusProxy*"/>
</instance-parameter>
</parameters>
</virtual-method>
<method name="destroy" c:identifier="ibus_proxy_destroy">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="100">Dispose the proxy object. If the dbus connection is alive and the own
variable above is TRUE (which is the default),
org.freedesktop.IBus.Service.Destroy method will be called.
Note that "destroy" signal might be emitted when ibus_proxy_destroy is
called or the underlying dbus connection for the proxy is terminated.
In the callback of the destroy signal, you might have to call something
like 'g_object_unref(the_proxy);'.</doc>
<source-position filename="ibusproxy.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="proxy" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="102">An #IBusProxy</doc>
<type name="Proxy" c:type="IBusProxy*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent">
<type name="Gio.DBusProxy" c:type="GDBusProxy"/>
</field>
<field name="flags">
<type name="guint32" c:type="guint32"/>
</field>
<field name="own">
<type name="gboolean" c:type="gboolean"/>
</field>
<glib:signal name="destroy" when="last">
<doc xml:space="preserve"
filename="ibusproxy.c"
line="65">Destroy and free an IBusProxy
See also: ibus_proxy_destroy().
&lt;note&gt;&lt;para&gt;Argument @user_data is ignored in this function.&lt;/para&gt;&lt;/note&gt;</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ProxyClass"
c:type="IBusProxyClass"
glib:is-gtype-struct-for="Proxy">
<source-position filename="ibusproxy.h" line="96"/>
<field name="parent">
<type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
</field>
<field name="destroy">
<callback name="destroy">
<source-position filename="ibusproxy.h" line="92"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="proxy" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusproxy.h"
line="102">An #IBusProxy</doc>
<type name="Proxy" c:type="IBusProxy*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="7">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="REGISTRY"
c:identifier="IBUS_REGISTRY"
introspectable="0">
<source-position filename="ibusregistry.h" line="50"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="REGISTRY_CLASS"
c:identifier="IBUS_REGISTRY_CLASS"
introspectable="0">
<source-position filename="ibusregistry.h" line="52"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="REGISTRY_GET_CLASS"
c:identifier="IBUS_REGISTRY_GET_CLASS"
introspectable="0">
<source-position filename="ibusregistry.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<record name="Rectangle" c:type="IBusRectangle">
<doc xml:space="preserve"
filename="ibustypes.h"
line="209">Rectangle definition.</doc>
<source-position filename="ibustypes.h" line="224"/>
<field name="x" writable="1">
<doc xml:space="preserve"
filename="ibustypes.h"
line="211">x coordinate.</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="y" writable="1">
<doc xml:space="preserve"
filename="ibustypes.h"
line="212">y coordinate.</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="width" writable="1">
<doc xml:space="preserve"
filename="ibustypes.h"
line="213">width of the rectangle.</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="height" writable="1">
<doc xml:space="preserve"
filename="ibustypes.h"
line="214">height of the renctangl.</doc>
<type name="gint" c:type="gint"/>
</field>
</record>
<class name="Registry"
c:symbol-prefix="registry"
c:type="IBusRegistry"
parent="Serializable"
glib:type-name="IBusRegistry"
glib:get-type="ibus_registry_get_type"
glib:type-struct="RegistryClass">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="31">An #IBusRegistry loads IBus component files and generates the cache files.
see_also: #IBusComponent</doc>
<source-position filename="ibusregistry.h" line="85"/>
<constructor name="new" c:identifier="ibus_registry_new">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="89">Creates a new #IBusRegistry</doc>
<source-position filename="ibusregistry.h" line="96"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="94">A newly allocated #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</return-value>
</constructor>
<method name="check_modification"
c:identifier="ibus_registry_check_modification">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="185">Check if the registry is updated.</doc>
<source-position filename="ibusregistry.h" line="193"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="191">%TRUE if mtime is changed; %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="187">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_components"
c:identifier="ibus_registry_get_components">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="196">List components.</doc>
<source-position filename="ibusregistry.h" line="206"/>
<return-value transfer-ownership="container">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="202">
a list of #IBusComponent objects.
The caller has to call g_list_free() for the returned list.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Component"/>
</type>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="198">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_observed_paths"
c:identifier="ibus_registry_get_observed_paths">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="208">List observed paths.</doc>
<source-position filename="ibusregistry.h" line="218"/>
<return-value transfer-ownership="container">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="214">
a list of #IBusObservedPath objects.
The caller has to call g_list_free() for the returned list.</doc>
<type name="GLib.List" c:type="GList*">
<type name="ObservedPath"/>
</type>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="210">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
</parameters>
</method>
<method name="load" c:identifier="ibus_registry_load">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="98">Read all XML files in a IBus component directory (typically
/usr/share/ibus/component/ *.xml) and update the registry object.
IBUS_COMPONENT_PATH environment valuable is also available for
the custom component directories, whose delimiter is ':'.</doc>
<source-position filename="ibusregistry.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="100">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
</parameters>
</method>
<method name="load_cache" c:identifier="ibus_registry_load_cache">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="122">Load the user or system registry cache.</doc>
<source-position filename="ibusregistry.h" line="132"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="129">%TRUE if the cache exists and is loaded successfully,
%FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="124">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="is_user" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="125">%TRUE if the registry cache is loaded in the user directory.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="load_cache_file"
c:identifier="ibus_registry_load_cache_file">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="135">Load the registry cache @filename.</doc>
<source-position filename="ibusregistry.h" line="145"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="142">%TRUE if the cache exists and is loaded successfully,
%FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="137">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="filename" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="138">The file path of the registry cache</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="load_in_dir" c:identifier="ibus_registry_load_in_dir">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="109">Read all XML files in @dirname, create a #IBusComponent object for each file,
and add the component objects to the registry.
If @dirname is "/usr/share/ibus/component", this API and
ibus_registry_load() are same.</doc>
<source-position filename="ibusregistry.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="111">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="dirname" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="112">IBus component directory which includes XML files.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="output" c:identifier="ibus_registry_output">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="172">Output #IBusRegistry as an XML-formatted string.
The output string can be then shown on the screen or written to file.</doc>
<source-position filename="ibusregistry.h" line="181"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="174">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="175">GString that holds the result.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
<parameter name="indent" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="176">level of indent.</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
<method name="save_cache" c:identifier="ibus_registry_save_cache">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="148">Save the registry in a user directory or system directory.</doc>
<source-position filename="ibusregistry.h" line="157"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="155">%TRUE if the cache is saved successfully, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="150">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="is_user" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="151">%TRUE if the registry cache is saved in the user directory.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="save_cache_file"
c:identifier="ibus_registry_save_cache_file">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="160">Save the registry cache @filename.</doc>
<source-position filename="ibusregistry.h" line="169"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="167">%TRUE if the cache is saved successfully, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="162">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
<parameter name="filename" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="163">The file path of the registry cache</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="start_monitor_changes"
c:identifier="ibus_registry_start_monitor_changes">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="221">Start to monitor observed paths.</doc>
<source-position filename="ibusregistry.h" line="227"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="registry" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusregistry.h"
line="223">An #IBusRegistry.</doc>
<type name="Registry" c:type="IBusRegistry*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="RegistryPrivate" c:type="IBusRegistryPrivate*"/>
</field>
<glib:signal name="changed" when="last">
<doc xml:space="preserve"
filename="ibusregistry.c"
line="92">Emitted when any observed paths are changed.
A method is not associated in this class. the "changed"
signal would be handled in other classes.
See also: ibus_registry_start_monitor_changes().</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="RegistryClass"
c:type="IBusRegistryClass"
glib:is-gtype-struct-for="Registry">
<source-position filename="ibusregistry.h" line="85"/>
<field name="parent" readable="0" private="1">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="RegistryPrivate" c:type="IBusRegistryPrivate" disguised="1">
<source-position filename="ibusregistry.h" line="65"/>
</record>
<function-macro name="SERIALIZABLE"
c:identifier="IBUS_SERIALIZABLE"
introspectable="0">
<source-position filename="ibusserializable.h" line="64"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SERIALIZABLE_CLASS"
c:identifier="IBUS_SERIALIZABLE_CLASS"
introspectable="0">
<source-position filename="ibusserializable.h" line="66"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="SERIALIZABLE_GET_CLASS"
c:identifier="IBUS_SERIALIZABLE_GET_CLASS"
introspectable="0">
<source-position filename="ibusserializable.h" line="72"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SERVICE"
c:identifier="IBUS_SERVICE"
introspectable="0">
<source-position filename="ibusservice.h" line="47"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SERVICE_CLASS"
c:identifier="IBUS_SERVICE_CLASS"
introspectable="0">
<source-position filename="ibusservice.h" line="49"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<constant name="SERVICE_CONFIG"
value="org.freedesktop.IBus.Config"
c:type="IBUS_SERVICE_CONFIG">
<doc xml:space="preserve"
filename="ibusshare.h"
line="85">Address of IBus config service.</doc>
<source-position filename="ibusshare.h" line="89"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="SERVICE_GET_CLASS"
c:identifier="IBUS_SERVICE_GET_CLASS"
introspectable="0">
<source-position filename="ibusservice.h" line="55"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="SERVICE_IBUS"
value="org.freedesktop.IBus"
c:type="IBUS_SERVICE_IBUS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="48">Address of IBus service.</doc>
<source-position filename="ibusshare.h" line="53"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SERVICE_NOTIFICATIONS"
value="org.freedesktop.IBus.Notifications"
c:type="IBUS_SERVICE_NOTIFICATIONS">
<doc xml:space="preserve"
filename="ibusshare.h"
line="92">Address of IBus notification service.</doc>
<source-position filename="ibusshare.h" line="96"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SERVICE_PANEL"
value="org.freedesktop.IBus.Panel"
c:type="IBUS_SERVICE_PANEL">
<doc xml:space="preserve"
filename="ibusshare.h"
line="62">Address of IBus panel service.</doc>
<source-position filename="ibusshare.h" line="67"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SERVICE_PANEL_EXTENSION"
value="org.freedesktop.IBus.Panel.Extension"
c:type="IBUS_SERVICE_PANEL_EXTENSION">
<doc xml:space="preserve"
filename="ibusshare.h"
line="69">Address of IBus panel extension service.</doc>
<source-position filename="ibusshare.h" line="74"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SERVICE_PANEL_EXTENSION_EMOJI"
value="org.freedesktop.IBus.Panel.Extension.Emoji"
c:type="IBUS_SERVICE_PANEL_EXTENSION_EMOJI">
<doc xml:space="preserve"
filename="ibusshare.h"
line="76">Address of IBus panel extension service for emoji.
This service provides emoji, Unicode code point, Unicode name features.</doc>
<source-position filename="ibusshare.h" line="82"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SERVICE_PORTAL"
value="org.freedesktop.portal.IBus"
c:type="IBUS_SERVICE_PORTAL">
<doc xml:space="preserve"
filename="ibusshare.h"
line="55">Address of IBus portalservice.</doc>
<source-position filename="ibusshare.h" line="60"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<class name="Serializable"
c:symbol-prefix="serializable"
c:type="IBusSerializable"
parent="Object"
glib:type-name="IBusSerializable"
glib:get-type="ibus_serializable_get_type"
glib:type-struct="SerializableClass">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="31">An #IBusSerializable is an IBus object which can be serialized, that is,
to be to and from a #GVariant.
This class is to be extended by other class that requires serialization.
An extended class should overrides following methods:
&lt;itemizedlist&gt;
&lt;listitem&gt;
&lt;para&gt;&lt;function&gt;serialize(object,iter)&lt;/function&gt;: for serialize.&lt;/para&gt;
&lt;/listitem&gt;
&lt;listitem&gt;
&lt;para&gt;&lt;function&gt;deserialize(object,iter)&lt;/function&gt;: for deserialize.&lt;/para&gt;
&lt;/listitem&gt;
&lt;listitem&gt;
&lt;para&gt;&lt;function&gt;copy(desc,src)&lt;/function&gt;: for copy between IBusSerializable.&lt;/para&gt;
&lt;/listitem&gt;
&lt;/itemizedlist&gt;
See IBusSerializableSerializeFunc(), IBusSerializableDeserializeFunc(), IBusSerializableCopyFunc()
for function prototype.</doc>
<source-position filename="ibusserializable.h" line="186"/>
<constructor name="new" c:identifier="ibus_serializable_new">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="190">Creates a new instance of an #IBusSerializable.</doc>
<source-position filename="ibusserializable.h" line="197"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="195">a new instance of #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</return-value>
</constructor>
<function name="deserialize_object"
c:identifier="ibus_serializable_deserialize_object">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="268">Deserialize a #GVariant to an #IBusSerializable/
The deserialize method should be implemented in extended class.</doc>
<source-position filename="ibusserializable.h" line="279"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="275">The deserialized #IBusSerializable.
See also: IBusSerializableCopyFunc().</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</return-value>
<parameters>
<parameter name="variant" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="270">A #GVariant.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</function>
<virtual-method name="copy">
<source-position filename="ibusserializable.h" line="181"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dest" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="src" transfer-ownership="none">
<type name="Serializable" c:type="const IBusSerializable*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="deserialize">
<source-position filename="ibusserializable.h" line="179"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="variant" transfer-ownership="none">
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="serialize">
<source-position filename="ibusserializable.h" line="177"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="builder" transfer-ownership="none">
<type name="GLib.VariantBuilder" c:type="GVariantBuilder*"/>
</parameter>
</parameters>
</virtual-method>
<method name="copy" c:identifier="ibus_serializable_copy">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="240">Clone an #IBusSerializable.
The copy method should be implemented in extended class.</doc>
<source-position filename="ibusserializable.h" line="252"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="247">A newly allocated clone object; or %NULL
if @object is not serializable.
See also: IBusSerializableCopyFunc().</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</return-value>
<parameters>
<instance-parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="242">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_qattachment"
c:identifier="ibus_serializable_get_qattachment">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="214">Gets a value from attachment of an #IBusSerializable.</doc>
<source-position filename="ibusserializable.h" line="225"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="221">The attached value; or %NULL if fail to retrieve the value.
See also: ibus_serializable_set_attachment().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="216">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="217">String formatted key for indexing value.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="remove_qattachment"
c:identifier="ibus_serializable_remove_qattachment">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="228">Remove a value from attachment of an #IBusSerializable.
See also: ibus_serializable_remove_attachment().</doc>
<source-position filename="ibusserializable.h" line="236"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="230">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="231">String formatted key for indexing value.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="serialize_object"
c:identifier="ibus_serializable_serialize_object">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="254">Serialize an #IBusSerializable to a #GVariant.
The serialize method should be implemented in extended class.</doc>
<source-position filename="ibusserializable.h" line="265"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="261">A #GVariant.
See also: IBusSerializableCopyFunc().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="256">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_qattachment"
c:identifier="ibus_serializable_set_qattachment">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="199">Attach a value to an #IBusSerializable. If the value is floating,
the serializable will take the ownership.
See also: ibus_serializable_set_attachment().</doc>
<source-position filename="ibusserializable.h" line="210"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="201">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="202">String formatted key for indexing value.</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="203">Value to be attached or %NULL to remove any prevoius value.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="Object" c:type="IBusObject"/>
</field>
<field name="priv" readable="0" private="1">
<type name="SerializablePrivate" c:type="IBusSerializablePrivate*"/>
</field>
</class>
<record name="SerializableClass"
c:type="IBusSerializableClass"
glib:is-gtype-struct-for="Serializable">
<source-position filename="ibusserializable.h" line="186"/>
<field name="parent" readable="0" private="1">
<type name="ObjectClass" c:type="IBusObjectClass"/>
</field>
<field name="serialize">
<callback name="serialize">
<source-position filename="ibusserializable.h" line="177"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<type name="GLib.VariantBuilder" c:type="GVariantBuilder*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="deserialize">
<callback name="deserialize">
<source-position filename="ibusserializable.h" line="179"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="variant" transfer-ownership="none">
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="copy">
<callback name="copy">
<source-position filename="ibusserializable.h" line="181"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="src" transfer-ownership="none">
<type name="Serializable" c:type="const IBusSerializable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="5">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<callback name="SerializableCopyFunc" c:type="IBusSerializableCopyFunc">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="159">Prototype of copy function.
Copy function copy from source #IBusSerializable to the destination one.
Returns a gboolean value which indicates whether the copying is success.</doc>
<source-position filename="ibusserializable.h" line="170"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="168">%TRUE if succeed; %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dest" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="161">The destination #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="src" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="162">A source #IBusSerializable.</doc>
<type name="Serializable" c:type="const IBusSerializable*"/>
</parameter>
</parameters>
</callback>
<callback name="SerializableDeserializeFunc"
c:type="IBusSerializableDeserializeFunc">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="144">Prototype of deserialize function.
Deserialize function convert a #GVariant to #IBusSerializable.
Returns an integer value which indicates how many values in
the variant(tuple) are consumed.</doc>
<source-position filename="ibusserializable.h" line="156"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="154">The number of values in the variant(tuple) are consumed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="146">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="variant" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="147">A #GVariant contains a tuple.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</callback>
<record name="SerializablePrivate"
c:type="IBusSerializablePrivate"
disguised="1">
<source-position filename="ibusserializable.h" line="114"/>
</record>
<callback name="SerializableSerializeFunc"
c:type="IBusSerializableSerializeFunc">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="129">Prototype of serialize function.
Serialize function convert an #IBusSerializable to #GVariantBuilder.
Returns a gboolean value which indicates whether the conversion is success.
Return %TRUE if succeed.</doc>
<source-position filename="ibusserializable.h" line="141"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="139">%TRUE if succeed; %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="serializable" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="131">An #IBusSerializable.</doc>
<type name="Serializable" c:type="IBusSerializable*"/>
</parameter>
<parameter name="builder" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="132">A #GVariantBuilder.</doc>
<type name="GLib.VariantBuilder" c:type="GVariantBuilder*"/>
</parameter>
</parameters>
</callback>
<class name="Service"
c:symbol-prefix="service"
c:type="IBusService"
parent="Object"
glib:type-name="IBusService"
glib:get-type="ibus_service_get_type"
glib:type-struct="ServiceClass">
<doc xml:space="preserve"
filename="ibusservice.h"
line="30">An IBusService is a base class for services.</doc>
<source-position filename="ibusservice.h" line="159"/>
<constructor name="new" c:identifier="ibus_service_new">
<doc xml:space="preserve"
filename="ibusservice.h"
line="164">Creantes a new #IBusService.</doc>
<source-position filename="ibusservice.h" line="173"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="171">A newly allocated #IBusService</doc>
<type name="Service" c:type="IBusService*"/>
</return-value>
<parameters>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="166">A GDBusConnection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="167">Object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="service_get_property" throws="1">
<doc xml:space="preserve"
filename="ibusservice.h"
line="106">The ::service_get_property class method is to connect
GDBusInterfaceGetPropertyFunc().</doc>
<source-position filename="ibusservice.h" line="121"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="ibusservice.h"
line="119">A variant.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="108">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="109">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="110">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="111">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="112">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="113">A property name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="service_method_call">
<doc xml:space="preserve"
filename="ibusservice.h"
line="82">The ::service_method_call class method is to connect
GDBusInterfaceMethodCallFunc().</doc>
<source-position filename="ibusservice.h" line="96"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="84">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="85">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="86">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="87">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="88">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="method_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="89">A method name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="parameters" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="90">A parameters.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
<parameter name="invocation" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="91">A dbus method invocation.</doc>
<type name="Gio.DBusMethodInvocation"
c:type="GDBusMethodInvocation*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="service_set_property" throws="1">
<doc xml:space="preserve"
filename="ibusservice.h"
line="129">The ::service_set_property class method is to connect
GDBusInterfaceSetPropertyFunc().</doc>
<source-position filename="ibusservice.h" line="145"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="143">%TRUE if set the value else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="131">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="132">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="133">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="134">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="135">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="136">An property name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="137">An property value.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</virtual-method>
<method name="emit_signal"
c:identifier="ibus_service_emit_signal"
throws="1">
<source-position filename="ibusservice.h" line="234"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="dest_bus_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="signal_name" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="parameters" transfer-ownership="none">
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</method>
<method name="get_connection"
c:identifier="ibus_service_get_connection"
glib:get-property="connection">
<doc xml:space="preserve"
filename="ibusservice.h"
line="185">Gets a connections.</doc>
<source-position filename="ibusservice.h" line="193"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="191">A #GDBusConnection of an #IBusService instance.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="187">An IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_object_path"
c:identifier="ibus_service_get_object_path"
glib:get-property="object-path">
<doc xml:space="preserve"
filename="ibusservice.h"
line="175">Gets the object path of an IBusService.</doc>
<source-position filename="ibusservice.h" line="183"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="181">The object path of @service</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="177">An IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
</parameters>
</method>
<method name="register" c:identifier="ibus_service_register" throws="1">
<doc xml:space="preserve"
filename="ibusservice.h"
line="195">Registers service to a connection.</doc>
<source-position filename="ibusservice.h" line="205"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="203">%TRUE if the service was registered, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="197">An IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="198">A GDBusConnection the service will be registered to.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</method>
<method name="unregister" c:identifier="ibus_service_unregister">
<doc xml:space="preserve"
filename="ibusservice.h"
line="208">Unregisters service from a connection.</doc>
<source-position filename="ibusservice.h" line="215"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="210">An IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</instance-parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="211">A GDBusConnection the service was registered with.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
</parameters>
</method>
<property name="connection"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_connection">
<doc xml:space="preserve"
filename="ibusservice.c"
line="254">The connection of service object.</doc>
<type name="Gio.DBusConnection"/>
</property>
<property name="object-path"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_object_path">
<doc xml:space="preserve"
filename="ibusservice.c"
line="235">The path of service object.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Object" c:type="IBusObject"/>
</field>
<field name="priv" readable="0" private="1">
<type name="ServicePrivate" c:type="IBusServicePrivate*"/>
</field>
</class>
<record name="ServiceClass"
c:type="IBusServiceClass"
glib:is-gtype-struct-for="Service">
<source-position filename="ibusservice.h" line="159"/>
<field name="parent" readable="0" private="1">
<type name="ObjectClass" c:type="IBusObjectClass"/>
</field>
<field name="service_method_call">
<callback name="service_method_call">
<source-position filename="ibusservice.h" line="96"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="84">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="85">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="86">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="87">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="88">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="method_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="89">A method name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="parameters" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="90">A parameters.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
<parameter name="invocation" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="91">A dbus method invocation.</doc>
<type name="Gio.DBusMethodInvocation"
c:type="GDBusMethodInvocation*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="service_get_property">
<callback name="service_get_property" throws="1">
<source-position filename="ibusservice.h" line="121"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="ibusservice.h"
line="119">A variant.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="108">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="109">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="110">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="111">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="112">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="113">A property name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="service_set_property">
<callback name="service_set_property" throws="1">
<source-position filename="ibusservice.h" line="145"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="143">%TRUE if set the value else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="service" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="131">An #IBusService.</doc>
<type name="Service" c:type="IBusService*"/>
</parameter>
<parameter name="connection" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="132">A dbus connection.</doc>
<type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
</parameter>
<parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="133">A sender.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object_path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="134">An object path.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="interface_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="135">An interface name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="136">An property name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="137">An property value.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="interfaces" readable="0" private="1">
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="add_interfaces"
c:identifier="ibus_service_class_add_interfaces">
<doc xml:space="preserve"
filename="ibusservice.h"
line="240">Set the interface introspection information with the service class.</doc>
<source-position filename="ibusservice.h" line="250"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="247">%TRUE if @xml_data is valid and succeeded to be added;
%FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="242">An IBusServiceClass.</doc>
<type name="ServiceClass" c:type="IBusServiceClass*"/>
</instance-parameter>
<parameter name="xml_data" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusservice.h"
line="243">The introspection xml data.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
</record>
<record name="ServicePrivate" c:type="IBusServicePrivate" disguised="1">
<source-position filename="ibusservice.h" line="63"/>
</record>
<function-macro name="TEXT" c:identifier="IBUS_TEXT" introspectable="0">
<source-position filename="ibustext.h" line="50"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TEXT_CLASS"
c:identifier="IBUS_TEXT_CLASS"
introspectable="0">
<source-position filename="ibustext.h" line="52"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="TEXT_GET_CLASS"
c:identifier="IBUS_TEXT_GET_CLASS"
introspectable="0">
<source-position filename="ibustext.h" line="58"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="Text"
c:symbol-prefix="text"
c:type="IBusText"
parent="Serializable"
glib:type-name="IBusText"
glib:get-type="ibus_text_get_type"
glib:type-struct="TextClass">
<doc xml:space="preserve"
filename="ibustext.h"
line="30">An IBusText is the main text object in IBus.
The text is decorated according to associated IBusAttribute,
e.g. the foreground/background color, underline, and
applied scope.
see_also: #IBusAttribute</doc>
<source-position filename="ibustext.h" line="87"/>
<constructor name="new_from_printf"
c:identifier="ibus_text_new_from_printf"
introspectable="0">
<doc xml:space="preserve"
filename="ibustext.h"
line="128">Creates a new #IBusText from a printf expression.
The result of printf expression is stored in the new IBusText instance.</doc>
<source-position filename="ibustext.h" line="139"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="137">A newly allocated #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<parameter name="fmt" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="130">printf format string.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="131">arguments for @fmt.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_static_string"
c:identifier="ibus_text_new_from_static_string"
introspectable="0">
<doc xml:space="preserve"
filename="ibustext.h"
line="115">Creates a new #IBusText from a static string.
Since @str is a static string which won't be freed.
This function will NOT duplicate @str.</doc>
<source-position filename="ibustext.h" line="126"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="124">A newly allocated #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="117">An text string to be set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_string"
c:identifier="ibus_text_new_from_string">
<doc xml:space="preserve"
filename="ibustext.h"
line="91">Creates a new #IBusText from a string.
@str will be duplicated in #IBusText, so feel free to free @str after this
function.</doc>
<source-position filename="ibustext.h" line="101"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="99">A newly allocated #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="93">An text string to be set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_ucs4" c:identifier="ibus_text_new_from_ucs4">
<doc xml:space="preserve"
filename="ibustext.h"
line="103">Creates a new #IBusText from an UCS-4 encoded string.
@str will be duplicated in IBusText, so feel free to free @str after this
function.</doc>
<source-position filename="ibustext.h" line="113"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="111">A newly allocated #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="105">An text string to be set.</doc>
<type name="gunichar" c:type="const gunichar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_unichar"
c:identifier="ibus_text_new_from_unichar">
<doc xml:space="preserve"
filename="ibustext.h"
line="142">Creates a new #IBusText from a single UCS4-encoded character.</doc>
<source-position filename="ibustext.h" line="150"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="148">A newly allocated #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</return-value>
<parameters>
<parameter name="c" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="144">A single UCS4-encoded character.</doc>
<type name="gunichar" c:type="gunichar"/>
</parameter>
</parameters>
</constructor>
<method name="append_attribute"
c:identifier="ibus_text_append_attribute">
<doc xml:space="preserve"
filename="ibustext.h"
line="152">Append an IBusAttribute for IBusText.</doc>
<source-position filename="ibustext.h" line="162"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="154">an IBusText</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="155">IBusAttributeType for @text.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="156">Value for the type.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="157">The starting index, inclusive.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="158">The ending index, exclusive.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_attributes" c:identifier="ibus_text_get_attributes">
<doc xml:space="preserve"
filename="ibustext.h"
line="199">Return the attributes in an #IBusText. Should not be freed.</doc>
<source-position filename="ibustext.h" line="207"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="205">the attrs in @text.</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="201">An #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_is_static"
c:identifier="ibus_text_get_is_static"
introspectable="0">
<doc xml:space="preserve"
filename="ibustext.h"
line="179">Return the is_static in an #IBusText.</doc>
<source-position filename="ibustext.h" line="187"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="185">the is_static in @text.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="181">An #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_length" c:identifier="ibus_text_get_length">
<doc xml:space="preserve"
filename="ibustext.h"
line="167">Return number of characters in an #IBusText.
This function is based on g_utf8_strlen(), so unlike strlen(),
it does not count by bytes but characters instead.</doc>
<source-position filename="ibustext.h" line="177"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="175">Number of character in @text, not counted by bytes.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="169">An #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text" c:identifier="ibus_text_get_text">
<doc xml:space="preserve"
filename="ibustext.h"
line="189">Return the text in an #IBusText. Should not be freed.</doc>
<source-position filename="ibustext.h" line="197"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="195">the text in @text.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="191">An #IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_attributes" c:identifier="ibus_text_set_attributes">
<source-position filename="ibustext.h" line="214"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="text" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="211">An IBusText.</doc>
<type name="Text" c:type="IBusText*"/>
</instance-parameter>
<parameter name="attrs" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibustext.h"
line="212">An IBusAttrList</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</parameter>
</parameters>
</method>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="is_static">
<doc xml:space="preserve"
filename="ibustext.h"
line="69">Whether @text is static, i.e., no need and will not be freed. Only TRUE if IBusText is newed from ibus_text_new_from_static_string().</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="text">
<doc xml:space="preserve"
filename="ibustext.h"
line="70">The string content of IBusText in UTF-8.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="attrs">
<doc xml:space="preserve"
filename="ibustext.h"
line="71">Associated IBusAttributes.</doc>
<type name="AttrList" c:type="IBusAttrList*"/>
</field>
</class>
<record name="TextClass"
c:type="IBusTextClass"
glib:is-gtype-struct-for="Text">
<source-position filename="ibustext.h" line="87"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<function-macro name="UNICODE_BLOCK"
c:identifier="IBUS_UNICODE_BLOCK"
introspectable="0">
<source-position filename="ibusunicode.h" line="54"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNICODE_BLOCK_CLASS"
c:identifier="IBUS_UNICODE_BLOCK_CLASS"
introspectable="0">
<source-position filename="ibusunicode.h" line="57"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNICODE_DATA"
c:identifier="IBUS_UNICODE_DATA"
introspectable="0">
<source-position filename="ibusunicode.h" line="46"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNICODE_DATA_CLASS"
c:identifier="IBUS_UNICODE_DATA_CLASS"
introspectable="0">
<source-position filename="ibusunicode.h" line="48"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<class name="UnicodeBlock"
c:symbol-prefix="unicode_block"
c:type="IBusUnicodeBlock"
parent="Serializable"
glib:type-name="IBusUnicodeBlock"
glib:get-type="ibus_unicode_block_get_type"
glib:type-struct="UnicodeBlockClass">
<source-position filename="ibusunicode.h" line="114"/>
<constructor name="new"
c:identifier="ibus_unicode_block_new"
introspectable="0">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="231">Creates a new #IBusUnicodeBlock.
block property is required. e.g.
ibus_unicode_block_new ("start", 0x0000, "end", "0x007f", "name", "basic",
NULL)</doc>
<source-position filename="ibusunicode.h" line="243"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="241">A newly allocated #IBusUnicodeBlock.</doc>
<type name="UnicodeBlock" c:type="IBusUnicodeBlock*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="233">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="234">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<function name="load" c:identifier="ibus_unicode_block_load">
<source-position filename="ibusunicode.h" line="296"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="293">
An #IBusUnicodeBlock list loaded from the saved cache file.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="UnicodeBlock"/>
</type>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="291">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="save" c:identifier="ibus_unicode_block_save">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="278">Save the list of #IBusUnicodeBlock to the cache file.</doc>
<source-position filename="ibusunicode.h" line="286"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="280">A path of the saved Unicode block.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="281">A list of unicode
block.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="UnicodeBlock"/>
</type>
</parameter>
</parameters>
</function>
<method name="get_end"
c:identifier="ibus_unicode_block_get_end"
glib:get-property="end">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="257">Gets the end code point in #IBusUnicodeBlock.</doc>
<source-position filename="ibusunicode.h" line="265"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="263">end property in #IBusUnicodeBlock</doc>
<type name="gunichar" c:type="gunichar"/>
</return-value>
<parameters>
<instance-parameter name="block" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="259">An #IBusUnicodeData</doc>
<type name="UnicodeBlock" c:type="IBusUnicodeBlock*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="ibus_unicode_block_get_name"
glib:get-property="name">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="268">Gets the name in #IBusUnicodeBlock. It should not be freed.</doc>
<source-position filename="ibusunicode.h" line="276"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="274">name property in #IBusUnicodeBlock</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="block" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="270">An #IBusUnicodeBlock</doc>
<type name="UnicodeBlock" c:type="IBusUnicodeBlock*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_start"
c:identifier="ibus_unicode_block_get_start"
glib:get-property="start">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="246">Gets the start code point in #IBusUnicodeBlock.</doc>
<source-position filename="ibusunicode.h" line="254"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="252">start property in #IBusUnicodeBlock</doc>
<type name="gunichar" c:type="gunichar"/>
</return-value>
<parameters>
<instance-parameter name="block" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="248">An #IBusUnicodeData</doc>
<type name="UnicodeBlock" c:type="IBusUnicodeBlock*"/>
</instance-parameter>
</parameters>
</method>
<property name="end"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_end">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="717">The Uniode end code point</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="name"
writable="1"
construct="1"
transfer-ownership="none"
getter="get_name">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="737">The Uniode block name</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="start"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_start">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="697">The Uniode start code point</doc>
<type name="guint" c:type="guint"/>
</property>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="UnicodeBlockPrivate" c:type="IBusUnicodeBlockPrivate*"/>
</field>
</class>
<record name="UnicodeBlockClass"
c:type="IBusUnicodeBlockClass"
glib:is-gtype-struct-for="UnicodeBlock">
<source-position filename="ibusunicode.h" line="114"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<record name="UnicodeBlockPrivate"
c:type="IBusUnicodeBlockPrivate"
disguised="1">
<source-position filename="ibusunicode.h" line="70"/>
</record>
<class name="UnicodeData"
c:symbol-prefix="unicode_data"
c:type="IBusUnicodeData"
parent="Serializable"
glib:type-name="IBusUnicodeData"
glib:get-type="ibus_unicode_data_get_type"
glib:type-struct="UnicodeDataClass">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="82">Unicode data likes code, name, alias, block-name.
You can get extended values with g_object_get_properties.</doc>
<source-position filename="ibusunicode.h" line="100"/>
<constructor name="new"
c:identifier="ibus_unicode_data_new"
introspectable="0">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="119">Creates a new #IBusUnicodeData.
code property is required. e.g.
ibus_unicode_data_new ("code", 0x3042, NULL)</doc>
<source-position filename="ibusunicode.h" line="130"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="128">A newly allocated #IBusUnicodeData.</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="121">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="122">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<function name="load" c:identifier="ibus_unicode_data_load">
<source-position filename="ibusunicode.h" line="207"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="204">
An #IBusUnicodeData list loaded from the saved cache file.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="UnicodeData"/>
</type>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="198">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="199">If the #GObject has "unicode-deserialize-progress"
signal, this function will emit (the number of desrialized
#IBusUnicodeData, * the total number of #IBusUnicodeData) of uint values
with that signal by 100 times. Otherwise %NULL.</doc>
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
</parameters>
</function>
<function name="load_async" c:identifier="ibus_unicode_data_load_async">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="210">IBusUnicodeDataLoadAsyncFinish can receive the list of #IBusUnicodeData.</doc>
<source-position filename="ibusunicode.h" line="223"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="212">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="object"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="213">If the #GObject has "unicode-deserialize-progress"
signal, this function will emit (the number of desrialized
#IBusUnicodeData, * the total number of #IBusUnicodeData) of uint values
with that signal by 100 times. Otherwise %NULL.</doc>
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="217">cancellable.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
scope="notified"
closure="4">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="218">IBusUnicodeDataLoadAsyncFinish.</doc>
<type name="UnicodeDataLoadAsyncFinish"
c:type="IBusUnicodeDataLoadAsyncFinish"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="219">User data.</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</function>
<function name="save" c:identifier="ibus_unicode_data_save">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="185">Save the list of #IBusUnicodeData to the cache file.</doc>
<source-position filename="ibusunicode.h" line="193"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="187">A path of the saved Unicode data.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="188">A list of unicode
data.</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="UnicodeData"/>
</type>
</parameter>
</parameters>
</function>
<method name="get_alias"
c:identifier="ibus_unicode_data_get_alias"
glib:get-property="alias">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="153">Gets the alias in #IBusUnicodeData. It should not be freed.</doc>
<source-position filename="ibusunicode.h" line="161"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="159">alias property in #IBusUnicodeData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="unicode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="155">An #IBusUnicodeData</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_block_name"
c:identifier="ibus_unicode_data_get_block_name"
glib:get-property="block-name">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="163">Gets the block name in #IBusUnicodeData. It should not be freed.</doc>
<source-position filename="ibusunicode.h" line="171"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="169">block-name property in #IBusUnicodeData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="unicode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="165">An #IBusUnicodeData</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_code"
c:identifier="ibus_unicode_data_get_code"
glib:get-property="code">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="133">Gets the code point in #IBusUnicodeData.</doc>
<source-position filename="ibusunicode.h" line="141"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="139">code property in #IBusUnicodeData</doc>
<type name="gunichar" c:type="gunichar"/>
</return-value>
<parameters>
<instance-parameter name="unicode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="135">An #IBusUnicodeData</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name"
c:identifier="ibus_unicode_data_get_name"
glib:get-property="name">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="143">Gets the name in #IBusUnicodeData. It should not be freed.</doc>
<source-position filename="ibusunicode.h" line="151"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="149">name property in #IBusUnicodeData</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="unicode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="145">An #IBusUnicodeData</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_block_name"
c:identifier="ibus_unicode_data_set_block_name"
glib:set-property="block-name">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="174">Sets the block name in #IBusUnicodeData.</doc>
<source-position filename="ibusunicode.h" line="181"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="unicode" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="176">An #IBusUnicodeData</doc>
<type name="UnicodeData" c:type="IBusUnicodeData*"/>
</instance-parameter>
<parameter name="block_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="177">A block name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<property name="alias"
writable="1"
construct="1"
transfer-ownership="none"
getter="get_alias">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="159">The Uniode alias name</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="block-name"
writable="1"
construct="1"
transfer-ownership="none"
setter="set_block_name"
getter="get_block_name">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="172">The Uniode block name</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="code"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_code">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="132">The Uniode code point</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="name"
writable="1"
construct="1"
transfer-ownership="none"
getter="get_name">
<doc xml:space="preserve"
filename="ibusunicode.c"
line="146">The Uniode name</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="UnicodeDataPrivate" c:type="IBusUnicodeDataPrivate*"/>
</field>
</class>
<record name="UnicodeDataClass"
c:type="IBusUnicodeDataClass"
glib:is-gtype-struct-for="UnicodeData">
<source-position filename="ibusunicode.h" line="100"/>
<field name="parent">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
</record>
<callback name="UnicodeDataLoadAsyncFinish"
c:type="IBusUnicodeDataLoadAsyncFinish">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="73">This callback can receive the list of #IBusUnicodeData.</doc>
<source-position filename="ibusunicode.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data_list" transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*">
<type name="UnicodeData"/>
</type>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="UnicodeDataPrivate"
c:type="IBusUnicodeDataPrivate"
disguised="1">
<source-position filename="ibusunicode.h" line="67"/>
</record>
<class name="XEvent"
c:symbol-prefix="x_event"
c:type="IBusXEvent"
parent="Serializable"
glib:type-name="IBusXEvent"
glib:get-type="ibus_x_event_get_type"
glib:type-struct="XEventClass">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="30">An IBusXEvent provides a wrapper of XEvent.
see_also: #IBusComponent, #IBusEngineDesc</doc>
<source-position filename="ibusxevent.h" line="229"/>
<constructor name="new"
c:identifier="ibus_x_event_new"
introspectable="0">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="233">Create a new #IBusXEvent.</doc>
<source-position filename="ibusxevent.h" line="243"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="240">A newly allocated #IBusXEvent. E.g.
ibus_x_event_new ("event-type", IBUS_X_EVENT_KEY_PRESS, NULL);</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</return-value>
<parameters>
<parameter name="first_property_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="235">Name of the first property.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="236">the NULL-terminated arguments of the properties and values.</doc>
<varargs/>
</parameter>
</parameters>
</constructor>
<method name="get_event_type"
c:identifier="ibus_x_event_get_event_type"
glib:get-property="event-type">
<source-position filename="ibusxevent.h" line="261"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="259">IBusXEventType of #IBusXEvent</doc>
<type name="XEventType" c:type="IBusXEventType"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="257">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_group"
c:identifier="ibus_x_event_get_group"
glib:get-property="group">
<source-position filename="ibusxevent.h" line="342"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="340">group of #IBusXEvent</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="338">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_hardware_keycode"
c:identifier="ibus_x_event_get_hardware_keycode"
glib:get-property="hardware-keycode">
<source-position filename="ibusxevent.h" line="333"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="331">hardware keycode of #IBusXEvent</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="329">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_is_modifier"
c:identifier="ibus_x_event_get_is_modifier"
glib:get-property="is-modifier">
<source-position filename="ibusxevent.h" line="350"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="348">is_modifier of #IBusXEvent</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="346">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_keyval"
c:identifier="ibus_x_event_get_keyval"
glib:get-property="keyval">
<source-position filename="ibusxevent.h" line="309"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="307">keyval of #IBusXEvent</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="305">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_length"
c:identifier="ibus_x_event_get_length"
glib:get-property="length">
<source-position filename="ibusxevent.h" line="317"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="315">length of #IBusXEvent</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="313">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_purpose"
c:identifier="ibus_x_event_get_purpose"
glib:get-property="purpose">
<source-position filename="ibusxevent.h" line="416"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="414">purpose of #IBusXEvent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="412">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_root"
c:identifier="ibus_x_event_get_root"
glib:get-property="root">
<source-position filename="ibusxevent.h" line="367"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="365">root window of #IBusXEvent</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="363">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_same_screen"
c:identifier="ibus_x_event_get_same_screen"
glib:get-property="same-screen">
<source-position filename="ibusxevent.h" line="407"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="405">same_screen of #IBusXEvent</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="403">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_send_event"
c:identifier="ibus_x_event_get_send_event"
glib:get-property="send-event">
<source-position filename="ibusxevent.h" line="277"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="275">send_event of #IBusXEvent</doc>
<type name="gint8" c:type="gint8"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="273">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_serial"
c:identifier="ibus_x_event_get_serial"
glib:get-property="serial">
<source-position filename="ibusxevent.h" line="285"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="283">serial of #IBusXEvent</doc>
<type name="gulong" c:type="gulong"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="281">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_state"
c:identifier="ibus_x_event_get_state"
glib:get-property="state">
<source-position filename="ibusxevent.h" line="301"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="299">state of #IBusXEvent</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="297">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_string"
c:identifier="ibus_x_event_get_string"
glib:get-property="string">
<source-position filename="ibusxevent.h" line="325"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="323">string of #IBusXEvent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="321">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_subwindow"
c:identifier="ibus_x_event_get_subwindow"
glib:get-property="subwindow">
<source-position filename="ibusxevent.h" line="359"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="357">subwindow of #IBusXEvent</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="355">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_time"
c:identifier="ibus_x_event_get_time"
glib:get-property="time">
<source-position filename="ibusxevent.h" line="293"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="291">time of #IBusXEvent</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="289">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_version"
c:identifier="ibus_x_event_get_version"
glib:get-property="version">
<source-position filename="ibusxevent.h" line="253"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="251">Version of #IBusXEvent</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="249">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_window"
c:identifier="ibus_x_event_get_window"
glib:get-property="window">
<source-position filename="ibusxevent.h" line="269"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="267">XID of #IBusXEvent</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="265">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_x"
c:identifier="ibus_x_event_get_x"
glib:get-property="x">
<source-position filename="ibusxevent.h" line="375"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="373">x of #IBusXEvent</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="371">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_x_root"
c:identifier="ibus_x_event_get_x_root"
glib:get-property="x-root">
<source-position filename="ibusxevent.h" line="391"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="389">x-root of #IBusXEvent</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="387">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_y"
c:identifier="ibus_x_event_get_y"
glib:get-property="y">
<source-position filename="ibusxevent.h" line="383"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="381">y of #IBusXEvent</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="379">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_y_root"
c:identifier="ibus_x_event_get_y_root"
glib:get-property="y-root">
<source-position filename="ibusxevent.h" line="399"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="397">y-root of #IBusXEvent</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxevent.h"
line="395">An #IBusXEvent.</doc>
<type name="XEvent" c:type="IBusXEvent*"/>
</instance-parameter>
</parameters>
</method>
<property name="event-type"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_event_type">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="471">IBusXEventType of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="group"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_group">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="629">group of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="hardware-keycode"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_hardware_keycode">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="613">hardware keycode of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="is-modifier"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_is_modifier">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="645">is_modifier of this IBusXEvent.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="keyval"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_keyval">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="567">keyval of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="length"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_length">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="583">keyval of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="purpose"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_purpose">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="769">purpose of this IBusXEvent.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="root"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_root">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="659">root window of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="same-screen"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_same_screen">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="755">same_screen of this IBusXEvent.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="send-event"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_send_event">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="503">send_event of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="serial"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_serial">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="519">serial of this IBusXEvent.</doc>
<type name="gulong" c:type="gulong"/>
</property>
<property name="state"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_state">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="551">state of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="string"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_string">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="599">string of this IBusXEvent.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="subwindow"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_subwindow">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="675">subwindow of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="time"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_time">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="535">time of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="version" transfer-ownership="none" getter="get_version">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="456">Version of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="window"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_window">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="487">window of this IBusXEvent.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="x"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_x">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="691">x of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="x-root"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_x_root">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="723">root-x of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="y"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_y">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="707">x of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="y-root"
writable="1"
construct-only="1"
transfer-ownership="none"
getter="get_y_root">
<doc xml:space="preserve"
filename="ibusxevent.c"
line="739">root-y of this IBusXEvent.</doc>
<type name="gint" c:type="gint"/>
</property>
<field name="parent" readable="0" private="1">
<type name="Serializable" c:type="IBusSerializable"/>
</field>
<field name="priv" readable="0" private="1">
<type name="XEventPrivate" c:type="IBusXEventPrivate*"/>
</field>
<field name="event_type">
<type name="XEventType" c:type="IBusXEventType"/>
</field>
<field name="window">
<type name="guint" c:type="guint"/>
</field>
<field name="send_event">
<type name="gint8" c:type="gint8"/>
</field>
<field name="serial">
<type name="gulong" c:type="gulong"/>
</field>
</class>
<record name="XEventClass"
c:type="IBusXEventClass"
glib:is-gtype-struct-for="XEvent">
<source-position filename="ibusxevent.h" line="229"/>
<field name="parent" readable="0" private="1">
<type name="SerializableClass" c:type="IBusSerializableClass"/>
</field>
<field name="pdummy" readable="0" private="1">
<array zero-terminated="0" fixed-size="10">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="XEventPrivate" c:type="IBusXEventPrivate" disguised="1">
<source-position filename="ibusxevent.h" line="88"/>
</record>
<enumeration name="XEventType"
glib:type-name="IBusXEventType"
glib:get-type="ibus_xevent_type_get_type"
c:type="IBusXEventType">
<member name="nothing"
value="-1"
c:identifier="IBUS_X_EVENT_NOTHING"
glib:nick="nothing"
glib:name="IBUS_X_EVENT_NOTHING">
</member>
<member name="key_press"
value="0"
c:identifier="IBUS_X_EVENT_KEY_PRESS"
glib:nick="key-press"
glib:name="IBUS_X_EVENT_KEY_PRESS">
</member>
<member name="key_release"
value="1"
c:identifier="IBUS_X_EVENT_KEY_RELEASE"
glib:nick="key-release"
glib:name="IBUS_X_EVENT_KEY_RELEASE">
</member>
<member name="other"
value="2"
c:identifier="IBUS_X_EVENT_OTHER"
glib:nick="other"
glib:name="IBUS_X_EVENT_OTHER">
</member>
<member name="event_last"
value="3"
c:identifier="IBUS_X_EVENT_EVENT_LAST"
glib:nick="event-last"
glib:name="IBUS_X_EVENT_EVENT_LAST">
</member>
</enumeration>
<record name="XML"
c:type="IBusXML"
glib:type-name="IBusXML"
glib:get-type="ibus_xml_get_type"
c:symbol-prefix="xml">
<doc xml:space="preserve"
filename="ibusxml.h"
line="30">IBusXML lists data structure and handling function for XML in IBus.</doc>
<source-position filename="ibusxml.h" line="59"/>
<field name="name" writable="1">
<doc xml:space="preserve"
filename="ibusxml.h"
line="47">Name of XML tag.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="text" writable="1">
<doc xml:space="preserve"
filename="ibusxml.h"
line="48">Text enclosed by XML start tag and end tag. i.e. &lt;tag&gt;text&lt;/tag&gt;.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="attributes" writable="1">
<doc xml:space="preserve"
filename="ibusxml.h"
line="49">Attributes of the XML node.</doc>
<type name="utf8" c:type="gchar**"/>
</field>
<field name="sub_nodes" writable="1">
<doc xml:space="preserve"
filename="ibusxml.h"
line="50">Children node of this XML node.</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</field>
<method name="copy" c:identifier="ibus_xml_copy">
<doc xml:space="preserve"
filename="ibusxml.h"
line="65">Creates a copy of @node, which should be freed with
ibus_xml_free(). Primarily used by language bindings,
not that useful otherwise (since @node can just be copied
by assignment in C).</doc>
<source-position filename="ibusxml.h" line="78"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusxml.h"
line="74">the newly allocated #IBusXML, which should
be freed with ibus_xml_free(), or %NULL
if @node was %NULL.</doc>
<type name="XML" c:type="IBusXML*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="67">Root node of an XML tree.</doc>
<type name="XML" c:type="const IBusXML*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="ibus_xml_free">
<doc xml:space="preserve"
filename="ibusxml.h"
line="101">Free an XML tree.</doc>
<source-position filename="ibusxml.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="103">Root node of an XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</instance-parameter>
</parameters>
</method>
<method name="output" c:identifier="ibus_xml_output">
<doc xml:space="preserve"
filename="ibusxml.h"
line="109">Output an XML tree to a GString.</doc>
<source-position filename="ibusxml.h" line="116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="111">Root node of an XML tree.</doc>
<type name="XML" c:type="const IBusXML*"/>
</instance-parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="112">GString which stores the output.</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
</parameters>
</method>
<function name="parse_buffer" c:identifier="ibus_xml_parse_buffer">
<doc xml:space="preserve"
filename="ibusxml.h"
line="90">Parse a string buffer which contains an XML-formatted string,
and return a corresponding XML tree.</doc>
<source-position filename="ibusxml.h" line="99"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusxml.h"
line="97">Root node of parsed XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="92">Buffer to be parsed.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="parse_file" c:identifier="ibus_xml_parse_file">
<doc xml:space="preserve"
filename="ibusxml.h"
line="80">Parse an XML file and return a corresponding XML tree.</doc>
<source-position filename="ibusxml.h" line="88"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusxml.h"
line="86">Root node of parsed XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="82">File name to be parsed.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
</record>
<function-macro name="X_EVENT"
c:identifier="IBUS_X_EVENT"
introspectable="0">
<source-position filename="ibusxevent.h" line="67"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="X_EVENT_CLASS"
c:identifier="IBUS_X_EVENT_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="69"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="X_EVENT_GET_CLASS"
c:identifier="IBUS_X_EVENT_GET_CLASS"
introspectable="0">
<source-position filename="ibusxevent.h" line="75"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function name="accelerator_name" c:identifier="ibus_accelerator_name">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="399">Converts an accelerator keyval and modifier mask into a string
parseable by gtk_accelerator_parse(). For example, if you pass in
#IBUS_KEY_q and #IBUS_CONTROL_MASK, this function returns “&lt;Control&gt;q”.
If you need to display accelerators in the user interface,
see gtk_accelerator_get_label().</doc>
<source-position filename="ibusaccelgroup.h" line="46"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="411">a newly-allocated accelerator name</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="accelerator_key" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="401">accelerator keyval</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="accelerator_mods" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="402">accelerator modifier mask</doc>
<type name="ModifierType" c:type="IBusModifierType"/>
</parameter>
</parameters>
</function>
<function name="accelerator_parse"
c:identifier="ibus_accelerator_parse"
version="1.5.18">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="261">Parses a string representing an accelerator. The format looks like
“&lt;Control&gt;a” or “&lt;Shift&gt;&lt;Alt&gt;F1” or “&lt;Release&gt;z” (the last one is
for key release).
The parser is fairly liberal and allows lower or upper case, and also
abbreviations such as “&lt;Ctl&gt;” and “&lt;Ctrl&gt;”. Key names are parsed using
gdk_keyval_from_name(). For character keys the name is not the symbol,
but the lowercase name, e.g. one would use “&lt;Ctrl&gt;minus” instead of
“&lt;Ctrl&gt;-”.
If the parse fails, @accelerator_key and @accelerator_mods will
be set to 0 (zero).</doc>
<source-position filename="ibusaccelgroup.h" line="43"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="accelerator" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="263">string representing an accelerator</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="accelerator_key"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="264">return location for accelerator
keyval, or %NULL</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="accelerator_mods"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="266">return location for accelerator
modifier mask, %NULL</doc>
<type name="ModifierType" c:type="IBusModifierType*"/>
</parameter>
</parameters>
</function>
<function name="accelerator_valid" c:identifier="ibus_accelerator_valid">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="48">Determines whether a given keyval and modifier mask constitute
a valid keyboard accelerator. For example, the #IBUS_KEY_a keyval
plus #IBUS_CONTROL_MASK is valid - this is a “Ctrl+a” accelerator.
But, you can't, for instance, use the #IBUS_KEY_Control_L keyval
as an accelerator.</doc>
<source-position filename="ibusaccelgroup.h" line="40"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="59">%TRUE if the accelerator is valid</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="50">a GDK keyval</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="51">modifier mask</doc>
<type name="ModifierType" c:type="IBusModifierType"/>
</parameter>
</parameters>
</function>
<function name="attr_background_new"
c:identifier="ibus_attr_background_new">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="217">Creates a new background #IBusAttribute.</doc>
<source-position filename="ibusattribute.h" line="227"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="225">A newly allocated #IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="219">Color in RGB.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="220">Where attribute starts.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="221">Where attribute ends.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="attr_foreground_new"
c:identifier="ibus_attr_foreground_new">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="204">Creates a new foreground #IBusAttribute.</doc>
<source-position filename="ibusattribute.h" line="214"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="212">A newly allocated #IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<parameter name="color" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="206">Color in RGB.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="207">Where attribute starts.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="208">Where attribute ends.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="attr_underline_new"
c:identifier="ibus_attr_underline_new"
moved-to="AttrUnderline.new">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="191">Creates a new underline #IBusAttribute.</doc>
<source-position filename="ibusattribute.h" line="201"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="199">A newly allocated #IBusAttribute.</doc>
<type name="Attribute" c:type="IBusAttribute*"/>
</return-value>
<parameters>
<parameter name="underline_type" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="193">Type of underline.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="start_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="194">Where attribute starts.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="end_index" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusattribute.h"
line="195">Where attribute ends.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="emoji_dict_load" c:identifier="ibus_emoji_dict_load">
<source-position filename="ibusemoji.h" line="184"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="175">An Emoji dictionary
file loaded from the saved cache file.
A hash table of { emoji character, #IBusEmojiData object } is loaded
from the saved cache file.
Recommend to use ibus_emoji_data_load() instead becase GSList in
GHashTable does not work with Gir and Vala.
Calls ibus_emoji_data_load() internally.</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="173">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="emoji_dict_lookup" c:identifier="ibus_emoji_dict_lookup">
<source-position filename="ibusemoji.h" line="196"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="191">An #IBusEmojiData of @emoji.
This API was prepared for the old dict foramat with Gir and Vala
but no longer needed.
Use ibus_emoji_data_load() instead.</doc>
<type name="EmojiData" c:type="IBusEmojiData*"/>
</return-value>
<parameters>
<parameter name="dict" transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="188">An Emoji dictionary</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="EmojiData"/>
</type>
</parameter>
<parameter name="emoji" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="189">an emoji character</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="emoji_dict_save" c:identifier="ibus_emoji_dict_save">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="158">Saves the Emoji dictionary to the cache file.
Recommend to use ibus_emoji_data_save() instead becase GSList in
GHashTable does not work with Gir and Vala.
Calls ibus_emoji_data_save() internally. The format of the hash table
changed and now is { emoji character, #IBusEmojiData object }.</doc>
<source-position filename="ibusemoji.h" line="169"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="160">A path of the saved dictionary file.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dict" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="161">An Emoji dictionary</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gpointer"/>
</type>
</parameter>
</parameters>
</function>
<function name="error_quark"
c:identifier="ibus_error_quark"
moved-to="Error.quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<function name="free_strv" c:identifier="ibus_free_strv" deprecated="1">
<doc xml:space="preserve"
filename="ibusshare.h"
line="306">Free a list of strings.</doc>
<doc-deprecated xml:space="preserve">This function has been deprecated and should
not be used in newly written code.</doc-deprecated>
<source-position filename="ibusshare.h" line="314"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="strv" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="308">List of strings.</doc>
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</function>
<function name="get_address" c:identifier="ibus_get_address">
<doc xml:space="preserve"
filename="ibusshare.h"
line="227">Return the D-Bus address of IBus.
It will find the address from following source:
&lt;orderedlist&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable IBUS_ADDRESS&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Socket file under ~/.config/ibus/bus/&lt;/para&gt;&lt;/listitem&gt;
&lt;/orderedlist&gt;</doc>
<source-position filename="ibusshare.h" line="241"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="237">D-Bus address of IBus. %NULL for not found.
See also: ibus_write_address().</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="get_daemon_uid"
c:identifier="ibus_get_daemon_uid"
deprecated="1">
<doc xml:space="preserve"
filename="ibusshare.h"
line="272">Get UID of ibus-daemon.</doc>
<doc-deprecated xml:space="preserve">This function has been deprecated and should
not be used in newly written code.</doc-deprecated>
<source-position filename="ibusshare.h" line="282"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="277">UID of ibus-daemon; or 0 if UID is not available.</doc>
<type name="glong" c:type="glong"/>
</return-value>
</function>
<function name="get_language_name" c:identifier="ibus_get_language_name">
<source-position filename="ibusutil.h" line="54"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusutil.h"
line="52">translated language name</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="_locale" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusutil.h"
line="50">A const locale name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="get_local_machine_id"
c:identifier="ibus_get_local_machine_id">
<doc xml:space="preserve"
filename="ibusshare.h"
line="209">Obtains the machine UUID of the machine this process is running on.</doc>
<source-position filename="ibusshare.h" line="216"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="214">A newly allocated string that shows the UUID of the machine.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="get_socket_path" c:identifier="ibus_get_socket_path">
<doc xml:space="preserve"
filename="ibusshare.h"
line="284">Get the path of socket file.</doc>
<source-position filename="ibusshare.h" line="291"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="289">A newly allocated string that stores the path of socket file.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="get_timeout" c:identifier="ibus_get_timeout">
<doc xml:space="preserve"
filename="ibusshare.h"
line="293">Get the GDBus timeout in milliseconds. The timeout is for clients (e.g.
im-ibus.so), not for ibus-daemon.
Note that the timeout for ibus-daemon could be set by --timeout command
line option of the daemon.</doc>
<source-position filename="ibusshare.h" line="304"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="301">A GDBus timeout in milliseconds. -1 when default timeout for
GDBus should be used.</doc>
<type name="gint" c:type="gint"/>
</return-value>
</function>
<function name="get_untranslated_language_name"
c:identifier="ibus_get_untranslated_language_name">
<source-position filename="ibusutil.h" line="45"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusutil.h"
line="43">untranslated language name</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="_locale" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusutil.h"
line="41">A const locale name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="get_user_name" c:identifier="ibus_get_user_name">
<doc xml:space="preserve"
filename="ibusshare.h"
line="253">Get the current user name.
It is determined by:
&lt;orderedlist&gt;
&lt;listitem&gt;&lt;para&gt;getlogin()&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable SUDO_USER&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable USERHELPER_UID&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable USERNAME&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable LOGNAME&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable USER&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Environment variable LNAME&lt;/para&gt;&lt;/listitem&gt;
&lt;/orderedlist&gt;</doc>
<source-position filename="ibusshare.h" line="270"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="268">A newly allocated string that stores current user name.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<docsection name="ibusaccelgroup">
<doc xml:space="preserve"
filename="ibusaccelgroup.c"
line="37">Provides ibus_accelerator_parse()</doc>
</docsection>
<docsection name="ibusdebug">
<doc xml:space="preserve"
filename="ibusdebug.h"
line="30">This section lists functions that generate debug and warning messages.</doc>
</docsection>
<docsection name="ibusemoji">
<doc xml:space="preserve"
filename="ibusemoji.h"
line="30">miscellaneous emoji APIs.</doc>
</docsection>
<docsection name="ibuserror">
<doc xml:space="preserve"
filename="ibuserror.h"
line="29">This file defines some error functions and definition.</doc>
</docsection>
<docsection name="ibushotkey">
<doc xml:space="preserve"
filename="ibushotkey.h"
line="30">An IBusHotkeyProfile associates a hotkey and an event.</doc>
</docsection>
<docsection name="ibuskeysyms">
<doc xml:space="preserve"
filename="ibuskeysyms-compat.h"
line="29">This section defines the key symbols (keysym) used in IBus.
Those keysym data is converted from keysymdef.h in
FreeDesktop.
Most of the key symbols are not explicit documented,
because they are self-explaining.
see_also: #IBusKeymap, #IBusHotkeyProfile</doc>
</docsection>
<docsection name="ibusshare">
<doc xml:space="preserve"
filename="ibusshare.h"
line="31">This file defines some utility functions and definition
which are shared among ibus component and services.</doc>
</docsection>
<docsection name="ibustypes">
<doc xml:space="preserve"
filename="ibustypes.h"
line="31">This section consists generic types for IBus, including shift/control key
modifiers,
and a rectangle structure.</doc>
</docsection>
<docsection name="ibusunicode">
<doc xml:space="preserve"
filename="ibusunicode.h"
line="30">miscellaneous unicode APIs.</doc>
</docsection>
<docsection name="ibusutil">
<doc xml:space="preserve"
filename="ibusutil.h"
line="31">Utilized functions are available for miscellaneous purposes.</doc>
</docsection>
<docsection name="ibusversion">
<doc xml:space="preserve"
filename="ibusversion.h"
line="25">IBusVersion shows the current IBus version.</doc>
</docsection>
<function name="init" c:identifier="ibus_init">
<doc xml:space="preserve"
filename="ibusshare.h"
line="348">Initialize the ibus types.</doc>
<source-position filename="ibusshare.h" line="353"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="key_event_from_string"
c:identifier="ibus_key_event_from_string">
<doc xml:space="preserve"
filename="ibusshare.h"
line="333">Parse key event string and return key symbol and modifiers.</doc>
<source-position filename="ibusshare.h" line="343"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="341">%TRUE for succeed; %FALSE if failed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="335">Key event string.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="keyval"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusshare.h"
line="336">Variable that hold key symbol result.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="modifiers"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusshare.h"
line="337">Variable that hold modifiers result.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="key_event_to_string"
c:identifier="ibus_key_event_to_string">
<doc xml:space="preserve"
filename="ibusshare.h"
line="317">Return the name of a key symbol and modifiers.
For example, if press ctrl, shift, and enter, then this function returns:
Shift+Control+enter.</doc>
<source-position filename="ibusshare.h" line="329"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusshare.h"
line="327">The name of a key symbol and modifier.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="319">Key symbol.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="modifiers" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="320">Modifiers such as Ctrl or Shift.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="keyval_convert_case"
c:identifier="ibus_keyval_convert_case">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="101">Obtains the upper- and lower-case versions of the keyval @symbol.
Examples of keyvals are #IBUS_KEY_a, #IBUS_KEY_Return, #IBUS_KEY_F1, etc.</doc>
<source-position filename="ibuskeys.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="symbol" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="103">a keyval</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="lower"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="104">return location for lowercase version of @symbol</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="upper"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="105">return location for uppercase version of @symbol</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="keyval_from_name" c:identifier="ibus_keyval_from_name">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="45">Return the key symbol that associate with the key name.</doc>
<source-position filename="ibuskeys.h" line="53"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="51">Corresponding key symbol.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="keyval_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="47">Key name in #gdk_keys_by_name.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="keyval_name" c:identifier="ibus_keyval_name">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="33">Return the name of a key symbol.
Note that the returned string is used internally, so don't free it.</doc>
<source-position filename="ibuskeys.h" line="43"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="41">Corresponding key name. %NULL if no such key symbol.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="35">Key symbol.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="keyval_to_lower" c:identifier="ibus_keyval_to_lower">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="90">Converts a key value to lower case, if applicable.</doc>
<source-position filename="ibuskeys.h" line="99"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="96">the lower case form of @keyval, or @keyval itself if it is already
in lower case or it is not subject to case conversion.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="92">a key value.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="keyval_to_unicode" c:identifier="ibus_keyval_to_unicode">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="67">Convert from an IBus key symbol to the corresponding ISO10646 (Unicode)
character.</doc>
<source-position filename="ibuskeys.h" line="77"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="74">the corresponding unicode character, or 0 if there
is no corresponding character.</doc>
<type name="gunichar" c:type="gunichar"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="69">an IBus key symbol</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="keyval_to_upper" c:identifier="ibus_keyval_to_upper">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="79">Converts a key value to upper case, if applicable.</doc>
<source-position filename="ibuskeys.h" line="88"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="85">the upper case form of @keyval, or @keyval itself if it is already
in upper case or it is not subject to case conversion.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="keyval" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="81">a key value.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="main" c:identifier="ibus_main">
<doc xml:space="preserve"
filename="ibusshare.h"
line="355">Runs an IBus main loop until ibus_quit() is called in the loop.
See also: ibus_quit().</doc>
<source-position filename="ibusshare.h" line="362"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="quit" c:identifier="ibus_quit">
<doc xml:space="preserve"
filename="ibusshare.h"
line="364">Stops an IBus from running.
Any calls to ibus_quit() for the loop will return.
See also: ibus_main().</doc>
<source-position filename="ibusshare.h" line="372"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function-macro name="serializable_get_attachment"
c:identifier="ibus_serializable_get_attachment"
introspectable="0">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="88">Get a value from attachment of an #IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_get_qattachment().</doc>
<source-position filename="ibusserializable.h" line="95"/>
<parameters>
<parameter name="o">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="90">An #IBusSerializable.</doc>
</parameter>
<parameter name="k">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="91">String formatted key for indexing value.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="serializable_remove_attachment"
c:identifier="ibus_serializable_remove_attachment"
introspectable="0">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="99">Remove a value from attachment of an #IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_remove_qattachment().</doc>
<source-position filename="ibusserializable.h" line="106"/>
<parameters>
<parameter name="o">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="101">An #IBusSerializable.</doc>
</parameter>
<parameter name="k">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="102">String formatted key for indexing value.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="serializable_set_attachment"
c:identifier="ibus_serializable_set_attachment"
introspectable="0">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="76">Attach a value to an IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_set_qattachment().</doc>
<source-position filename="ibusserializable.h" line="84"/>
<parameters>
<parameter name="o">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="78">An IBusSerializable.</doc>
</parameter>
<parameter name="k">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="79">String formatted key for indexing value.</doc>
</parameter>
<parameter name="v">
<doc xml:space="preserve"
filename="ibusserializable.h"
line="80">Value to be attached. Should be also serializable.</doc>
</parameter>
</parameters>
</function-macro>
<function name="set_display" c:identifier="ibus_set_display">
<doc xml:space="preserve"
filename="ibusshare.h"
line="219">Set the display address.</doc>
<source-position filename="ibusshare.h" line="225"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="221">Display address, as in DISPLAY environment for X.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="set_log_handler" c:identifier="ibus_set_log_handler">
<doc xml:space="preserve"
filename="ibusshare.h"
line="374">Sets GLIB's log handler to ours. Our log handler adds time info
including hour, minute, second, and microsecond, like:
(ibus-daemon:7088): IBUS-DEBUG: 18:06:45.822819: ibus-daemon started
If @verbose is %TRUE, all levels of messages will be logged. Otherwise,
DEBUG and WARNING messages will be ignored. The function is used in
ibus-daemon, but can be useful for IBus client programs as well for
debugging. It's totally fine for not calling this function. If you
don't set a custom GLIB log handler, the default GLIB log handler will
be used.</doc>
<source-position filename="ibusshare.h" line="390"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="verbose" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="376">TRUE for verbose logging.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="unicode_to_keyval" c:identifier="ibus_unicode_to_keyval">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="55">Convert from a ISO10646 character to a key symbol.</doc>
<source-position filename="ibuskeys.h" line="65"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="61">the corresponding IBus key symbol, if one exists.
or, if there is no corresponding symbol,
wc | 0x01000000</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="wc" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibuskeys.h"
line="57">a ISO10646 encoded character</doc>
<type name="gunichar" c:type="gunichar"/>
</parameter>
</parameters>
</function>
<function name="unset_log_handler" c:identifier="ibus_unset_log_handler">
<doc xml:space="preserve"
filename="ibusshare.h"
line="392">Remove the log handler which is set by ibus_set_log_handler.</doc>
<source-position filename="ibusshare.h" line="397"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="write_address" c:identifier="ibus_write_address">
<doc xml:space="preserve"
filename="ibusshare.h"
line="243">Write D-Bus address to socket file.
See also: ibus_get_address().</doc>
<source-position filename="ibusshare.h" line="251"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="address" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusshare.h"
line="245">D-Bus address of IBus.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="xml_parse_buffer"
c:identifier="ibus_xml_parse_buffer"
moved-to="XML.parse_buffer">
<doc xml:space="preserve"
filename="ibusxml.h"
line="90">Parse a string buffer which contains an XML-formatted string,
and return a corresponding XML tree.</doc>
<source-position filename="ibusxml.h" line="99"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusxml.h"
line="97">Root node of parsed XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="92">Buffer to be parsed.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="xml_parse_file"
c:identifier="ibus_xml_parse_file"
moved-to="XML.parse_file">
<doc xml:space="preserve"
filename="ibusxml.h"
line="80">Parse an XML file and return a corresponding XML tree.</doc>
<source-position filename="ibusxml.h" line="88"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="ibusxml.h"
line="86">Root node of parsed XML tree.</doc>
<type name="XML" c:type="IBusXML*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="ibusxml.h"
line="82">File name to be parsed.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>
/* ibus-1.0.vapi generated by vapigen-0.56, do not modify. */
[CCode (cprefix = "IBus", gir_namespace = "IBus", gir_version = "1.0", lower_case_cprefix = "ibus_")]
namespace IBus {
[CCode (cheader_filename = "ibus.h", type_id = "ibus_attr_list_get_type ()")]
public class AttrList : IBus.Serializable {
public weak GLib.Array<void*> attributes;
[CCode (has_construct_function = false)]
public AttrList ();
public void append (IBus.Attribute attr);
public unowned IBus.Attribute @get (uint index);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_attribute_get_type ()")]
public class Attribute : IBus.Serializable {
public uint end_index;
public uint start_index;
public uint type;
public uint value;
[CCode (has_construct_function = false)]
public Attribute (uint type, uint value, uint start_index, uint end_index);
public uint get_attr_type ();
public uint get_end_index ();
public uint get_start_index ();
public uint get_value ();
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_bus_get_type ()")]
public class Bus : IBus.Object {
[CCode (has_construct_function = false)]
public Bus ();
public bool add_match (string rule);
public async void add_match_async (string rule, int timeout_msec, GLib.Cancellable? cancellable);
public bool add_match_async_finish (GLib.AsyncResult res) throws GLib.Error;
[CCode (has_construct_function = false)]
public Bus.@async ();
[CCode (has_construct_function = false)]
public Bus.async_client ();
public IBus.InputContext create_input_context (string client_name);
public async void create_input_context_async (string client_name, int timeout_msec, GLib.Cancellable? cancellable);
public IBus.InputContext create_input_context_async_finish (GLib.AsyncResult res) throws GLib.Error;
public string current_input_context ();
public async void current_input_context_async (int timeout_msec, GLib.Cancellable? cancellable);
public string current_input_context_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool exit (bool restart);
public async void exit_async (bool restart, int timeout_msec, GLib.Cancellable? cancellable);
public bool exit_async_finish (GLib.AsyncResult res) throws GLib.Error;
public unowned IBus.Config get_config ();
public unowned GLib.DBusConnection get_connection ();
[CCode (array_length = false, array_null_terminated = true)]
public IBus.EngineDesc[] get_engines_by_names ([CCode (array_length = false, array_null_terminated = true)] string[] names);
public IBus.EngineDesc get_global_engine ();
public async void get_global_engine_async (int timeout_msec, GLib.Cancellable? cancellable);
public unowned IBus.EngineDesc get_global_engine_async_finish (GLib.AsyncResult res) throws GLib.Error;
public GLib.Variant get_ibus_property (string property_name);
public async void get_ibus_property_async (string property_name, int timeout_msec, GLib.Cancellable? cancellable);
public GLib.Variant get_ibus_property_async_finish (GLib.AsyncResult res) throws GLib.Error;
public string get_name_owner (string name);
public async void get_name_owner_async (string name, int timeout_msec, GLib.Cancellable? cancellable);
public string get_name_owner_async_finish (GLib.AsyncResult res) throws GLib.Error;
public unowned string get_service_name ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool get_use_global_engine ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public async void get_use_global_engine_async (int timeout_msec, GLib.Cancellable? cancellable);
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool get_use_global_engine_async_finish (GLib.AsyncResult res) throws GLib.Error;
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool get_use_sys_layout ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public async void get_use_sys_layout_async (int timeout_msec, GLib.Cancellable? cancellable);
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool get_use_sys_layout_async_finish (GLib.AsyncResult res) throws GLib.Error;
public unowned string hello ();
public bool is_connected ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool is_global_engine_enabled ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public async void is_global_engine_enabled_async (int timeout_msec, GLib.Cancellable? cancellable);
[Version (deprecated = true, deprecated_since = "1.5.3")]
public bool is_global_engine_enabled_async_finish (GLib.AsyncResult res) throws GLib.Error;
[Version (deprecated = true, deprecated_since = "1.5.3")]
public GLib.List<IBus.EngineDesc> list_active_engines ();
[Version (deprecated = true, deprecated_since = "1.5.3")]
public async void list_active_engines_async (int timeout_msec, GLib.Cancellable? cancellable);
[Version (deprecated = true, deprecated_since = "1.5.3")]
public GLib.List<IBus.EngineDesc> list_active_engines_async_finish (GLib.AsyncResult res) throws GLib.Error;
public GLib.List<IBus.EngineDesc> list_engines ();
public async void list_engines_async (int timeout_msec, GLib.Cancellable? cancellable);
public GLib.List<IBus.EngineDesc> list_engines_async_finish (GLib.AsyncResult res) throws GLib.Error;
public GLib.List<string> list_names ();
public GLib.List<string> list_queued_owners (string name);
public bool name_has_owner (string name);
public async void name_has_owner_async (string name, int timeout_msec, GLib.Cancellable? cancellable);
public bool name_has_owner_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool preload_engines ([CCode (array_length = false, array_null_terminated = true)] string[] names);
public async void preload_engines_async ([CCode (array_length = false, array_null_terminated = true)] string[] names, int timeout_msec, GLib.Cancellable? cancellable);
public bool preload_engines_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool register_component (IBus.Component component);
public async void register_component_async (IBus.Component component, int timeout_msec, GLib.Cancellable? cancellable);
public bool register_component_async_finish (GLib.AsyncResult res) throws GLib.Error;
public uint release_name (string name);
public async void release_name_async (string name, int timeout_msec, GLib.Cancellable? cancellable);
public uint release_name_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool remove_match (string rule);
public async void remove_match_async (string rule, int timeout_msec, GLib.Cancellable? cancellable);
public bool remove_match_async_finish (GLib.AsyncResult res) throws GLib.Error;
public uint32 request_name (string name, uint32 flags);
public async void request_name_async (string name, uint flags, int timeout_msec, GLib.Cancellable? cancellable);
public uint request_name_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool set_global_engine (string global_engine);
public async void set_global_engine_async (string global_engine, int timeout_msec, GLib.Cancellable? cancellable);
public bool set_global_engine_async_finish (GLib.AsyncResult res) throws GLib.Error;
public void set_ibus_property (string property_name, GLib.Variant value);
public async void set_ibus_property_async (string property_name, GLib.Variant value, int timeout_msec, GLib.Cancellable? cancellable);
public bool set_ibus_property_async_finish (GLib.AsyncResult res) throws GLib.Error;
public void set_watch_dbus_signal (bool watch);
public void set_watch_ibus_signal (bool watch);
[NoAccessorMethod]
public bool client_only { get; construct; }
[NoAccessorMethod]
public bool connect_async { get; construct; }
public signal void connected ();
public signal void disconnected ();
public signal void global_engine_changed (string name);
public signal void name_owner_changed (string name, string old_owner, string new_owner);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_component_get_type ()")]
public class Component : IBus.Serializable {
[CCode (has_construct_function = false)]
public Component (string name, string description, string version, string license, string author, string homepage, string command_line, string textdomain);
public void add_engine (IBus.EngineDesc engine);
public void add_observed_path (string path, bool access_fs);
public bool check_modification ();
[CCode (has_construct_function = false)]
public Component.from_file (string filename);
[CCode (has_construct_function = false)]
public Component.from_xml_node (IBus.XML node);
public unowned string get_author ();
public unowned string get_description ();
public GLib.List<weak IBus.EngineDesc> get_engines ();
public unowned string get_exec ();
public unowned string get_homepage ();
public unowned string get_license ();
public unowned string get_name ();
public GLib.List<weak IBus.ObservedPath> get_observed_paths ();
public unowned string get_textdomain ();
public unowned string get_version ();
public void output (GLib.StringBuilder output, int indent);
public void output_engines (GLib.StringBuilder output, int indent);
public string author { get; construct; }
[NoAccessorMethod]
public string command_line { owned get; construct; }
public string description { get; construct; }
public string homepage { get; construct; }
public string license { get; construct; }
public string name { get; construct; }
public string textdomain { get; construct; }
public string version { get; construct; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_config_get_type ()")]
public class Config : IBus.Proxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable {
[CCode (has_construct_function = false)]
public Config (GLib.DBusConnection connection, GLib.Cancellable? cancellable = null) throws GLib.Error;
[CCode (has_construct_function = false)]
public Config.async_finish (GLib.AsyncResult res) throws GLib.Error;
public GLib.Variant get_value (string section, string name);
public async void get_value_async (string section, string name, int timeout_ms, GLib.Cancellable? cancellable);
public GLib.Variant get_value_async_finish (GLib.AsyncResult result) throws GLib.Error;
public GLib.Variant get_values (string section);
public async void get_values_async (string section, int timeout_ms, GLib.Cancellable? cancellable);
public GLib.Variant get_values_async_finish (GLib.AsyncResult result) throws GLib.Error;
public static async void new_async (GLib.DBusConnection connection, GLib.Cancellable? cancellable);
public bool set_value (string section, string name, GLib.Variant value);
public async void set_value_async (string section, string name, GLib.Variant value, int timeout_ms, GLib.Cancellable? cancellable);
public bool set_value_async_finish (GLib.AsyncResult result) throws GLib.Error;
public bool unset (string section, string name);
public bool unwatch (string? section, string? name);
public bool watch (string? section, string? name);
public signal void value_changed (string section, string name, GLib.Variant value);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_config_service_get_type ()")]
public class ConfigService : IBus.Service {
[CCode (has_construct_function = false)]
public ConfigService (GLib.DBusConnection connection);
[NoWrapper]
public virtual GLib.Variant get_value (string section, string name) throws GLib.Error;
[NoWrapper]
public virtual GLib.Variant get_values (string section) throws GLib.Error;
[NoWrapper]
public virtual bool set_value (string section, string name, GLib.Variant value) throws GLib.Error;
[NoWrapper]
public virtual bool unset_value (string section, string name) throws GLib.Error;
public void value_changed (string section, string name, GLib.Variant value);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_emoji_data_get_type ()")]
public class EmojiData : IBus.Serializable {
[CCode (cname = "ibus_emoji_data_new", has_construct_function = true)]
public EmojiData (string first_property_name, ...);
public unowned GLib.SList<string> get_annotations ();
public unowned string get_category ();
public unowned string get_description ();
public unowned string get_emoji ();
public static GLib.SList<IBus.EmojiData> load (string path);
public static void save (string path, GLib.SList<IBus.EmojiData> list);
public void set_annotations (owned GLib.SList<string> annotations);
public void set_description (string description);
public void* annotations { get; owned set construct; }
public string category { get; construct; }
public string description { get; set construct; }
public string emoji { get; construct; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_engine_get_type ()")]
public class Engine : IBus.Service {
public uint client_capabilities;
public IBus.Rectangle cursor_area;
public bool enabled;
public bool has_focus;
[CCode (has_construct_function = false)]
public Engine (string engine_name, string object_path, GLib.DBusConnection connection);
public void commit_text (IBus.Text text);
public void delete_surrounding_text (int offset, uint nchars);
public void forward_key_event (uint keyval, uint keycode, uint state);
public void get_content_type (out uint purpose, out uint hints);
public unowned string get_name ();
public void get_surrounding_text (out unowned IBus.Text text, out uint cursor_pos, out uint anchor_pos);
public void hide_auxiliary_text ();
public void hide_lookup_table ();
public void hide_preedit_text ();
public void register_properties (IBus.PropList prop_list);
public void show_auxiliary_text ();
public void show_lookup_table ();
public void show_preedit_text ();
public void update_auxiliary_text (IBus.Text text, bool visible);
public void update_lookup_table (IBus.LookupTable lookup_table, bool visible);
public void update_lookup_table_fast (IBus.LookupTable lookup_table, bool visible);
public void update_preedit_text (IBus.Text text, uint cursor_pos, bool visible);
public void update_preedit_text_with_mode (IBus.Text text, uint cursor_pos, bool visible, IBus.PreeditFocusMode mode);
public void update_property (IBus.Property prop);
[CCode (has_construct_function = false)]
public Engine.with_type (GLib.Type engine_type, string engine_name, string object_path, GLib.DBusConnection connection);
[NoAccessorMethod]
public string engine_name { owned get; construct; }
public virtual signal void cancel_hand_writing (uint n_strokes);
public virtual signal void candidate_clicked (uint index, uint button, uint state);
public virtual signal void cursor_down ();
public virtual signal void cursor_up ();
public virtual signal void disable ();
public virtual signal void enable ();
public virtual signal void focus_in ();
public virtual signal void focus_out ();
public virtual signal void page_down ();
public virtual signal void page_up ();
public virtual signal void process_hand_writing_event (void* coordinates, uint coordinates_len);
public virtual signal bool process_key_event (uint keyval, uint keycode, uint state);
public virtual signal void property_activate (string prop_name, uint prop_state);
public virtual signal void property_hide (string prop_name);
public virtual signal void property_show (string prop_name);
public virtual signal void reset ();
public virtual signal void set_capabilities (uint caps);
public virtual signal void set_content_type (uint purpose, uint hints);
public virtual signal void set_cursor_location (int x, int y, int w, int h);
public virtual signal void set_surrounding_text (GLib.Object text, uint cursor_index, uint anchor_pos);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_engine_desc_get_type ()")]
public class EngineDesc : IBus.Serializable {
[CCode (has_construct_function = false)]
public EngineDesc (string name, string longname, string description, string language, string license, string author, string icon, string layout);
[CCode (has_construct_function = false)]
public EngineDesc.from_xml_node (IBus.XML node);
public unowned string get_author ();
public unowned string get_description ();
public unowned string get_hotkeys ();
public unowned string get_icon ();
public unowned string get_icon_prop_key ();
public unowned string get_language ();
public unowned string get_layout ();
public unowned string get_layout_option ();
public unowned string get_layout_variant ();
public unowned string get_license ();
public unowned string get_longname ();
public unowned string get_name ();
public uint get_rank ();
public unowned string get_setup ();
public unowned string get_symbol ();
public unowned string get_textdomain ();
public unowned string get_version ();
public void output (GLib.StringBuilder output, int indent);
public string author { get; construct; }
public string description { get; construct; }
public string hotkeys { get; construct; }
public string icon { get; construct; }
public string icon_prop_key { get; construct; }
public string language { get; construct; }
public string layout { get; construct; }
public string layout_option { get; construct; }
public string layout_variant { get; construct; }
public string license { get; construct; }
public string longname { get; construct; }
public string name { get; construct; }
public uint rank { get; construct; }
public string setup { get; construct; }
public string symbol { get; construct; }
public string textdomain { get; construct; }
public string version { get; construct; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_engine_simple_get_type ()")]
public class EngineSimple : IBus.Engine {
[CCode (has_construct_function = false)]
protected EngineSimple ();
public bool add_compose_file (string file);
public void add_table ([CCode (array_length = false)] uint16[] data, int max_seq_len, int n_seqs);
public bool add_table_by_locale (string? locale);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_extension_event_get_type ()")]
public class ExtensionEvent : IBus.Serializable {
[CCode (cname = "ibus_extension_event_new", has_construct_function = true)]
public ExtensionEvent (string first_property_name, ...);
public unowned string get_name ();
public unowned string get_params ();
public uint get_version ();
[NoAccessorMethod]
public bool is_enabled { get; construct; }
[NoAccessorMethod]
public bool is_extension { get; construct; }
public string name { get; construct; }
public string @params { get; construct; }
public uint version { get; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_factory_get_type ()")]
public class Factory : IBus.Service {
[CCode (has_construct_function = false)]
public Factory (GLib.DBusConnection connection);
public void add_engine (string engine_name, GLib.Type engine_type);
[HasEmitter]
public virtual signal IBus.Engine? create_engine (string engine_name);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_hotkey_profile_get_type ()")]
public class HotkeyProfile : IBus.Serializable {
[CCode (has_construct_function = false)]
public HotkeyProfile ();
public bool add_hotkey (uint keyval, uint modifiers, GLib.Quark event);
public bool add_hotkey_from_string (string str, GLib.Quark event);
public GLib.Quark filter_key_event (uint keyval, uint modifiers, uint prev_keyval, uint prev_modifiers, void* user_data);
public GLib.Quark lookup_hotkey (uint keyval, uint modifiers);
public bool remove_hotkey (uint keyval, uint modifiers);
public bool remove_hotkey_by_event (GLib.Quark event);
public virtual signal void trigger (uint event, void* user_data);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_input_context_get_type ()")]
public class InputContext : IBus.Proxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable {
[CCode (has_construct_function = false)]
public InputContext (string path, GLib.DBusConnection connection, GLib.Cancellable? cancellable = null) throws GLib.Error;
[CCode (has_construct_function = false)]
public InputContext.async_finish (GLib.AsyncResult res) throws GLib.Error;
public void cancel_hand_writing (uint n_strokes);
public void focus_in ();
public void focus_out ();
public unowned IBus.EngineDesc get_engine ();
public async void get_engine_async (int timeout_msec, GLib.Cancellable? cancellable);
public unowned IBus.EngineDesc get_engine_async_finish (GLib.AsyncResult res) throws GLib.Error;
public static unowned IBus.InputContext get_input_context (string path, GLib.DBusConnection connection);
public static async void get_input_context_async (string path, GLib.DBusConnection connection, GLib.Cancellable? cancellable);
public static unowned IBus.InputContext get_input_context_async_finish (GLib.AsyncResult res) throws GLib.Error;
public bool needs_surrounding_text ();
public static async void new_async (string path, GLib.DBusConnection connection, GLib.Cancellable? cancellable);
public void process_hand_writing_event (double coordinates, uint coordinates_len);
public bool process_key_event (uint32 keyval, uint32 keycode, uint32 state);
public async void process_key_event_async (uint32 keyval, uint32 keycode, uint32 state, int timeout_msec, GLib.Cancellable? cancellable);
public bool process_key_event_async_finish (GLib.AsyncResult res) throws GLib.Error;
public void property_activate (string prop_name, uint32 state);
public void reset ();
public void set_capabilities (uint32 capabilities);
public void set_client_commit_preedit (bool client_commit);
public void set_content_type (uint purpose, uint hints);
public void set_cursor_location (int32 x, int32 y, int32 w, int32 h);
public void set_cursor_location_relative (int32 x, int32 y, int32 w, int32 h);
public void set_engine (string name);
public void set_surrounding_text (IBus.Text text, uint32 cursor_pos, uint32 anchor_pos);
public signal void commit_text (IBus.Text text);
public signal void cursor_down_lookup_table ();
public signal void cursor_up_lookup_table ();
public signal void delete_surrounding_text (int offset, uint n_chars);
public signal void disabled ();
public signal void enabled ();
public signal void forward_key_event (uint keyval, uint keycode, uint modifiers);
public signal void hide_auxiliary_text ();
public signal void hide_lookup_table ();
public signal void hide_preedit_text ();
public signal void page_down_lookup_table ();
public signal void page_up_lookup_table ();
public signal void register_properties (IBus.PropList props);
public signal void show_auxiliary_text ();
public signal void show_lookup_table ();
public signal void show_preedit_text ();
public signal void update_auxiliary_text (IBus.Text text, bool visible);
public signal void update_lookup_table (IBus.LookupTable table, bool visible);
public signal void update_preedit_text (IBus.Text text, uint cursor_pos, bool visible);
public signal void update_preedit_text_with_mode (IBus.Text text, uint cursor_pos, bool visible, uint mode);
public signal void update_property (IBus.Property prop);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_keymap_get_type ()")]
public class Keymap : IBus.Object {
[CCode (array_length = false)]
public weak uint keymap[1792];
public weak string name;
[CCode (has_construct_function = false)]
[Version (deprecated = true)]
public Keymap (string name);
public static IBus.Keymap @get (string name);
public uint lookup_keysym (uint16 keycode, uint32 state);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_lookup_table_get_type ()")]
public class LookupTable : IBus.Serializable {
public weak GLib.Array<void*> candidates;
public uint cursor_pos;
public bool cursor_visible;
public weak GLib.Array<void*> labels;
public int orientation;
public uint page_size;
public bool round;
[CCode (has_construct_function = false)]
public LookupTable (uint page_size, uint cursor_pos, bool cursor_visible, bool round);
public void append_candidate (IBus.Text text);
public void append_label (IBus.Text text);
public void clear ();
public bool cursor_down ();
public bool cursor_up ();
public unowned IBus.Text get_candidate (uint index);
public uint get_cursor_in_page ();
public uint get_cursor_pos ();
public unowned IBus.Text get_label (uint index);
public uint get_number_of_candidates ();
public int get_orientation ();
public uint get_page_size ();
public bool is_cursor_visible ();
public bool is_round ();
public bool page_down ();
public bool page_up ();
public void set_cursor_pos (uint cursor_pos);
public void set_cursor_visible (bool visible);
public void set_label (uint index, IBus.Text text);
public void set_orientation (int orientation);
public void set_page_size (uint page_size);
public void set_round (bool round);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_object_get_type ()")]
public class Object : GLib.InitiallyUnowned {
public uint32 flags;
[CCode (has_construct_function = false)]
public Object ();
[HasEmitter]
public virtual signal void destroy ();
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_observed_path_get_type ()")]
public class ObservedPath : IBus.Serializable {
public bool is_dir;
public bool is_exist;
public long mtime;
public weak string path;
[CCode (has_construct_function = false)]
public ObservedPath (string path, bool fill_stat);
public bool check_modification ();
[CCode (has_construct_function = false)]
public ObservedPath.from_xml_node (IBus.XML node, bool fill_stat);
public void output (GLib.StringBuilder output, int indent);
public GLib.List<IBus.ObservedPath> traverse (bool dir_only);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_panel_service_get_type ()")]
public class PanelService : IBus.Service {
[CCode (has_construct_function = false)]
public PanelService (GLib.DBusConnection connection);
public void candidate_clicked (uint index, uint button, uint state);
public void commit_text (IBus.Text text);
public void cursor_down ();
public void cursor_up ();
public void hide_preedit_text_received ();
public void page_down ();
public void page_up ();
public void panel_extension (owned IBus.ExtensionEvent event);
public void panel_extension_register_keys (string first_property_name, ...);
public void property_activate (string prop_name, uint prop_state);
public void property_hide (string prop_name);
public void property_show (string prop_name);
public void show_preedit_text_received ();
public void update_auxiliary_text_received (IBus.Text text, bool visible);
public void update_lookup_table_received (IBus.LookupTable table, bool visible);
public void update_preedit_text_received (IBus.Text text, uint cursor_pos, bool visible);
public virtual signal void candidate_clicked_lookup_table (uint index, uint button, uint state);
public virtual signal void commit_text_received (IBus.Text text);
public virtual signal void cursor_down_lookup_table ();
public virtual signal void cursor_up_lookup_table ();
public virtual signal void destroy_context (string input_context_path);
public virtual signal void focus_in (string input_context_path);
public virtual signal void focus_out (string input_context_path);
public virtual signal void hide_auxiliary_text ();
public virtual signal void hide_language_bar ();
public virtual signal void hide_lookup_table ();
public virtual signal void hide_preedit_text ();
public virtual signal void page_down_lookup_table ();
public virtual signal void page_up_lookup_table ();
public virtual signal void panel_extension_received (IBus.ExtensionEvent event);
public virtual signal bool process_key_event (uint keyval, uint keycode, uint state);
public virtual signal void register_properties (IBus.PropList prop_list);
public virtual signal void reset ();
public virtual signal void set_content_type (uint purpose, uint hints);
public virtual signal void set_cursor_location (int x, int y, int w, int h);
public virtual signal void set_cursor_location_relative (int x, int y, int w, int h);
public virtual signal void show_auxiliary_text ();
public virtual signal void show_language_bar ();
public virtual signal void show_lookup_table ();
public virtual signal void show_preedit_text ();
public virtual signal void start_setup ();
public virtual signal void state_changed ();
public virtual signal void update_auxiliary_text (IBus.Text text, bool visible);
public virtual signal void update_lookup_table (IBus.LookupTable lookup_table, bool visible);
public virtual signal void update_preedit_text (IBus.Text text, uint cursor_pos, bool visible);
public virtual signal void update_property (IBus.Property prop);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_prop_list_get_type ()")]
public class PropList : IBus.Serializable {
public weak GLib.Array<void*> properties;
[CCode (has_construct_function = false)]
public PropList ();
public void append (IBus.Property prop);
public unowned IBus.Property @get (uint index);
public bool update_property (IBus.Property prop);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_property_get_type ()")]
public class Property : IBus.Serializable {
[CCode (has_construct_function = false)]
public Property (string key, IBus.PropType type, IBus.Text label, string? icon, IBus.Text tooltip, bool sensitive, bool visible, IBus.PropState state, IBus.PropList? prop_list);
public unowned string get_icon ();
public unowned string get_key ();
public unowned IBus.Text get_label ();
public IBus.PropType get_prop_type ();
public bool get_sensitive ();
public IBus.PropState get_state ();
public unowned IBus.PropList get_sub_props ();
public unowned IBus.Text get_symbol ();
public unowned IBus.Text get_tooltip ();
public bool get_visible ();
public void set_icon (string icon);
public void set_label (IBus.Text label);
public void set_sensitive (bool sensitive);
public void set_state (IBus.PropState state);
public void set_sub_props (IBus.PropList prop_list);
public void set_symbol (IBus.Text symbol);
public void set_tooltip (IBus.Text tooltip);
public void set_visible (bool visible);
public bool update (IBus.Property prop_update);
public string icon { get; set; }
public string key { get; construct; }
public IBus.Text label { get; set construct; }
public IBus.PropType prop_type { get; construct; }
public bool sensitive { get; set; }
public IBus.PropState state { get; set; }
public IBus.PropList sub_props { get; set; }
public IBus.Text symbol { get; set construct; }
public IBus.Text tooltip { get; set; }
public bool visible { get; set; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_proxy_get_type ()")]
public class Proxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable {
public uint32 flags;
public bool own;
[CCode (has_construct_function = false)]
protected Proxy ();
[HasEmitter]
public virtual signal void destroy ();
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_registry_get_type ()")]
public class Registry : IBus.Serializable {
[CCode (has_construct_function = false)]
public Registry ();
public bool check_modification ();
public GLib.List<weak IBus.Component> get_components ();
public GLib.List<weak IBus.ObservedPath> get_observed_paths ();
public void load ();
public bool load_cache (bool is_user);
public bool load_cache_file (string filename);
public void load_in_dir (string dirname);
public void output (GLib.StringBuilder output, int indent);
public bool save_cache (bool is_user);
public bool save_cache_file (string filename);
public void start_monitor_changes ();
public signal void changed ();
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_serializable_get_type ()")]
public class Serializable : IBus.Object {
[CCode (has_construct_function = false)]
public Serializable ();
[NoWrapper]
public virtual bool copy (IBus.Serializable src);
[NoWrapper]
public virtual int deserialize (GLib.Variant variant);
public static unowned IBus.Serializable deserialize_object (GLib.Variant variant);
public GLib.Variant get_qattachment (GLib.Quark key);
public void remove_qattachment (GLib.Quark key);
[NoWrapper]
public virtual bool serialize (GLib.VariantBuilder builder);
public GLib.Variant serialize_object ();
public void set_qattachment (GLib.Quark key, GLib.Variant value);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_service_get_type ()")]
public class Service : IBus.Object {
[CCode (has_construct_function = false)]
public Service (GLib.DBusConnection connection, string path);
[CCode (cname = "ibus_service_class_add_interfaces")]
public class bool add_interfaces (string xml_data);
public bool emit_signal (string dest_bus_name, string interface_name, string signal_name, GLib.Variant parameters) throws GLib.Error;
public unowned GLib.DBusConnection get_connection ();
public unowned string get_object_path ();
public bool register (GLib.DBusConnection connection) throws GLib.Error;
[NoWrapper]
public virtual GLib.Variant? service_get_property (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name) throws GLib.Error;
[NoWrapper]
public virtual void service_method_call (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string method_name, GLib.Variant parameters, GLib.DBusMethodInvocation invocation);
[NoWrapper]
public virtual bool service_set_property (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
public void unregister (GLib.DBusConnection connection);
public GLib.DBusConnection connection { get; construct; }
public string object_path { get; construct; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_text_get_type ()")]
public class Text : IBus.Serializable {
public weak IBus.AttrList attrs;
public bool is_static;
public weak string text;
[CCode (has_construct_function = false)]
protected Text ();
public void append_attribute (uint type, uint value, uint start_index, int end_index);
[CCode (cname = "ibus_text_new_from_static_string", has_construct_function = false)]
public Text.from_static_string (string str);
[CCode (has_construct_function = false)]
public Text.from_string (string str);
[CCode (has_construct_function = false)]
public Text.from_ucs4 (unichar str);
[CCode (has_construct_function = false)]
public Text.from_unichar (unichar c);
public unowned IBus.AttrList get_attributes ();
public uint get_length ();
public unowned string get_text ();
public void set_attributes (IBus.AttrList attrs);
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_unicode_block_get_type ()")]
public class UnicodeBlock : IBus.Serializable {
[CCode (has_construct_function = false)]
protected UnicodeBlock ();
public unichar get_end ();
public unowned string get_name ();
public unichar get_start ();
public static GLib.SList<IBus.UnicodeBlock> load (string path);
public static void save (string path, GLib.SList<IBus.UnicodeBlock> list);
public uint end { get; construct; }
[NoAccessorMethod]
public string name { owned get; set construct; }
public uint start { get; construct; }
}
[CCode (cheader_filename = "ibus.h", type_id = "ibus_unicode_data_get_type ()")]
public class UnicodeData : IBus.Serializable {
[CCode (has_construct_function = false)]
protected UnicodeData ();
public unowned string get_alias ();
public unowned string get_block_name ();
public unichar get_code ();
public unowned string get_name ();
public static GLib.SList<IBus.UnicodeData> load (string path, GLib.Object? object);
public static void load_async (string path, GLib.Object? object, GLib.Cancellable? cancellable, IBus.UnicodeDataLoadAsyncFinish callback);
public static void save (string path, GLib.SList<IBus.UnicodeData> list);
public void set_block_name (string block_name);
[NoAccessorMethod]
public string alias { owned get; set construct; }
public string block_name { get; set construct; }
public uint code { get; construct; }
[NoAccessorMethod]
public string name { owned get; set construct; }
}
[CCode (cheader_filename = "ibus.h", lower_case_csuffix = "x_event", type_id = "ibus_x_event_get_type ()")]
public class XEvent : IBus.Serializable {
[CCode (cname = "ibus_x_event_new", has_construct_function = true)]
public XEvent (global::string first_property_name, ...);
public IBus.XEventType get_event_type ();
public uint8 get_group ();
public uint16 get_hardware_keycode ();
public bool get_is_modifier ();
public uint get_keyval ();
public int get_length ();
public unowned global::string get_purpose ();
public uint32 get_root ();
public bool get_same_screen ();
public int8 get_send_event ();
public ulong get_serial ();
public uint get_state ();
public unowned global::string get_string ();
public uint32 get_subwindow ();
public uint32 get_time ();
public uint get_version ();
public uint32 get_window ();
public int get_x ();
public int get_x_root ();
public int get_y ();
public int get_y_root ();
public int event_type { get; construct; }
public uint group { get; construct; }
public uint hardware_keycode { get; construct; }
public bool is_modifier { get; construct; }
public uint keyval { get; construct; }
public int length { get; construct; }
public global::string purpose { get; construct; }
public uint root { get; construct; }
public bool same_screen { get; construct; }
public int send_event { get; construct; }
public ulong serial { get; construct; }
public uint state { get; construct; }
public global::string string { get; construct; }
public uint subwindow { get; construct; }
public uint time { get; construct; }
public uint version { get; }
public uint window { get; construct; }
public int x { get; construct; }
public int x_root { get; construct; }
public int y { get; construct; }
public int y_root { get; construct; }
}
[CCode (cheader_filename = "ibus.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "ibus_xml_get_type ()")]
[Compact]
public class XML {
public weak string attributes;
public weak string name;
public weak GLib.List<void*> sub_nodes;
public weak string text;
public IBus.XML copy ();
public void free ();
public void output (GLib.StringBuilder output);
public static IBus.XML parse_buffer (string buffer);
public static IBus.XML parse_file (string name);
}
[CCode (cheader_filename = "ibus.h", has_type_id = false)]
public struct ProcessKeyEventData {
public uint keyval;
public uint keycode;
public uint state;
}
[CCode (cheader_filename = "ibus.h", has_type_id = false)]
public struct Rectangle {
public int x;
public int y;
public int width;
public int height;
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_ATTR_TYPE_", type_id = "ibus_attr_type_get_type ()")]
public enum AttrType {
UNDERLINE,
FOREGROUND,
BACKGROUND
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_ATTR_UNDERLINE_", type_id = "ibus_attr_underline_get_type ()")]
public enum AttrUnderline {
NONE,
SINGLE,
DOUBLE,
LOW,
ERROR;
public static unowned IBus.Attribute @new (uint underline_type, uint start_index, uint end_index);
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_BUS_NAME_FLAG_", type_id = "ibus_bus_name_flag_get_type ()")]
[Flags]
public enum BusNameFlag {
ALLOW_REPLACEMENT,
REPLACE_EXISTING,
DO_NOT_QUEUE
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_BUS_REQUEST_NAME_REPLY_", type_id = "ibus_bus_request_name_reply_get_type ()")]
public enum BusRequestNameReply {
PRIMARY_OWNER,
IN_QUEUE,
EXISTS,
ALREADY_OWNER
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_BUS_START_REPLY_", type_id = "ibus_bus_start_service_by_name_reply_get_type ()")]
public enum BusStartServiceByNameReply {
SUCCESS,
ALREADY_RUNNING
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_CAP_", type_id = "ibus_capabilite_get_type ()")]
[Flags]
public enum Capabilite {
PREEDIT_TEXT,
AUXILIARY_TEXT,
LOOKUP_TABLE,
FOCUS,
PROPERTY,
SURROUNDING_TEXT
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_INPUT_HINT_", type_id = "ibus_input_hints_get_type ()")]
[Flags]
[Version (since = "1.5.4")]
public enum InputHints {
NONE,
SPELLCHECK,
NO_SPELLCHECK,
WORD_COMPLETION,
LOWERCASE,
UPPERCASE_CHARS,
UPPERCASE_WORDS,
UPPERCASE_SENTENCES,
INHIBIT_OSK,
VERTICAL_WRITING,
EMOJI,
NO_EMOJI,
PRIVATE
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_INPUT_PURPOSE_", type_id = "ibus_input_purpose_get_type ()")]
[Version (since = "1.5.4")]
public enum InputPurpose {
FREE_FORM,
ALPHA,
DIGITS,
NUMBER,
PHONE,
URL,
EMAIL,
NAME,
PASSWORD,
PIN,
TERMINAL
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_", type_id = "ibus_modifier_type_get_type ()")]
[Flags]
public enum ModifierType {
SHIFT_MASK,
LOCK_MASK,
CONTROL_MASK,
MOD1_MASK,
MOD2_MASK,
MOD3_MASK,
MOD4_MASK,
MOD5_MASK,
BUTTON1_MASK,
BUTTON2_MASK,
BUTTON3_MASK,
BUTTON4_MASK,
BUTTON5_MASK,
HANDLED_MASK,
FORWARD_MASK,
IGNORED_MASK,
SUPER_MASK,
HYPER_MASK,
META_MASK,
RELEASE_MASK,
MODIFIER_MASK
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_", type_id = "ibus_object_flags_get_type ()")]
[Flags]
public enum ObjectFlags {
IN_DESTRUCTION,
DESTROYED,
RESERVED_1,
RESERVED_2
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_ORIENTATION_", type_id = "ibus_orientation_get_type ()")]
public enum Orientation {
HORIZONTAL,
VERTICAL,
SYSTEM
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_ENGINE_PREEDIT_", type_id = "ibus_preedit_focus_mode_get_type ()")]
public enum PreeditFocusMode {
CLEAR,
COMMIT
}
[CCode (cheader_filename = "ibus.h", cprefix = "PROP_STATE_", type_id = "ibus_prop_state_get_type ()")]
public enum PropState {
UNCHECKED,
CHECKED,
INCONSISTENT
}
[CCode (cheader_filename = "ibus.h", cprefix = "PROP_TYPE_", type_id = "ibus_prop_type_get_type ()")]
public enum PropType {
NORMAL,
TOGGLE,
RADIO,
MENU,
SEPARATOR
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_X_EVENT_", type_id = "ibus_xevent_type_get_type ()")]
public enum XEventType {
NOTHING,
KEY_PRESS,
KEY_RELEASE,
OTHER,
EVENT_LAST
}
[CCode (cheader_filename = "ibus.h", cprefix = "IBUS_ERROR_", type_id = "ibus_error_get_type ()")]
public errordomain Error {
NO_ENGINE,
NO_CONFIG,
FAILED;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "ibus.h", has_target = false)]
public delegate void FreeFunc (void* object);
[CCode (cheader_filename = "ibus.h", has_target = false)]
public delegate void ObjectDestroyFunc (IBus.Object object);
[CCode (cheader_filename = "ibus.h", has_target = false)]
public delegate bool SerializableCopyFunc (IBus.Serializable dest, IBus.Serializable src);
[CCode (cheader_filename = "ibus.h", has_target = false)]
public delegate int SerializableDeserializeFunc (IBus.Serializable serializable, GLib.Variant variant);
[CCode (cheader_filename = "ibus.h", has_target = false)]
public delegate bool SerializableSerializeFunc (IBus.Serializable serializable, GLib.VariantBuilder builder);
[CCode (cheader_filename = "ibus.h", instance_pos = 1.9)]
public delegate void UnicodeDataLoadAsyncFinish (owned GLib.SList<IBus.UnicodeData> data_list);
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_CONFIG")]
public const string INTERFACE_CONFIG;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_ENGINE")]
public const string INTERFACE_ENGINE;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_FACTORY")]
public const string INTERFACE_FACTORY;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_IBUS")]
public const string INTERFACE_IBUS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_INPUT_CONTEXT")]
public const string INTERFACE_INPUT_CONTEXT;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_NOTIFICATIONS")]
public const string INTERFACE_NOTIFICATIONS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_PANEL")]
public const string INTERFACE_PANEL;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_INTERFACE_PORTAL")]
public const string INTERFACE_PORTAL;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_CONFIG")]
public const string PATH_CONFIG;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_FACTORY")]
public const string PATH_FACTORY;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_IBUS")]
public const string PATH_IBUS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_INPUT_CONTEXT")]
public const string PATH_INPUT_CONTEXT;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_NOTIFICATIONS")]
public const string PATH_NOTIFICATIONS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_PANEL")]
public const string PATH_PANEL;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_PATH_PANEL_EXTENSION_EMOJI")]
public const string PATH_PANEL_EXTENSION_EMOJI;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_CONFIG")]
public const string SERVICE_CONFIG;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_IBUS")]
public const string SERVICE_IBUS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_NOTIFICATIONS")]
public const string SERVICE_NOTIFICATIONS;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_PANEL")]
public const string SERVICE_PANEL;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_PANEL_EXTENSION")]
public const string SERVICE_PANEL_EXTENSION;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_PANEL_EXTENSION_EMOJI")]
public const string SERVICE_PANEL_EXTENSION_EMOJI;
[CCode (cheader_filename = "ibus.h", cname = "IBUS_SERVICE_PORTAL")]
public const string SERVICE_PORTAL;
[CCode (cheader_filename = "ibus.h")]
public static string accelerator_name (uint accelerator_key, IBus.ModifierType accelerator_mods);
[CCode (cheader_filename = "ibus.h")]
[Version (since = "1.5.18")]
public static void accelerator_parse (string accelerator, out uint accelerator_key, out IBus.ModifierType accelerator_mods);
[CCode (cheader_filename = "ibus.h")]
public static bool accelerator_valid (uint keyval, IBus.ModifierType modifiers);
[CCode (cheader_filename = "ibus.h")]
public static unowned IBus.Attribute attr_background_new (uint color, uint start_index, uint end_index);
[CCode (cheader_filename = "ibus.h")]
public static unowned IBus.Attribute attr_foreground_new (uint color, uint start_index, uint end_index);
[CCode (cheader_filename = "ibus.h")]
[Version (replacement = "AttrUnderline.new")]
public static unowned IBus.Attribute attr_underline_new (uint underline_type, uint start_index, uint end_index);
[CCode (cheader_filename = "ibus.h")]
public static unowned GLib.HashTable<string,void*> emoji_dict_load (string path);
[CCode (cheader_filename = "ibus.h")]
public static unowned IBus.EmojiData emoji_dict_lookup (owned GLib.HashTable<string,IBus.EmojiData> dict, string emoji);
[CCode (cheader_filename = "ibus.h")]
public static void emoji_dict_save (string path, GLib.HashTable<string,void*> dict);
[CCode (cheader_filename = "ibus.h")]
[Version (replacement = "Error.quark")]
public static GLib.Quark error_quark ();
[CCode (cheader_filename = "ibus.h")]
[Version (deprecated = true)]
public static void free_strv (string strv);
[CCode (cheader_filename = "ibus.h")]
public static unowned string get_address ();
[CCode (cheader_filename = "ibus.h")]
[Version (deprecated = true)]
public static long get_daemon_uid ();
[CCode (cheader_filename = "ibus.h")]
public static string get_language_name (string _locale);
[CCode (cheader_filename = "ibus.h")]
public static unowned string get_local_machine_id ();
[CCode (cheader_filename = "ibus.h")]
public static unowned string get_socket_path ();
[CCode (cheader_filename = "ibus.h")]
public static int get_timeout ();
[CCode (cheader_filename = "ibus.h")]
public static string get_untranslated_language_name (string _locale);
[CCode (cheader_filename = "ibus.h")]
public static unowned string get_user_name ();
[CCode (cheader_filename = "ibus.h")]
public static void init ();
[CCode (cheader_filename = "ibus.h")]
public static bool key_event_from_string (string string, out uint keyval, out uint modifiers);
[CCode (cheader_filename = "ibus.h")]
public static string key_event_to_string (uint keyval, uint modifiers);
[CCode (cheader_filename = "ibus.h")]
public static void keyval_convert_case (uint symbol, out uint lower, out uint upper);
[CCode (cheader_filename = "ibus.h")]
public static uint keyval_from_name (string keyval_name);
[CCode (cheader_filename = "ibus.h")]
public static unowned string keyval_name (uint keyval);
[CCode (cheader_filename = "ibus.h")]
public static uint keyval_to_lower (uint keyval);
[CCode (cheader_filename = "ibus.h")]
public static unichar keyval_to_unicode (uint keyval);
[CCode (cheader_filename = "ibus.h")]
public static uint keyval_to_upper (uint keyval);
[CCode (cheader_filename = "ibus.h")]
public static void main ();
[CCode (cheader_filename = "ibus.h")]
public static void quit ();
[CCode (cheader_filename = "ibus.h")]
public static void set_display (string display);
[CCode (cheader_filename = "ibus.h")]
public static void set_log_handler (bool verbose);
[CCode (cheader_filename = "ibus.h")]
public static uint unicode_to_keyval (unichar wc);
[CCode (cheader_filename = "ibus.h")]
public static void unset_log_handler ();
[CCode (cheader_filename = "ibus.h")]
public static void write_address (string address);
[CCode (cheader_filename = "ibus.h")]
[Version (replacement = "XML.parse_buffer")]
public static IBus.XML xml_parse_buffer (string buffer);
[CCode (cheader_filename = "ibus.h")]
[Version (replacement = "XML.parse_file")]
public static IBus.XML xml_parse_file (string name);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment