Initial Import
[profile/ivi/json-glib.git] / doc / reference / html / json-glib-Boxed-Types-Serialization.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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">
16 <tr valign="middle">
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>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#json-glib-Boxed-Types-Serialization.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#json-glib-Boxed-Types-Serialization.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
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>
32 <td valign="top">
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>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
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>);
49
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>);
58 </pre>
59 </div>
60 <div class="refsect1">
61 <a name="json-glib-Boxed-Types-Serialization.description"></a><h2>Description</h2>
62 <p>
63 GLib's <span class="type">GBoxed</span> type is a generic wrapper for arbitrary C structures.
64 </p>
65 <p>
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>.
69 </p>
70 <p>
71 When registering a <span class="type">GBoxed</span> type you should also register the
72 corresponding transformation functions, e.g.:
73 </p>
74 <p>
75 </p>
76 <div class="informalexample">
77   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
78     <tbody>
79       <tr>
80         <td class="listing_lines" align="right"><pre>1
81 2
82 3
83 4
84 5
85 6
86 7
87 8
88 9
89 10
90 11
91 12
92 13
93 14
94 15
95 16
96 17
97 18
98 19
99 20</pre></td>
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>
104
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>
111
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>
117
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>
120       </tr>
121     </tbody>
122   </table>
123 </div>
124
125 <p>
126 </p>
127 <p>
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.
133 </p>
134 <p>
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>.
138 </p>
139 </div>
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>
145 <p>
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>
147 </p>
148 <div class="variablelist"><table border="0">
149 <col align="left" valign="top">
150 <tbody>
151 <tr>
152 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
153 <td>a <span class="type">GBoxed</span>
154 </td>
155 </tr>
156 <tr>
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>
159 </td>
160 </tr>
161 </tbody>
162 </table></div>
163 <p class="since">Since 0.10</p>
164 </div>
165 <hr>
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>
169 <p>
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>
171 </p>
172 <div class="variablelist"><table border="0">
173 <col align="left" valign="top">
174 <tbody>
175 <tr>
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>
178 </td>
179 </tr>
180 <tr>
181 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
182 <td>the newly created boxed type</td>
183 </tr>
184 </tbody>
185 </table></div>
186 <p class="since">Since 0.10</p>
187 </div>
188 <hr>
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>
194 <p>
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>
197 </p>
198 <div class="variablelist"><table border="0">
199 <col align="left" valign="top">
200 <tbody>
201 <tr>
202 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
203 <td>a boxed type</td>
204 </tr>
205 <tr>
206 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
207 <td>a node type</td>
208 </tr>
209 <tr>
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>
213 </td>
214 </tr>
215 </tbody>
216 </table></div>
217 <p class="since">Since 0.10</p>
218 </div>
219 <hr>
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>
226 <p>
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>
229 </p>
230 <div class="variablelist"><table border="0">
231 <col align="left" valign="top">
232 <tbody>
233 <tr>
234 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
235 <td>a boxed type</td>
236 </tr>
237 <tr>
238 <td><p><span class="term"><em class="parameter"><code>node_type</code></em> :</span></p></td>
239 <td>a node type</td>
240 </tr>
241 <tr>
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>
245 </td>
246 </tr>
247 </tbody>
248 </table></div>
249 <p class="since">Since 0.10</p>
250 </div>
251 <hr>
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>
256 <p>
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.
261 </p>
262 <div class="variablelist"><table border="0">
263 <col align="left" valign="top">
264 <tbody>
265 <tr>
266 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
267 <td>a boxed type</td>
268 </tr>
269 <tr>
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>
273 </td>
274 </tr>
275 <tr>
276 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
277 <td>
278 <code class="literal">TRUE</code> if the type can be serialized,
279 and <code class="literal">FALSE</code> otherwise.</td>
280 </tr>
281 </tbody>
282 </table></div>
283 <p class="since">Since 0.10</p>
284 </div>
285 <hr>
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>
290 <p>
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>
293 </p>
294 <div class="variablelist"><table border="0">
295 <col align="left" valign="top">
296 <tbody>
297 <tr>
298 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
299 <td>a boxed type</td>
300 </tr>
301 <tr>
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>
304 </tr>
305 <tr>
306 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
307 <td>
308 <code class="literal">TRUE</code> if the type can be deserialized, <code class="literal">FALSE</code> otherwise</td>
309 </tr>
310 </tbody>
311 </table></div>
312 <p class="since">Since 0.10</p>
313 </div>
314 <hr>
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>
319 <p>
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>
322 </p>
323 <div class="variablelist"><table border="0">
324 <col align="left" valign="top">
325 <tbody>
326 <tr>
327 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
328 <td>a boxed type</td>
329 </tr>
330 <tr>
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>
333 </td>
334 </tr>
335 <tr>
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>
339 </td>
340 </tr>
341 </tbody>
342 </table></div>
343 <p class="since">Since 0.10</p>
344 </div>
345 <hr>
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>
350 <p>
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>
352 </p>
353 <div class="variablelist"><table border="0">
354 <col align="left" valign="top">
355 <tbody>
356 <tr>
357 <td><p><span class="term"><em class="parameter"><code>gboxed_type</code></em> :</span></p></td>
358 <td>a boxed type</td>
359 </tr>
360 <tr>
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>
363 </td>
364 </tr>
365 <tr>
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>
370 </td>
371 </tr>
372 </tbody>
373 </table></div>
374 <p class="since">Since 0.10</p>
375 </div>
376 </div>
377 </div>
378 <div class="footer">
379 <hr>
380           Generated by GTK-Doc V1.18.1</div>
381 </body>
382 </html>