44
44
<div class="refsynopsisdiv">
45
45
<a name="IBusSerializable.synopsis"></a><h2>Synopsis</h2>
46
<pre class="synopsis">#define <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()">ibus_serializable_set_attachment</a> (o,
49
#define <a class="link" href="IBusSerializable.html#ibus-serializable-get-attachment" title="ibus_serializable_get_attachment()">ibus_serializable_get_attachment</a> (o,
51
#define <a class="link" href="IBusSerializable.html#ibus-serializable-remove-attachment" title="ibus_serializable_remove_attachment()">ibus_serializable_remove_attachment</a> (o,
53
struct <a class="link" href="IBusSerializable.html#IBusSerializable-struct" title="struct IBusSerializable">IBusSerializable</a>;
46
<pre class="synopsis">struct <a class="link" href="IBusSerializable.html#IBusSerializable-struct" title="struct IBusSerializable">IBusSerializable</a>;
47
struct <a class="link" href="IBusSerializable.html#IBusSerializableClass" title="struct IBusSerializableClass">IBusSerializableClass</a>;
48
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()">*IBusSerializableCopyFunc</a>) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *dest</code></em>,
49
<em class="parameter"><code>const <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *src</code></em>);
50
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> (<a class="link" href="IBusSerializable.html#IBusSerializableDeserializeFunc" title="IBusSerializableDeserializeFunc ()">*IBusSerializableDeserializeFunc</a>) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
51
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);
54
52
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="IBusSerializable.html#IBusSerializableSerializeFunc" title="IBusSerializableSerializeFunc ()">*IBusSerializableSerializeFunc</a>) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
55
53
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
56
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> (<a class="link" href="IBusSerializable.html#IBusSerializableDeserializeFunc" title="IBusSerializableDeserializeFunc ()">*IBusSerializableDeserializeFunc</a>) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
57
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);
58
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()">*IBusSerializableCopyFunc</a>) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *dest</code></em>,
59
<em class="parameter"><code>const <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *src</code></em>);
60
struct <a class="link" href="IBusSerializable.html#IBusSerializableClass" title="struct IBusSerializableClass">IBusSerializableClass</a>;
54
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-copy" title="ibus_serializable_copy ()">ibus_serializable_copy</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);
55
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-deserialize" title="ibus_serializable_deserialize ()">ibus_serializable_deserialize</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);
56
#define <a class="link" href="IBusSerializable.html#ibus-serializable-get-attachment" title="ibus_serializable_get_attachment()">ibus_serializable_get_attachment</a> (o,
58
<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-get-qattachment" title="ibus_serializable_get_qattachment ()">ibus_serializable_get_qattachment</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
59
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);
61
60
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-new" title="ibus_serializable_new ()">ibus_serializable_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
61
#define <a class="link" href="IBusSerializable.html#ibus-serializable-remove-attachment" title="ibus_serializable_remove_attachment()">ibus_serializable_remove_attachment</a> (o,
63
<span class="returnvalue">void</span> <a class="link" href="IBusSerializable.html#ibus-serializable-remove-qattachment" title="ibus_serializable_remove_qattachment ()">ibus_serializable_remove_qattachment</a>
64
(<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
65
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);
66
<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-serialize" title="ibus_serializable_serialize ()">ibus_serializable_serialize</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);
67
#define <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()">ibus_serializable_set_attachment</a> (o,
62
70
<span class="returnvalue">void</span> <a class="link" href="IBusSerializable.html#ibus-serializable-set-qattachment" title="ibus_serializable_set_qattachment ()">ibus_serializable_set_qattachment</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
63
71
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>,
64
72
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);
65
<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-get-qattachment" title="ibus_serializable_get_qattachment ()">ibus_serializable_get_qattachment</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
66
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);
67
<span class="returnvalue">void</span> <a class="link" href="IBusSerializable.html#ibus-serializable-remove-qattachment" title="ibus_serializable_remove_qattachment ()">ibus_serializable_remove_qattachment</a>
68
(<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
69
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);
70
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-copy" title="ibus_serializable_copy ()">ibus_serializable_copy</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);
71
<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-serialize" title="ibus_serializable_serialize ()">ibus_serializable_serialize</a> (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);
72
<a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * <a class="link" href="IBusSerializable.html#ibus-serializable-deserialize" title="ibus_serializable_deserialize ()">ibus_serializable_deserialize</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);
75
75
<div class="refsect1">
114
114
<div class="refsect1">
115
115
<a name="IBusSerializable.details"></a><h2>Details</h2>
116
116
<div class="refsect2">
117
<a name="ibus-serializable-set-attachment"></a><h3>ibus_serializable_set_attachment()</h3>
118
<pre class="programlisting">#define ibus_serializable_set_attachment(o, k, v)</pre>
120
Attach a value to an IBusSerializable.
121
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>.
123
<div class="variablelist"><table border="0">
124
<col align="left" valign="top">
127
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
128
<td>An IBusSerializable.</td>
131
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
132
<td>String formatted key for indexing value.</td>
135
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
136
<td>Value to be attached. Should be also serializable.</td>
142
<div class="refsect2">
143
<a name="ibus-serializable-get-attachment"></a><h3>ibus_serializable_get_attachment()</h3>
144
<pre class="programlisting">#define ibus_serializable_get_attachment(o, k)</pre>
146
Get a value from attachment of an IBusSerializable.
147
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>.
149
<div class="variablelist"><table border="0">
150
<col align="left" valign="top">
153
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
154
<td>An IBusSerializable.</td>
157
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
158
<td>String formatted key for indexing value.</td>
164
<div class="refsect2">
165
<a name="ibus-serializable-remove-attachment"></a><h3>ibus_serializable_remove_attachment()</h3>
166
<pre class="programlisting">#define ibus_serializable_remove_attachment(o, k)</pre>
168
Remove a value from attachment of an IBusSerializable.
169
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>.
171
<div class="variablelist"><table border="0">
172
<col align="left" valign="top">
175
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
176
<td>An IBusSerializable.</td>
179
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
180
<td>String formatted key for indexing value.</td>
186
<div class="refsect2">
187
117
<a name="IBusSerializable-struct"></a><h3>struct IBusSerializable</h3>
188
118
<pre class="programlisting">struct IBusSerializable;</pre>
195
125
<div class="refsect2">
196
<a name="IBusSerializableSerializeFunc"></a><h3>IBusSerializableSerializeFunc ()</h3>
197
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*IBusSerializableSerializeFunc) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
198
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
200
Prototype of serialize function.
201
Serialize function convert an IBusSerializable to IBusMessageIter.
202
Returns a gboolean value which indicates whether the conversion is success.
203
Return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed.
205
<div class="variablelist"><table border="0">
206
<col align="left" valign="top">
209
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
210
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
213
<td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
214
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a>.</td>
217
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
219
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed; <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
225
<div class="refsect2">
226
<a name="IBusSerializableDeserializeFunc"></a><h3>IBusSerializableDeserializeFunc ()</h3>
227
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> (*IBusSerializableDeserializeFunc) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
228
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
230
Prototype of deserialize function.
231
Deserialize function convert an IBusMessageIter to IBusSerializable.
232
Returns an integer value which indicates how many values in
233
the variant(tuple) are consumed.
235
<div class="variablelist"><table border="0">
236
<col align="left" valign="top">
239
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
240
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
243
<td><p><span class="term"><em class="parameter"><code>variant</code></em> :</span></p></td>
244
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> contains a tuple.</td>
247
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
248
<td>The number of values in the variant(tuple) are consumed.</td>
126
<a name="IBusSerializableClass"></a><h3>struct IBusSerializableClass</h3>
127
<pre class="programlisting">struct IBusSerializableClass {
254
134
<div class="refsect2">
283
163
<div class="refsect2">
284
<a name="IBusSerializableClass"></a><h3>struct IBusSerializableClass</h3>
285
<pre class="programlisting">struct IBusSerializableClass {
164
<a name="IBusSerializableDeserializeFunc"></a><h3>IBusSerializableDeserializeFunc ()</h3>
165
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> (*IBusSerializableDeserializeFunc) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
166
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
168
Prototype of deserialize function.
169
Deserialize function convert an IBusMessageIter to IBusSerializable.
170
Returns an integer value which indicates how many values in
171
the variant(tuple) are consumed.
173
<div class="variablelist"><table border="0">
174
<col align="left" valign="top">
177
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
178
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
181
<td><p><span class="term"><em class="parameter"><code>variant</code></em> :</span></p></td>
182
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> contains a tuple.</td>
185
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
186
<td>The number of values in the variant(tuple) are consumed.</td>
192
<div class="refsect2">
193
<a name="IBusSerializableSerializeFunc"></a><h3>IBusSerializableSerializeFunc ()</h3>
194
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*IBusSerializableSerializeFunc) (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>,
195
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
197
Prototype of serialize function.
198
Serialize function convert an IBusSerializable to IBusMessageIter.
199
Returns a gboolean value which indicates whether the conversion is success.
200
Return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed.
202
<div class="variablelist"><table border="0">
203
<col align="left" valign="top">
206
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
207
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
210
<td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
211
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a>.</td>
214
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
216
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if succeed; <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
222
<div class="refsect2">
223
<a name="ibus-serializable-copy"></a><h3>ibus_serializable_copy ()</h3>
224
<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>
226
Clone an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
227
The copy method should be implemented in extended class.
230
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>.
232
<div class="variablelist"><table border="0">
233
<col align="left" valign="top">
236
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
237
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
240
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
241
<td>A newly allocated clone object; or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em> is not serializable.</td>
247
<div class="refsect2">
248
<a name="ibus-serializable-deserialize"></a><h3>ibus_serializable_deserialize ()</h3>
249
<pre class="programlisting"><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * ibus_serializable_deserialize (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
251
Deserialize a <a href="http://library.gnome.org/devel/glib/unstable/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>/
252
The deserialize method should be implemented in extended class.
255
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>.
257
<div class="variablelist"><table border="0">
258
<col align="left" valign="top">
261
<td><p><span class="term"><em class="parameter"><code>variant</code></em> :</span></p></td>
262
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</td>
265
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
266
<td>The deserialized <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
272
<div class="refsect2">
273
<a name="ibus-serializable-get-attachment"></a><h3>ibus_serializable_get_attachment()</h3>
274
<pre class="programlisting">#define ibus_serializable_get_attachment(o, k)</pre>
276
Get a value from attachment of an IBusSerializable.
277
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>.
279
<div class="variablelist"><table border="0">
280
<col align="left" valign="top">
283
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
284
<td>An IBusSerializable.</td>
287
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
288
<td>String formatted key for indexing value.</td>
294
<div class="refsect2">
295
<a name="ibus-serializable-get-qattachment"></a><h3>ibus_serializable_get_qattachment ()</h3>
296
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
297
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);</pre>
299
Get a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
300
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.
302
<div class="variablelist"><table border="0">
303
<col align="left" valign="top">
306
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
307
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
310
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
311
<td>String formatted key for indexing value.</td>
314
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
315
<td>The attached value; or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if fail to retrieve the value.</td>
292
321
<div class="refsect2">
307
336
<div class="refsect2">
308
<a name="ibus-serializable-set-qattachment"></a><h3>ibus_serializable_set_qattachment ()</h3>
309
<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>,
310
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>,
311
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
313
Attach a value to an IBusSerializable. If the value is floating,
314
the serializable will take the ownership.
317
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.
319
<div class="variablelist"><table border="0">
320
<col align="left" valign="top">
323
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
324
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
327
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
328
<td>String formatted key for indexing value.</td>
331
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
332
<td>Value to be attached or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove any prevoius value.</td>
338
<div class="refsect2">
339
<a name="ibus-serializable-get-qattachment"></a><h3>ibus_serializable_get_qattachment ()</h3>
340
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
341
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>);</pre>
343
Get a value from attachment of an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
344
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.
346
<div class="variablelist"><table border="0">
347
<col align="left" valign="top">
350
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
351
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
354
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
355
<td>String formatted key for indexing value.</td>
358
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
359
<td>The attached value; or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if fail to retrieve the value.</td>
337
<a name="ibus-serializable-remove-attachment"></a><h3>ibus_serializable_remove_attachment()</h3>
338
<pre class="programlisting">#define ibus_serializable_remove_attachment(o, k)</pre>
340
Remove a value from attachment of an IBusSerializable.
341
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>.
343
<div class="variablelist"><table border="0">
344
<col align="left" valign="top">
347
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
348
<td>An IBusSerializable.</td>
351
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
352
<td>String formatted key for indexing value.</td>
389
382
<div class="refsect2">
390
<a name="ibus-serializable-copy"></a><h3>ibus_serializable_copy ()</h3>
391
<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>
393
Clone an <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.
394
The copy method should be implemented in extended class.
397
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>.
399
<div class="variablelist"><table border="0">
400
<col align="left" valign="top">
403
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
404
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
407
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
408
<td>A newly allocated clone object; or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em> is not serializable.</td>
414
<div class="refsect2">
415
383
<a name="ibus-serializable-serialize"></a><h3>ibus_serializable_serialize ()</h3>
416
384
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * ibus_serializable_serialize (<em class="parameter"><code><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a> *serializable</code></em>);</pre>
439
407
<div class="refsect2">
440
<a name="ibus-serializable-deserialize"></a><h3>ibus_serializable_deserialize ()</h3>
441
<pre class="programlisting"><a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="returnvalue">IBusSerializable</span></a> * ibus_serializable_deserialize (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
443
Deserialize a <a href="http://library.gnome.org/devel/glib/unstable/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>/
444
The deserialize method should be implemented in extended class.
447
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#IBusSerializableCopyFunc" title="IBusSerializableCopyFunc ()"><code class="function">IBusSerializableCopyFunc()</code></a>.
449
<div class="variablelist"><table border="0">
450
<col align="left" valign="top">
453
<td><p><span class="term"><em class="parameter"><code>variant</code></em> :</span></p></td>
454
<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</td>
457
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
458
<td>The deserialized <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
408
<a name="ibus-serializable-set-attachment"></a><h3>ibus_serializable_set_attachment()</h3>
409
<pre class="programlisting">#define ibus_serializable_set_attachment(o, k, v)</pre>
411
Attach a value to an IBusSerializable.
412
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>.
414
<div class="variablelist"><table border="0">
415
<col align="left" valign="top">
418
<td><p><span class="term"><em class="parameter"><code>o</code></em> :</span></p></td>
419
<td>An IBusSerializable.</td>
422
<td><p><span class="term"><em class="parameter"><code>k</code></em> :</span></p></td>
423
<td>String formatted key for indexing value.</td>
426
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
427
<td>Value to be attached. Should be also serializable.</td>
433
<div class="refsect2">
434
<a name="ibus-serializable-set-qattachment"></a><h3>ibus_serializable_set_qattachment ()</h3>
435
<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>,
436
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> key</code></em>,
437
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
439
Attach a value to an IBusSerializable. If the value is floating,
440
the serializable will take the ownership.
443
<em class="parameter"><code>see_also</code></em>: <a class="link" href="IBusSerializable.html#ibus-serializable-set-attachment" title="ibus_serializable_set_attachment()"><code class="function">ibus_serializable_set_attachment()</code></a>.
445
<div class="variablelist"><table border="0">
446
<col align="left" valign="top">
449
<td><p><span class="term"><em class="parameter"><code>serializable</code></em> :</span></p></td>
450
<td>An <a class="link" href="IBusSerializable.html" title="IBusSerializable"><span class="type">IBusSerializable</span></a>.</td>
453
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
454
<td>String formatted key for indexing value.</td>
457
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
458
<td>Value to be attached or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove any prevoius value.</td>