Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IBusFactory: IBus Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="IBus Reference Manual">
<link rel="up" href="ch03.html" title="Input method engine">
<link rel="prev" href="IBusEngineSimple.html" title="IBusEngineSimple">
<link rel="next" href="IBusInputContext.html" title="IBusInputContext">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#IBusFactory.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#IBusFactory.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#IBusFactory.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="IBusEngineSimple.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="IBusInputContext.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="IBusFactory"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBusFactory.top_of_page"></a>IBusFactory</span></h2>
<p>IBusFactory — Factory for creating engine instances.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBusFactory.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="IBusFactory.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="IBusFactory.html" title="IBusFactory"><span class="returnvalue">IBusFactory</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusFactory.html#ibus-factory-new" title="ibus_factory_new ()">ibus_factory_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusFactory.html#ibus-factory-add-engine" title="ibus_factory_add_engine ()">ibus_factory_add_engine</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusFactory.html#ibus-factory-create-engine" title="ibus_factory_create_engine ()">ibus_factory_create_engine</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusFactory.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody><tr>
<td class="signal_type">
<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a>*</td>
<td class="signal_name"><a class="link" href="IBusFactory.html#IBusFactory-create-engine" title="The “create-engine” signal">create-engine</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusFactory.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="IBusFactory.html#IBusFactory-struct" title="struct IBusFactory">IBusFactory</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusFactory.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
        <span class="lineart">╰──</span> <a class="link" href="IBusObject.html" title="IBusObject">IBusObject</a>
            <span class="lineart">╰──</span> <a class="link" href="IBusService.html" title="IBusService">IBusService</a>
                <span class="lineart">╰──</span> IBusFactory
</pre>
</div>
<div class="refsect1">
<a name="IBusFactory.description"></a><h2>Description</h2>
<p>An IBusFactory is an <a class="link" href="IBusService.html" title="IBusService"><span class="type">IBusService</span></a> 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.</p>
<p>see_also: <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a></p>
</div>
<div class="refsect1">
<a name="IBusFactory.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ibus-factory-new"></a><h3>ibus_factory_new ()</h3>
<pre class="programlisting"><a class="link" href="IBusFactory.html" title="IBusFactory"><span class="returnvalue">IBusFactory</span></a> *
ibus_factory_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gio/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>);</pre>
<p>Creates a new <a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a>.</p>
<div class="refsect3">
<a name="ibus-factory-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>connection</p></td>
<td class="parameter_description"><p>An GDBusConnection.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-factory-new.returns"></a><h4>Returns</h4>
<p> A newly allocated <a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-factory-add-engine"></a><h3>ibus_factory_add_engine ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_factory_add_engine (<em class="parameter"><code><a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a> *factory</code></em>,
                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *engine_name</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> engine_type</code></em>);</pre>
<p>Add an engine to the factory.</p>
<div class="refsect3">
<a name="ibus-factory-add-engine.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>An IBusFactory.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>engine_name</p></td>
<td class="parameter_description"><p>Name of an engine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>engine_type</p></td>
<td class="parameter_description"><p>GType of an engine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-factory-create-engine"></a><h3>ibus_factory_create_engine ()</h3>
<pre class="programlisting"><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
ibus_factory_create_engine (<em class="parameter"><code><a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a> *factory</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *engine_name</code></em>);</pre>
<p>Creates an <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> with <em class="parameter"><code>engine_name</code></em>
.</p>
<div class="refsect3">
<a name="ibus-factory-create-engine.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>engine_name</p></td>
<td class="parameter_description"><p>Name of an engine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-factory-create-engine.returns"></a><h4>Returns</h4>
<p><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> with <em class="parameter"><code>engine_name</code></em>
. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
</div>
<div class="refsect1">
<a name="IBusFactory.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="IBusFactory-struct"></a><h3>struct IBusFactory</h3>
<pre class="programlisting">struct IBusFactory;</pre>
<p>An opaque data type representing an IBusFactory.</p>
</div>
</div>
<div class="refsect1">
<a name="IBusFactory.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="IBusFactory-create-engine"></a><h3>The <code class="literal">“create-engine”</code> signal</h3>
<pre class="programlisting"><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a>*
user_function (<a class="link" href="IBusFactory.html" title="IBusFactory"><span class="type">IBusFactory</span></a> *factory,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *engine_name,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)</pre>
<p>The ::create-engine signal is a signal to create IBusEngine
with <em class="parameter"><code>engine_name</code></em>
, 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.</p>
<div class="refsect3">
<a name="IBusFactory-create-engine.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>the factory which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>engine_name</p></td>
<td class="parameter_description"><p>the engine_name which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>returns</p></td>
<td class="parameter_description"><p>An IBusEngine. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>