1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Boxed Types Serialization</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="JSON-GLib Reference Manual">
8 <link rel="up" href="json-advanced.html" title="Part IV. JSON-GLib Advanced API">
9 <link rel="prev" href="json-glib-Serializable-Interface.html" title="Serializable Interface">
10 <link rel="next" href="json-glib-JSON-GVariant-Integration.html" title="JSON GVariant Integration">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="json-glib-Serializable-Interface.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="json-advanced.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">JSON-GLib Reference Manual</th>
21 <td><a accesskey="n" href="json-glib-JSON-GVariant-Integration.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#json-glib-Boxed-Types-Serialization.synopsis" class="shortcut">Top</a>
26 <a href="#json-glib-Boxed-Types-Serialization.description" class="shortcut">Description</a>
29 <div class="refentry">
30 <a name="json-glib-Boxed-Types-Serialization"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
33 <h2><span class="refentrytitle"><a name="json-glib-Boxed-Types-Serialization.top_of_page"></a>Boxed Types Serialization</span></h2>
34 <p>Boxed Types Serialization — Serialize and deserialize GBoxed types</p>
36 <td valign="top" align="right"></td>
38 <div class="refsynopsisdiv">
39 <a name="json-glib-Boxed-Types-Serialization.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis"><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> * (<a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedSerializeFunc" title="JsonBoxedSerializeFunc ()">*JsonBoxedSerializeFunc</a>) (<em class="parameter"><code><span class="type">gconstpointer</span> boxed</code></em>);
41 <span class="returnvalue">gpointer</span> (<a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedDeserializeFunc" title="JsonBoxedDeserializeFunc ()">*JsonBoxedDeserializeFunc</a>) (<em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);
42 <span class="returnvalue">void</span> <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-register-serialize-func" title="json_boxed_register_serialize_func ()">json_boxed_register_serialize_func</a> (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
43 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>,
44 <em class="parameter"><code><a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedSerializeFunc" title="JsonBoxedSerializeFunc ()"><span class="type">JsonBoxedSerializeFunc</span></a> serialize_func</code></em>);
45 <span class="returnvalue">void</span> <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-register-deserialize-func" title="json_boxed_register_deserialize_func ()">json_boxed_register_deserialize_func</a>
46 (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
47 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>,
48 <em class="parameter"><code><a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedDeserializeFunc" title="JsonBoxedDeserializeFunc ()"><span class="type">JsonBoxedDeserializeFunc</span></a> deserialize_func</code></em>);
50 <span class="returnvalue">gboolean</span> <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-can-serialize" title="json_boxed_can_serialize ()">json_boxed_can_serialize</a> (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
51 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> *node_type</code></em>);
52 <span class="returnvalue">gboolean</span> <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-can-deserialize" title="json_boxed_can_deserialize ()">json_boxed_can_deserialize</a> (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
53 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>);
54 <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> * <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-serialize" title="json_boxed_serialize ()">json_boxed_serialize</a> (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
55 <em class="parameter"><code><span class="type">gconstpointer</span> boxed</code></em>);
56 <span class="returnvalue">gpointer</span> <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-deserialize" title="json_boxed_deserialize ()">json_boxed_deserialize</a> (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
57 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);
60 <div class="refsect1">
61 <a name="json-glib-Boxed-Types-Serialization.description"></a><h2>Description</h2>
63 GLib's <span class="type">GBoxed</span> type is a generic wrapper for arbitrary C structures.
66 JSON-GLib allows serialization and deserialization of a <span class="type">GBoxed</span> type
67 by registering functions mapping a <a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> to a specific
68 <span class="type">GType</span>.
71 When registering a <span class="type">GBoxed</span> type you should also register the
72 corresponding transformation functions, e.g.:
76 <div class="informalexample">
77 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
80 <td class="listing_lines" align="right"><pre>1
100 <td class="listing_code"><pre class="programlisting"><span class="normal">GType</span>
101 <span class="function">my_struct_get_type</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
102 <span class="cbracket">{</span>
103 <span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="usertype">GType</span><span class="normal"> boxed_type </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
105 <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">boxed_type </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
106 <span class="normal"> </span><span class="cbracket">{</span>
107 <span class="normal"> boxed_type </span><span class="symbol">=</span>
108 <span class="normal"> </span><span class="function">g_boxed_type_register_static</span><span class="normal"> </span><span class="symbol">(</span><span class="function">g_intern_static_string</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"MyStruct"</span><span class="symbol">),</span>
109 <span class="normal"> </span><span class="symbol">(</span><span class="normal">GBoxedCopyFunc</span><span class="symbol">)</span><span class="normal"> my_struct_copy</span><span class="symbol">,</span>
110 <span class="normal"> </span><span class="symbol">(</span><span class="normal">GBoxedFreeFunc</span><span class="symbol">)</span><span class="normal"> my_struct_free</span><span class="symbol">);</span>
112 <span class="normal"> </span><span class="function"><a href="json-glib-Boxed-Types-Serialization.html#json-boxed-register-serialize-func">json_boxed_register_serialize_func</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">boxed_type</span><span class="symbol">,</span><span class="normal"> <a href="json-glib-JSON-Node.html#JSON-NODE-OBJECT:CAPS">JSON_NODE_OBJECT</a></span><span class="symbol">,</span>
113 <span class="normal"> my_struct_serialize</span><span class="symbol">);</span>
114 <span class="normal"> </span><span class="function"><a href="json-glib-Boxed-Types-Serialization.html#json-boxed-register-deserialize-func">json_boxed_register_deserialize_func</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">boxed_type</span><span class="symbol">,</span><span class="normal"> <a href="json-glib-JSON-Node.html#JSON-NODE-OBJECT:CAPS">JSON_NODE_OBJECT</a></span><span class="symbol">,</span>
115 <span class="normal"> my_struct_deserialize</span><span class="symbol">);</span>
116 <span class="normal"> </span><span class="cbracket">}</span>
118 <span class="normal"> </span><span class="keyword">return</span><span class="normal"> boxed_type</span><span class="symbol">;</span>
119 <span class="cbracket">}</span></pre></td>
128 The serialization function will be invoked by <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-serialize" title="json_boxed_serialize ()"><code class="function">json_boxed_serialize()</code></a>:
129 it will be passed a pointer to the C structure and it must return a
130 <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>. The deserialization function will be invoked by
131 <a class="link" href="json-glib-Boxed-Types-Serialization.html#json-boxed-deserialize" title="json_boxed_deserialize ()"><code class="function">json_boxed_deserialize()</code></a>: it will be passed a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> for the
132 declared type and it must return a newly allocated C structure.
135 It is possible to check whether a <span class="type">GBoxed</span> type can be deserialized
136 from a specific <a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a>, and whether a <span class="type">GBoxed</span> can be serialized
137 and to which specific <a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a>.
140 <div class="refsect1">
141 <a name="json-glib-Boxed-Types-Serialization.details"></a><h2>Details</h2>
142 <div class="refsect2">
143 <a name="JsonBoxedSerializeFunc"></a><h3>JsonBoxedSerializeFunc ()</h3>
144 <pre class="programlisting"><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> * (*JsonBoxedSerializeFunc) (<em class="parameter"><code><span class="type">gconstpointer</span> boxed</code></em>);</pre>
146 Serializes the passed <span class="type">GBoxed</span> and stores it inside a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
148 <div class="variablelist"><table border="0">
149 <col align="left" valign="top">
152 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
153 <td>a <span class="type">GBoxed</span>
157 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
158 <td>the newly created <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
163 <p class="since">Since 0.10</p>
166 <div class="refsect2">
167 <a name="JsonBoxedDeserializeFunc"></a><h3>JsonBoxedDeserializeFunc ()</h3>
168 <pre class="programlisting"><span class="returnvalue">gpointer</span> (*JsonBoxedDeserializeFunc) (<em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);</pre>
170 Deserializes the contents of the passed <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> into a <span class="type">GBoxed</span>
172 <div class="variablelist"><table border="0">
173 <col align="left" valign="top">
176 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
177 <td>a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
181 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
182 <td>the newly created boxed type</td>
186 <p class="since">Since 0.10</p>
189 <div class="refsect2">
190 <a name="json-boxed-register-serialize-func"></a><h3>json_boxed_register_serialize_func ()</h3>
191 <pre class="programlisting"><span class="returnvalue">void</span> json_boxed_register_serialize_func (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
192 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>,
193 <em class="parameter"><code><a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedSerializeFunc" title="JsonBoxedSerializeFunc ()"><span class="type">JsonBoxedSerializeFunc</span></a> serialize_func</code></em>);</pre>
195 Registers a serialization function for a <span class="type">GBoxed</span> of type <em class="parameter"><code>gboxed_type</code></em>
196 to a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> of type <em class="parameter"><code>node_type</code></em>
198 <div class="variablelist"><table border="0">
199 <col align="left" valign="top">
202 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
203 <td>a boxed type</td>
206 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
210 <td><p><span class="term"><em class="parameter"><code>serialize_func</code></em> :</span></p></td>
211 <td>serialization function for <em class="parameter"><code>boxed_type</code></em> into
212 a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> of type <em class="parameter"><code>node_type</code></em>
217 <p class="since">Since 0.10</p>
220 <div class="refsect2">
221 <a name="json-boxed-register-deserialize-func"></a><h3>json_boxed_register_deserialize_func ()</h3>
222 <pre class="programlisting"><span class="returnvalue">void</span> json_boxed_register_deserialize_func
223 (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
224 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>,
225 <em class="parameter"><code><a class="link" href="json-glib-Boxed-Types-Serialization.html#JsonBoxedDeserializeFunc" title="JsonBoxedDeserializeFunc ()"><span class="type">JsonBoxedDeserializeFunc</span></a> deserialize_func</code></em>);</pre>
227 Registers a deserialization function for a <span class="type">GBoxed</span> of type <em class="parameter"><code>gboxed_type</code></em>
228 from a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> of type <em class="parameter"><code>node_type</code></em>
230 <div class="variablelist"><table border="0">
231 <col align="left" valign="top">
234 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
235 <td>a boxed type</td>
238 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
242 <td><p><span class="term"><em class="parameter"><code>deserialize_func</code></em> :</span></p></td>
243 <td>deserialization function for <em class="parameter"><code>boxed_type</code></em> from
244 a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> of type <em class="parameter"><code>node_type</code></em>
249 <p class="since">Since 0.10</p>
252 <div class="refsect2">
253 <a name="json-boxed-can-serialize"></a><h3>json_boxed_can_serialize ()</h3>
254 <pre class="programlisting"><span class="returnvalue">gboolean</span> json_boxed_can_serialize (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
255 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> *node_type</code></em>);</pre>
257 Checks whether it is possible to serialize a <span class="type">GBoxed</span> of
258 type <em class="parameter"><code>gboxed_type</code></em> into a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>. The type of the
259 <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> is placed inside <em class="parameter"><code>node_type</code></em> if the function
260 returns <code class="literal">TRUE</code> and it's undefined otherwise.
262 <div class="variablelist"><table border="0">
263 <col align="left" valign="top">
266 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
267 <td>a boxed type</td>
270 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
271 <td>the <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> type to which the boxed type can be
272 serialized into. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
276 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
278 <code class="literal">TRUE</code> if the type can be serialized,
279 and <code class="literal">FALSE</code> otherwise.</td>
283 <p class="since">Since 0.10</p>
286 <div class="refsect2">
287 <a name="json-boxed-can-deserialize"></a><h3>json_boxed_can_deserialize ()</h3>
288 <pre class="programlisting"><span class="returnvalue">gboolean</span> json_boxed_can_deserialize (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
289 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNodeType" title="enum JsonNodeType"><span class="type">JsonNodeType</span></a> node_type</code></em>);</pre>
291 Checks whether it is possible to deserialize a <span class="type">GBoxed</span> of
292 type <em class="parameter"><code>gboxed_type</code></em> from a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> of type <em class="parameter"><code>node_type</code></em>
294 <div class="variablelist"><table border="0">
295 <col align="left" valign="top">
298 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
299 <td>a boxed type</td>
302 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
303 <td>a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> type</td>
306 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
308 <code class="literal">TRUE</code> if the type can be deserialized, <code class="literal">FALSE</code> otherwise</td>
312 <p class="since">Since 0.10</p>
315 <div class="refsect2">
316 <a name="json-boxed-serialize"></a><h3>json_boxed_serialize ()</h3>
317 <pre class="programlisting"><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> * json_boxed_serialize (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
318 <em class="parameter"><code><span class="type">gconstpointer</span> boxed</code></em>);</pre>
320 Serializes <em class="parameter"><code>boxed</code></em>, a pointer to a <span class="type">GBoxed</span> of type <em class="parameter"><code>gboxed_type</code></em>,
321 into a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
323 <div class="variablelist"><table border="0">
324 <col align="left" valign="top">
327 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
328 <td>a boxed type</td>
331 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
332 <td>a pointer to a <span class="type">GBoxed</span> of type <em class="parameter"><code>gboxed_type</code></em>
336 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
337 <td>a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> with the serialization of the
338 boxed type, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if serialization either failed or was not possible. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
343 <p class="since">Since 0.10</p>
346 <div class="refsect2">
347 <a name="json-boxed-deserialize"></a><h3>json_boxed_deserialize ()</h3>
348 <pre class="programlisting"><span class="returnvalue">gpointer</span> json_boxed_deserialize (<em class="parameter"><code><span class="type">GType</span> gboxed_type</code></em>,
349 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);</pre>
351 Deserializes <em class="parameter"><code>node</code></em> into a <span class="type">GBoxed</span> of <em class="parameter"><code>gboxed_type</code></em>
353 <div class="variablelist"><table border="0">
354 <col align="left" valign="top">
357 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
358 <td>a boxed type</td>
361 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
362 <td>a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
366 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
367 <td>the newly allocated <span class="type">GBoxed</span>. Use
368 <code class="function">g_boxed_free()</code> to release the resources allocated by this
369 function. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
374 <p class="since">Since 0.10</p>
380 Generated by GTK-Doc V1.18.1</div>