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>IBusSerializable: 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="ch05.html" title="Communication">
<link rel="prev" href="IBusProxy.html" title="IBusProxy">
<link rel="next" href="IBusService.html" title="IBusService">
<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="#IBusSerializable.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#IBusSerializable.object-hierarchy" class="shortcut">Object Hierarchy</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="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="IBusProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="IBusService.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="IBusSerializable"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBusSerializable.top_of_page"></a>IBusSerializable</span></h2>
<p>IBusSerializable — A serializable object.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBusSerializable.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="IBusSerializable.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="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()">ibus_serializable_set_attachment</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-get-attachment" title="ibus_serializable_get_attachment()">ibus_serializable_get_attachment</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-remove-attachment" title="ibus_serializable_remove_attachment()">ibus_serializable_remove_attachment</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="IBusSerializable.html#IBusSerializableSerializeFunc" title="IBusSerializableSerializeFunc ()">*IBusSerializableSerializeFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="IBusSerializable.html#IBusSerializableDeserializeFunc" title="IBusSerializableDeserializeFunc ()">*IBusSerializableDeserializeFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()">*IBusSerializableCopyFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-new" title="ibus_serializable_new ()">ibus_serializable_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="IBusSerializable.html#ibus-serializable-set-qattachment" title="ibus_serializable_set_qattachment ()">ibus_serializable_set_qattachment</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-get-qattachment" title="ibus_serializable_get_qattachment ()">ibus_serializable_get_qattachment</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="IBusSerializable.html#ibus-serializable-remove-qattachment" title="ibus_serializable_remove_qattachment ()">ibus_serializable_remove_qattachment</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-copy" title="ibus_serializable_copy ()">ibus_serializable_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-serialize-object" title="ibus_serializable_serialize_object ()">ibus_serializable_serialize_object</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusSerializable.html#ibus-serializable-deserialize-object" title="ibus_serializable_deserialize_object ()">ibus_serializable_deserialize_object</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusSerializable.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="IBusSerializable.html#IBusSerializable-struct" title="struct IBusSerializable">IBusSerializable</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="IBusSerializable.html#ibus-serializable-serialize" title="ibus_serializable_serialize">ibus_serializable_serialize</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="IBusSerializable.html#ibus-serializable-deserialize" title="ibus_serializable_deserialize">ibus_serializable_deserialize</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusSerializable.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> IBusSerializable
                <span class="lineart">├──</span> <a class="link" href="IBusHotkeyProfile.html" title="IBusHotkeyProfile">IBusHotkeyProfile</a>
                <span class="lineart">├──</span> <a class="link" href="IBusText.html" title="IBusText">IBusText</a>
                <span class="lineart">├──</span> <a class="link" href="IBusAttribute.html" title="IBusAttribute">IBusAttribute</a>
                <span class="lineart">├──</span> <a class="link" href="IBusAttrList.html" title="IBusAttrList">IBusAttrList</a>
                <span class="lineart">├──</span> <a class="link" href="IBusEngineDesc.html" title="IBusEngineDesc">IBusEngineDesc</a>
                <span class="lineart">├──</span> <a class="link" href="IBusLookupTable.html" title="IBusLookupTable">IBusLookupTable</a>
                <span class="lineart">├──</span> <a class="link" href="IBusComponent.html" title="IBusComponent">IBusComponent</a>
                <span class="lineart">├──</span> <a class="link" href="IBusProperty.html" title="IBusProperty">IBusProperty</a>
                <span class="lineart">├──</span> <a class="link" href="IBusProperty.html#IBusPropList">IBusPropList</a>
                <span class="lineart">├──</span> <a class="link" href="IBusObservedPath.html" title="IBusObservedPath">IBusObservedPath</a>
                <span class="lineart">├──</span> <a class="link" href="IBusRegistry.html" title="IBusRegistry">IBusRegistry</a>
                <span class="lineart">╰──</span> IBusExtensionEvent
</pre>
</div>
<div class="refsect1">
<a name="IBusSerializable.description"></a><h2>Description</h2>
<p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> is an IBus object which can be serialized, that is,
to be to and from a <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</p>
<p>This class is to be extended by other class that requires serialization.
An extended class should overrides following methods:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><code class="function">serialize(object,iter)</code>: for serialize.</p></li>
<li class="listitem"><p><code class="function">deserialize(object,iter)</code>: for deserialize.</p></li>
<li class="listitem"><p><code class="function">copy(desc,src)</code>: for copy between IBusSerializable.</p></li>
</ul></div>
<p>See <a class="link" href="IBusSerializable.html#IBusSerializableSerializeFunc" title="IBusSerializableSerializeFunc ()"><code class="function">IBusSerializableSerializeFunc()</code></a>, <a class="link" href="IBusSerializable.html#IBusSerializableDeserializeFunc" title="IBusSerializableDeserializeFunc ()"><code class="function">IBusSerializableDeserializeFunc()</code></a>, <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>
for function prototype.</p>
</div>
<div class="refsect1">
<a name="IBusSerializable.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ibus-serializable-set-attachment"></a><h3>ibus_serializable_set_attachment()</h3>
<pre class="programlisting">#define             ibus_serializable_set_attachment(o, k, v)</pre>
<p>Attach a value to an IBusSerializable.
This macro is an convenient wrapper of <a class="link" href="IBusSerializable.html#ibus-serializable-set-qattachment" title="ibus_serializable_set_qattachment ()"><code class="function">ibus_serializable_set_qattachment()</code></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-set-attachment.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>o</p></td>
<td class="parameter_description"><p>An IBusSerializable.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>k</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>v</p></td>
<td class="parameter_description"><p>Value to be attached. Should be also serializable.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-get-attachment"></a><h3>ibus_serializable_get_attachment()</h3>
<pre class="programlisting">#define             ibus_serializable_get_attachment(o, k)</pre>
<p>Get a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
This macro is an convenient wrapper of <a class="link" href="IBusSerializable.html#ibus-serializable-get-qattachment" title="ibus_serializable_get_qattachment ()"><code class="function">ibus_serializable_get_qattachment()</code></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-get-attachment.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>o</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>k</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-remove-attachment"></a><h3>ibus_serializable_remove_attachment()</h3>
<pre class="programlisting">#define             ibus_serializable_remove_attachment(o, k)</pre>
<p>Remove a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
This macro is an convenient wrapper of <a class="link" href="IBusSerializable.html#ibus-serializable-remove-qattachment" title="ibus_serializable_remove_qattachment ()"><code class="function">ibus_serializable_remove_qattachment()</code></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-remove-attachment.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>o</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>k</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="IBusSerializableSerializeFunc"></a><h3>IBusSerializableSerializeFunc ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
<span class="c_punctuation">(</span>*IBusSerializableSerializeFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
<p>Prototype of serialize function.
Serialize function convert an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> to <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a>.
Returns a gboolean value which indicates whether the conversion is success.
Return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed.</p>
<div class="refsect3">
<a name="IBusSerializableSerializeFunc.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="IBusSerializableSerializeFunc.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed; <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="IBusSerializableDeserializeFunc"></a><h3>IBusSerializableDeserializeFunc ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
<span class="c_punctuation">(</span>*IBusSerializableDeserializeFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
<p>Prototype of deserialize function.
Deserialize function convert a <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> to <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
Returns an integer value which indicates how many values in
the variant(tuple) are consumed.</p>
<div class="refsect3">
<a name="IBusSerializableDeserializeFunc.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>variant</p></td>
<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> contains a tuple.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="IBusSerializableDeserializeFunc.returns"></a><h4>Returns</h4>
<p> The number of values in the variant(tuple) are consumed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="IBusSerializableCopyFunc"></a><h3>IBusSerializableCopyFunc ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
<span class="c_punctuation">(</span>*IBusSerializableCopyFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *dest</code></em>,
                             <em class="parameter"><code>const <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *src</code></em>);</pre>
<p>Prototype of copy function.
Copy function copy from source <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> to the destination one.
Returns a gboolean value which indicates whether the copying is success.</p>
<div class="refsect3">
<a name="IBusSerializableCopyFunc.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>dest</p></td>
<td class="parameter_description"><p>The destination <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>A source <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="IBusSerializableCopyFunc.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed; <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-new"></a><h3>ibus_serializable_new ()</h3>
<pre class="programlisting"><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
ibus_serializable_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates a new instance of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-new.returns"></a><h4>Returns</h4>
<p> a new instance of <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-set-qattachment"></a><h3>ibus_serializable_set_qattachment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_serializable_set_qattachment (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
<p>Attach a value to an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>. If the value is floating,
the serializable will take the ownership.</p>
<p>See also: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-set-qattachment.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>Value to be attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove any prevoius value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-get-qattachment"></a><h3>ibus_serializable_get_qattachment ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
ibus_serializable_get_qattachment (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);</pre>
<p>Gets a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-get-qattachment.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-serializable-get-qattachment.returns"></a><h4>Returns</h4>
<p> The attached value; or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if fail to retrieve the value.</p>
<p>See also: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-remove-qattachment"></a><h3>ibus_serializable_remove_qattachment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_serializable_remove_qattachment (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);</pre>
<p>Remove a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
See also: <a class="link" href="IBusSerializable.html#ibus-serializable-remove-attachment" title="ibus_serializable_remove_attachment()"><code class="function">ibus_serializable_remove_attachment()</code></a>.</p>
<div class="refsect3">
<a name="ibus-serializable-remove-qattachment.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>String formatted key for indexing value.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-copy"></a><h3>ibus_serializable_copy ()</h3>
<pre class="programlisting"><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
ibus_serializable_copy (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);</pre>
<p>Clone an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
The copy method should be implemented in extended class.</p>
<div class="refsect3">
<a name="ibus-serializable-copy.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-serializable-copy.returns"></a><h4>Returns</h4>
<p>A newly allocated clone object; or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
if <em class="parameter"><code>object</code></em>
is not serializable.</p>
<p>See also: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-serialize-object"></a><h3>ibus_serializable_serialize_object ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
ibus_serializable_serialize_object (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);</pre>
<p>Serialize an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> to a <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.
The serialize method should be implemented in extended class.</p>
<div class="refsect3">
<a name="ibus-serializable-serialize-object.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>serializable</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-serializable-serialize-object.returns"></a><h4>Returns</h4>
<p> A <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</p>
<p>See also: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-deserialize-object"></a><h3>ibus_serializable_deserialize_object ()</h3>
<pre class="programlisting"><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> *
ibus_serializable_deserialize_object (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
<p>Deserialize a <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> to an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>/
The deserialize method should be implemented in extended class.</p>
<div class="refsect3">
<a name="ibus-serializable-deserialize-object.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>variant</p></td>
<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-serializable-deserialize-object.returns"></a><h4>Returns</h4>
<p>The deserialized <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</p>
<p>See also: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
</div>
<div class="refsect1">
<a name="IBusSerializable.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="IBusSerializable-struct"></a><h3>struct IBusSerializable</h3>
<pre class="programlisting">struct IBusSerializable;</pre>
<p>All the fields in the <span class="structname">IBusSerializable</span> structure are
private to the <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> and should never be accessed directly.</p>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-serialize"></a><h3>ibus_serializable_serialize</h3>
<pre class="programlisting">#define ibus_serializable_serialize ibus_serializable_serialize_object
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ibus-serializable-deserialize"></a><h3>ibus_serializable_deserialize</h3>
<pre class="programlisting">#define ibus_serializable_deserialize ibus_serializable_deserialize_object
</pre>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>