Imported Upstream version 1.2.4
[platform/upstream/json-glib.git] / doc / reference / html / JsonGenerator.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>JsonGenerator: JSON-GLib Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="JSON-GLib Reference Manual">
8 <link rel="up" href="ch03.html" title="Generator">
9 <link rel="prev" href="ch03.html" title="Generator">
10 <link rel="next" href="JsonBuilder.html" title="JsonBuilder">
11 <meta name="generator" content="GTK-Doc V1.25.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="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#JsonGenerator.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19                   <a href="#JsonGenerator.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
20                   <a href="#JsonGenerator.properties" class="shortcut">Properties</a></span>
21 </td>
22 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
23 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
24 <td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
25 <td><a accesskey="n" href="JsonBuilder.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 </tr></table>
27 <div class="refentry">
28 <a name="JsonGenerator"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
30 <td valign="top">
31 <h2><span class="refentrytitle"><a name="JsonGenerator.top_of_page"></a>JsonGenerator</span></h2>
32 <p>JsonGenerator — Generates JSON data streams</p>
33 </td>
34 <td class="gallery_image" valign="top" align="right"></td>
35 </tr></table></div>
36 <div class="refsect1">
37 <a name="JsonGenerator.functions"></a><h2>Functions</h2>
38 <div class="informaltable"><table class="informaltable" width="100%" border="0">
39 <colgroup>
40 <col width="150px" class="functions_return">
41 <col class="functions_name">
42 </colgroup>
43 <tbody>
44 <tr>
45 <td class="function_type">
46 <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *
47 </td>
48 <td class="function_name">
49 <a class="link" href="JsonGenerator.html#json-generator-new" title="json_generator_new ()">json_generator_new</a> <span class="c_punctuation">()</span>
50 </td>
51 </tr>
52 <tr>
53 <td class="function_type">
54 <span class="returnvalue">void</span>
55 </td>
56 <td class="function_name">
57 <a class="link" href="JsonGenerator.html#json-generator-set-root" title="json_generator_set_root ()">json_generator_set_root</a> <span class="c_punctuation">()</span>
58 </td>
59 </tr>
60 <tr>
61 <td class="function_type">
62 <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="returnvalue">JsonNode</span></a> *
63 </td>
64 <td class="function_name">
65 <a class="link" href="JsonGenerator.html#json-generator-get-root" title="json_generator_get_root ()">json_generator_get_root</a> <span class="c_punctuation">()</span>
66 </td>
67 </tr>
68 <tr>
69 <td class="function_type">
70 <span class="returnvalue">void</span>
71 </td>
72 <td class="function_name">
73 <a class="link" href="JsonGenerator.html#json-generator-set-pretty" title="json_generator_set_pretty ()">json_generator_set_pretty</a> <span class="c_punctuation">()</span>
74 </td>
75 </tr>
76 <tr>
77 <td class="function_type">
78 <span class="returnvalue">gboolean</span>
79 </td>
80 <td class="function_name">
81 <a class="link" href="JsonGenerator.html#json-generator-get-pretty" title="json_generator_get_pretty ()">json_generator_get_pretty</a> <span class="c_punctuation">()</span>
82 </td>
83 </tr>
84 <tr>
85 <td class="function_type">
86 <span class="returnvalue">void</span>
87 </td>
88 <td class="function_name">
89 <a class="link" href="JsonGenerator.html#json-generator-set-indent" title="json_generator_set_indent ()">json_generator_set_indent</a> <span class="c_punctuation">()</span>
90 </td>
91 </tr>
92 <tr>
93 <td class="function_type">
94 <span class="returnvalue">guint</span>
95 </td>
96 <td class="function_name">
97 <a class="link" href="JsonGenerator.html#json-generator-get-indent" title="json_generator_get_indent ()">json_generator_get_indent</a> <span class="c_punctuation">()</span>
98 </td>
99 </tr>
100 <tr>
101 <td class="function_type">
102 <span class="returnvalue">void</span>
103 </td>
104 <td class="function_name">
105 <a class="link" href="JsonGenerator.html#json-generator-set-indent-char" title="json_generator_set_indent_char ()">json_generator_set_indent_char</a> <span class="c_punctuation">()</span>
106 </td>
107 </tr>
108 <tr>
109 <td class="function_type">
110 <span class="returnvalue">gunichar</span>
111 </td>
112 <td class="function_name">
113 <a class="link" href="JsonGenerator.html#json-generator-get-indent-char" title="json_generator_get_indent_char ()">json_generator_get_indent_char</a> <span class="c_punctuation">()</span>
114 </td>
115 </tr>
116 <tr>
117 <td class="function_type">
118 <span class="returnvalue">gboolean</span>
119 </td>
120 <td class="function_name">
121 <a class="link" href="JsonGenerator.html#json-generator-to-file" title="json_generator_to_file ()">json_generator_to_file</a> <span class="c_punctuation">()</span>
122 </td>
123 </tr>
124 <tr>
125 <td class="function_type">
126 <span class="returnvalue">gchar</span> *
127 </td>
128 <td class="function_name">
129 <a class="link" href="JsonGenerator.html#json-generator-to-data" title="json_generator_to_data ()">json_generator_to_data</a> <span class="c_punctuation">()</span>
130 </td>
131 </tr>
132 <tr>
133 <td class="function_type">
134 <span class="returnvalue">gboolean</span>
135 </td>
136 <td class="function_name">
137 <a class="link" href="JsonGenerator.html#json-generator-to-stream" title="json_generator_to_stream ()">json_generator_to_stream</a> <span class="c_punctuation">()</span>
138 </td>
139 </tr>
140 </tbody>
141 </table></div>
142 </div>
143 <div class="refsect1">
144 <a name="JsonGenerator.properties"></a><h2>Properties</h2>
145 <div class="informaltable"><table class="informaltable" border="0">
146 <colgroup>
147 <col width="150px" class="properties_type">
148 <col width="300px" class="properties_name">
149 <col width="200px" class="properties_flags">
150 </colgroup>
151 <tbody>
152 <tr>
153 <td class="property_type"><span class="type">guint</span></td>
154 <td class="property_name"><a class="link" href="JsonGenerator.html#JsonGenerator--indent" title="The “indent” property">indent</a></td>
155 <td class="property_flags">Read / Write</td>
156 </tr>
157 <tr>
158 <td class="property_type"><span class="type">guint</span></td>
159 <td class="property_name"><a class="link" href="JsonGenerator.html#JsonGenerator--indent-char" title="The “indent-char” property">indent-char</a></td>
160 <td class="property_flags">Read / Write</td>
161 </tr>
162 <tr>
163 <td class="property_type"><span class="type">gboolean</span></td>
164 <td class="property_name"><a class="link" href="JsonGenerator.html#JsonGenerator--pretty" title="The “pretty” property">pretty</a></td>
165 <td class="property_flags">Read / Write</td>
166 </tr>
167 <tr>
168 <td class="property_type">
169 <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *</td>
170 <td class="property_name"><a class="link" href="JsonGenerator.html#JsonGenerator--root" title="The “root” property">root</a></td>
171 <td class="property_flags">Read / Write</td>
172 </tr>
173 </tbody>
174 </table></div>
175 </div>
176 <div class="refsect1">
177 <a name="JsonGenerator.other"></a><h2>Types and Values</h2>
178 <div class="informaltable"><table class="informaltable" width="100%" border="0">
179 <colgroup>
180 <col width="150px" class="name">
181 <col class="description">
182 </colgroup>
183 <tbody>
184 <tr>
185 <td class="datatype_keyword">struct</td>
186 <td class="function_name"><a class="link" href="JsonGenerator.html#JsonGenerator-struct" title="struct JsonGenerator">JsonGenerator</a></td>
187 </tr>
188 <tr>
189 <td class="datatype_keyword">struct</td>
190 <td class="function_name"><a class="link" href="JsonGenerator.html#JsonGeneratorClass" title="struct JsonGeneratorClass">JsonGeneratorClass</a></td>
191 </tr>
192 </tbody>
193 </table></div>
194 </div>
195 <div class="refsect1">
196 <a name="JsonGenerator.object-hierarchy"></a><h2>Object Hierarchy</h2>
197 <pre class="screen">    GObject
198     <span class="lineart">╰──</span> JsonGenerator
199 </pre>
200 </div>
201 <div class="refsect1">
202 <a name="JsonGenerator.description"></a><h2>Description</h2>
203 <p><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> provides an object for generating a JSON data stream and
204 put it into a buffer or a file.</p>
205 </div>
206 <div class="refsect1">
207 <a name="JsonGenerator.functions_details"></a><h2>Functions</h2>
208 <div class="refsect2">
209 <a name="json-generator-new"></a><h3>json_generator_new ()</h3>
210 <pre class="programlisting"><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *
211 json_generator_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
212 <p>Creates a new <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>. You can use this object to generate a
213 JSON data stream starting from a data object model composed by
214 <a href="json-glib-JSON-Node.html#JsonNode-struct"><span class="type">JsonNodes</span></a>.</p>
215 <div class="refsect3">
216 <a name="json-generator-new.returns"></a><h4>Returns</h4>
217 <p> the newly created <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> instance</p>
218 </div>
219 </div>
220 <hr>
221 <div class="refsect2">
222 <a name="json-generator-set-root"></a><h3>json_generator_set_root ()</h3>
223 <pre class="programlisting"><span class="returnvalue">void</span>
224 json_generator_set_root (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
225                          <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);</pre>
226 <p>Sets <em class="parameter"><code>node</code></em>
227  as the root of the JSON data stream to be serialized by
228 the <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>.</p>
229 <p>The passed <em class="parameter"><code>node</code></em>
230  is copied by the generator object, so it can be
231 safely freed after calling this function.</p>
232 <div class="refsect3">
233 <a name="json-generator-set-root.parameters"></a><h4>Parameters</h4>
234 <div class="informaltable"><table class="informaltable" width="100%" border="0">
235 <colgroup>
236 <col width="150px" class="parameters_name">
237 <col class="parameters_description">
238 <col width="200px" class="parameters_annotations">
239 </colgroup>
240 <tbody>
241 <tr>
242 <td class="parameter_name"><p>generator</p></td>
243 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
244 <td class="parameter_annotations"> </td>
245 </tr>
246 <tr>
247 <td class="parameter_name"><p>node</p></td>
248 <td class="parameter_description"><p>a <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a></p></td>
249 <td class="parameter_annotations"> </td>
250 </tr>
251 </tbody>
252 </table></div>
253 </div>
254 </div>
255 <hr>
256 <div class="refsect2">
257 <a name="json-generator-get-root"></a><h3>json_generator_get_root ()</h3>
258 <pre class="programlisting"><a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="returnvalue">JsonNode</span></a> *
259 json_generator_get_root (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>);</pre>
260 <p>Retrieves a pointer to the root <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> set using
261 <a class="link" href="JsonGenerator.html#json-generator-set-root" title="json_generator_set_root ()"><code class="function">json_generator_set_root()</code></a>.</p>
262 <div class="refsect3">
263 <a name="json-generator-get-root.parameters"></a><h4>Parameters</h4>
264 <div class="informaltable"><table class="informaltable" width="100%" border="0">
265 <colgroup>
266 <col width="150px" class="parameters_name">
267 <col class="parameters_description">
268 <col width="200px" class="parameters_annotations">
269 </colgroup>
270 <tbody><tr>
271 <td class="parameter_name"><p>generator</p></td>
272 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
273 <td class="parameter_annotations"> </td>
274 </tr></tbody>
275 </table></div>
276 </div>
277 <div class="refsect3">
278 <a name="json-generator-get-root.returns"></a><h4>Returns</h4>
279 <p> a <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a>, or <code class="literal">NULL</code>. The returned node
280 is owned by the <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> and it should not be freed. </p>
281 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
282 </div>
283 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
284 </div>
285 <hr>
286 <div class="refsect2">
287 <a name="json-generator-set-pretty"></a><h3>json_generator_set_pretty ()</h3>
288 <pre class="programlisting"><span class="returnvalue">void</span>
289 json_generator_set_pretty (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
290                            <em class="parameter"><code><span class="type">gboolean</span> is_pretty</code></em>);</pre>
291 <p>Sets whether the generated JSON should be pretty printed, using the
292 indentation character specified in the <a class="link" href="JsonGenerator.html#JsonGenerator--indent-char" title="The “indent-char” property"><span class="type">“indent-char”</span></a>
293 property and the spacing specified in <a class="link" href="JsonGenerator.html#JsonGenerator--indent" title="The “indent” property"><span class="type">“indent”</span></a> property.</p>
294 <div class="refsect3">
295 <a name="json-generator-set-pretty.parameters"></a><h4>Parameters</h4>
296 <div class="informaltable"><table class="informaltable" width="100%" border="0">
297 <colgroup>
298 <col width="150px" class="parameters_name">
299 <col class="parameters_description">
300 <col width="200px" class="parameters_annotations">
301 </colgroup>
302 <tbody>
303 <tr>
304 <td class="parameter_name"><p>generator</p></td>
305 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
306 <td class="parameter_annotations"> </td>
307 </tr>
308 <tr>
309 <td class="parameter_name"><p>is_pretty</p></td>
310 <td class="parameter_description"><p>whether the generated string should be pretty printed</p></td>
311 <td class="parameter_annotations"> </td>
312 </tr>
313 </tbody>
314 </table></div>
315 </div>
316 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
317 </div>
318 <hr>
319 <div class="refsect2">
320 <a name="json-generator-get-pretty"></a><h3>json_generator_get_pretty ()</h3>
321 <pre class="programlisting"><span class="returnvalue">gboolean</span>
322 json_generator_get_pretty (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>);</pre>
323 <p>Retrieves the value set using <a class="link" href="JsonGenerator.html#json-generator-set-pretty" title="json_generator_set_pretty ()"><code class="function">json_generator_set_pretty()</code></a>.</p>
324 <div class="refsect3">
325 <a name="json-generator-get-pretty.parameters"></a><h4>Parameters</h4>
326 <div class="informaltable"><table class="informaltable" width="100%" border="0">
327 <colgroup>
328 <col width="150px" class="parameters_name">
329 <col class="parameters_description">
330 <col width="200px" class="parameters_annotations">
331 </colgroup>
332 <tbody><tr>
333 <td class="parameter_name"><p>generator</p></td>
334 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
335 <td class="parameter_annotations"> </td>
336 </tr></tbody>
337 </table></div>
338 </div>
339 <div class="refsect3">
340 <a name="json-generator-get-pretty.returns"></a><h4>Returns</h4>
341 <p> <code class="literal">TRUE</code> if the generated JSON should be pretty-printed, and
342 <code class="literal">FALSE</code> otherwise</p>
343 </div>
344 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
345 </div>
346 <hr>
347 <div class="refsect2">
348 <a name="json-generator-set-indent"></a><h3>json_generator_set_indent ()</h3>
349 <pre class="programlisting"><span class="returnvalue">void</span>
350 json_generator_set_indent (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
351                            <em class="parameter"><code><span class="type">guint</span> indent_level</code></em>);</pre>
352 <p>Sets the number of repetitions for each indentation level.</p>
353 <div class="refsect3">
354 <a name="json-generator-set-indent.parameters"></a><h4>Parameters</h4>
355 <div class="informaltable"><table class="informaltable" width="100%" border="0">
356 <colgroup>
357 <col width="150px" class="parameters_name">
358 <col class="parameters_description">
359 <col width="200px" class="parameters_annotations">
360 </colgroup>
361 <tbody>
362 <tr>
363 <td class="parameter_name"><p>generator</p></td>
364 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
365 <td class="parameter_annotations"> </td>
366 </tr>
367 <tr>
368 <td class="parameter_name"><p>indent_level</p></td>
369 <td class="parameter_description"><p>the number of repetitions of the indentation character
370 that should be applied when pretty printing</p></td>
371 <td class="parameter_annotations"> </td>
372 </tr>
373 </tbody>
374 </table></div>
375 </div>
376 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
377 </div>
378 <hr>
379 <div class="refsect2">
380 <a name="json-generator-get-indent"></a><h3>json_generator_get_indent ()</h3>
381 <pre class="programlisting"><span class="returnvalue">guint</span>
382 json_generator_get_indent (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>);</pre>
383 <p>Retrieves the value set using <a class="link" href="JsonGenerator.html#json-generator-set-indent" title="json_generator_set_indent ()"><code class="function">json_generator_set_indent()</code></a>.</p>
384 <div class="refsect3">
385 <a name="json-generator-get-indent.parameters"></a><h4>Parameters</h4>
386 <div class="informaltable"><table class="informaltable" width="100%" border="0">
387 <colgroup>
388 <col width="150px" class="parameters_name">
389 <col class="parameters_description">
390 <col width="200px" class="parameters_annotations">
391 </colgroup>
392 <tbody><tr>
393 <td class="parameter_name"><p>generator</p></td>
394 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
395 <td class="parameter_annotations"> </td>
396 </tr></tbody>
397 </table></div>
398 </div>
399 <div class="refsect3">
400 <a name="json-generator-get-indent.returns"></a><h4>Returns</h4>
401 <p> the number of repetitions per indentation level</p>
402 </div>
403 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
404 </div>
405 <hr>
406 <div class="refsect2">
407 <a name="json-generator-set-indent-char"></a><h3>json_generator_set_indent_char ()</h3>
408 <pre class="programlisting"><span class="returnvalue">void</span>
409 json_generator_set_indent_char (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
410                                 <em class="parameter"><code><span class="type">gunichar</span> indent_char</code></em>);</pre>
411 <p>Sets the character to be used when indenting</p>
412 <div class="refsect3">
413 <a name="json-generator-set-indent-char.parameters"></a><h4>Parameters</h4>
414 <div class="informaltable"><table class="informaltable" width="100%" border="0">
415 <colgroup>
416 <col width="150px" class="parameters_name">
417 <col class="parameters_description">
418 <col width="200px" class="parameters_annotations">
419 </colgroup>
420 <tbody>
421 <tr>
422 <td class="parameter_name"><p>generator</p></td>
423 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
424 <td class="parameter_annotations"> </td>
425 </tr>
426 <tr>
427 <td class="parameter_name"><p>indent_char</p></td>
428 <td class="parameter_description"><p>a Unicode character to be used when indenting</p></td>
429 <td class="parameter_annotations"> </td>
430 </tr>
431 </tbody>
432 </table></div>
433 </div>
434 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
435 </div>
436 <hr>
437 <div class="refsect2">
438 <a name="json-generator-get-indent-char"></a><h3>json_generator_get_indent_char ()</h3>
439 <pre class="programlisting"><span class="returnvalue">gunichar</span>
440 json_generator_get_indent_char (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>);</pre>
441 <p>Retrieves the value set using <a class="link" href="JsonGenerator.html#json-generator-set-indent-char" title="json_generator_set_indent_char ()"><code class="function">json_generator_set_indent_char()</code></a>.</p>
442 <div class="refsect3">
443 <a name="json-generator-get-indent-char.parameters"></a><h4>Parameters</h4>
444 <div class="informaltable"><table class="informaltable" width="100%" border="0">
445 <colgroup>
446 <col width="150px" class="parameters_name">
447 <col class="parameters_description">
448 <col width="200px" class="parameters_annotations">
449 </colgroup>
450 <tbody><tr>
451 <td class="parameter_name"><p>generator</p></td>
452 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
453 <td class="parameter_annotations"> </td>
454 </tr></tbody>
455 </table></div>
456 </div>
457 <div class="refsect3">
458 <a name="json-generator-get-indent-char.returns"></a><h4>Returns</h4>
459 <p> the character to be used when indenting</p>
460 </div>
461 <p class="since">Since: <a class="link" href="ix08.html#api-index-0.14">0.14</a></p>
462 </div>
463 <hr>
464 <div class="refsect2">
465 <a name="json-generator-to-file"></a><h3>json_generator_to_file ()</h3>
466 <pre class="programlisting"><span class="returnvalue">gboolean</span>
467 json_generator_to_file (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
468                         <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
469                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
470 <p>Creates a JSON data stream and puts it inside <em class="parameter"><code>filename</code></em>
471 , overwriting the
472 current file contents. This operation is atomic.</p>
473 <div class="refsect3">
474 <a name="json-generator-to-file.parameters"></a><h4>Parameters</h4>
475 <div class="informaltable"><table class="informaltable" width="100%" border="0">
476 <colgroup>
477 <col width="150px" class="parameters_name">
478 <col class="parameters_description">
479 <col width="200px" class="parameters_annotations">
480 </colgroup>
481 <tbody>
482 <tr>
483 <td class="parameter_name"><p>generator</p></td>
484 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
485 <td class="parameter_annotations"> </td>
486 </tr>
487 <tr>
488 <td class="parameter_name"><p>filename</p></td>
489 <td class="parameter_description"><p>path to the target file</p></td>
490 <td class="parameter_annotations"> </td>
491 </tr>
492 <tr>
493 <td class="parameter_name"><p>error</p></td>
494 <td class="parameter_description"><p>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code></p></td>
495 <td class="parameter_annotations"> </td>
496 </tr>
497 </tbody>
498 </table></div>
499 </div>
500 <div class="refsect3">
501 <a name="json-generator-to-file.returns"></a><h4>Returns</h4>
502 <p> <code class="literal">TRUE</code> if saving was successful.</p>
503 </div>
504 </div>
505 <hr>
506 <div class="refsect2">
507 <a name="json-generator-to-data"></a><h3>json_generator_to_data ()</h3>
508 <pre class="programlisting"><span class="returnvalue">gchar</span> *
509 json_generator_to_data (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
510                         <em class="parameter"><code><span class="type">gsize</span> *length</code></em>);</pre>
511 <p>Generates a JSON data stream from <em class="parameter"><code>generator</code></em>
512  and returns it as a
513 buffer.</p>
514 <div class="refsect3">
515 <a name="json-generator-to-data.parameters"></a><h4>Parameters</h4>
516 <div class="informaltable"><table class="informaltable" width="100%" border="0">
517 <colgroup>
518 <col width="150px" class="parameters_name">
519 <col class="parameters_description">
520 <col width="200px" class="parameters_annotations">
521 </colgroup>
522 <tbody>
523 <tr>
524 <td class="parameter_name"><p>generator</p></td>
525 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
526 <td class="parameter_annotations"> </td>
527 </tr>
528 <tr>
529 <td class="parameter_name"><p>length</p></td>
530 <td class="parameter_description"><p> return location for the length of the returned
531 buffer, or <code class="literal">NULL</code>. </p></td>
532 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
533 </tr>
534 </tbody>
535 </table></div>
536 </div>
537 <div class="refsect3">
538 <a name="json-generator-to-data.returns"></a><h4>Returns</h4>
539 <p> a newly allocated buffer holding a JSON data stream.
540 Use <code class="function">g_free()</code> to free the allocated resources.</p>
541 </div>
542 </div>
543 <hr>
544 <div class="refsect2">
545 <a name="json-generator-to-stream"></a><h3>json_generator_to_stream ()</h3>
546 <pre class="programlisting"><span class="returnvalue">gboolean</span>
547 json_generator_to_stream (<em class="parameter"><code><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> *generator</code></em>,
548                           <em class="parameter"><code><span class="type">GOutputStream</span> *stream</code></em>,
549                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
550                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
551 <p>Outputs JSON data and streams it (synchronously) to <em class="parameter"><code>stream</code></em>
552 .</p>
553 <div class="refsect3">
554 <a name="json-generator-to-stream.parameters"></a><h4>Parameters</h4>
555 <div class="informaltable"><table class="informaltable" width="100%" border="0">
556 <colgroup>
557 <col width="150px" class="parameters_name">
558 <col class="parameters_description">
559 <col width="200px" class="parameters_annotations">
560 </colgroup>
561 <tbody>
562 <tr>
563 <td class="parameter_name"><p>generator</p></td>
564 <td class="parameter_description"><p>a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a></p></td>
565 <td class="parameter_annotations"> </td>
566 </tr>
567 <tr>
568 <td class="parameter_name"><p>stream</p></td>
569 <td class="parameter_description"><p>a <span class="type">GOutputStream</span></p></td>
570 <td class="parameter_annotations"> </td>
571 </tr>
572 <tr>
573 <td class="parameter_name"><p>cancellable</p></td>
574 <td class="parameter_description"><p> a <span class="type">GCancellable</span>, or <code class="literal">NULL</code>. </p></td>
575 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
576 </tr>
577 <tr>
578 <td class="parameter_name"><p>error</p></td>
579 <td class="parameter_description"><p>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code></p></td>
580 <td class="parameter_annotations"> </td>
581 </tr>
582 </tbody>
583 </table></div>
584 </div>
585 <div class="refsect3">
586 <a name="json-generator-to-stream.returns"></a><h4>Returns</h4>
587 <p> <code class="literal">TRUE</code> if the write operation was successful, and <code class="literal">FALSE</code>
588 on failure. In case of error, the <span class="type">GError</span> will be filled accordingly</p>
589 </div>
590 <p class="since">Since: <a class="link" href="ix07.html#api-index-0.12">0.12</a></p>
591 </div>
592 </div>
593 <div class="refsect1">
594 <a name="JsonGenerator.other_details"></a><h2>Types and Values</h2>
595 <div class="refsect2">
596 <a name="JsonGenerator-struct"></a><h3>struct JsonGenerator</h3>
597 <pre class="programlisting">struct JsonGenerator;</pre>
598 <p>JSON data streams generator. The contents of the <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> structure
599 are private and should only be accessed via the provided API.</p>
600 </div>
601 <hr>
602 <div class="refsect2">
603 <a name="JsonGeneratorClass"></a><h3>struct JsonGeneratorClass</h3>
604 <pre class="programlisting">struct JsonGeneratorClass {
605 };
606 </pre>
607 <p><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> class</p>
608 </div>
609 </div>
610 <div class="refsect1">
611 <a name="JsonGenerator.property-details"></a><h2>Property Details</h2>
612 <div class="refsect2">
613 <a name="JsonGenerator--indent"></a><h3>The <code class="literal">“indent”</code> property</h3>
614 <pre class="programlisting">  “indent”                   <span class="type">guint</span></pre>
615 <p>Number of spaces to be used to indent when pretty printing.</p>
616 <p>Flags: Read / Write</p>
617 <p>Default value: 2</p>
618 </div>
619 <hr>
620 <div class="refsect2">
621 <a name="JsonGenerator--indent-char"></a><h3>The <code class="literal">“indent-char”</code> property</h3>
622 <pre class="programlisting">  “indent-char”              <span class="type">guint</span></pre>
623 <p>The character that should be used when indenting in pretty print.</p>
624 <p>Flags: Read / Write</p>
625 <p>Default value: ' '</p>
626 <p class="since">Since: <a class="link" href="ix04.html#api-index-0.6">0.6</a></p>
627 </div>
628 <hr>
629 <div class="refsect2">
630 <a name="JsonGenerator--pretty"></a><h3>The <code class="literal">“pretty”</code> property</h3>
631 <pre class="programlisting">  “pretty”                   <span class="type">gboolean</span></pre>
632 <p>Whether the output should be "pretty-printed", with indentation and
633 newlines. The indentation level can be controlled by using the
634 JsonGenerator:indent property</p>
635 <p>Flags: Read / Write</p>
636 <p>Default value: FALSE</p>
637 </div>
638 <hr>
639 <div class="refsect2">
640 <a name="JsonGenerator--root"></a><h3>The <code class="literal">“root”</code> property</h3>
641 <pre class="programlisting">  “root”                     <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *</pre>
642 <p>The root <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> to be used when constructing a JSON data
643 stream.</p>
644 <p>Flags: Read / Write</p>
645 <p class="since">Since: <a class="link" href="ix03.html#api-index-0.4">0.4</a></p>
646 </div>
647 </div>
648 </div>
649 <div class="footer">
650 <hr>Generated by GTK-Doc V1.25.1</div>
651 </body>
652 </html>