tizen 2.3.1 release
[external/libjson-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</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
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="json-advanced.html" title="Part IV. JSON-GLib Advanced API">
11 <meta name="generator" content="GTK-Doc V1.13 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 <link rel="part" href="json-glib.html" title="Part I. JSON-GLib Overview">
14 <link rel="part" href="json-base.html" title="Part II. JSON-GLib Reference">
15 <link rel="chapter" href="ch01.html" title="Data Types">
16 <link rel="part" href="json-streams.html" title="Part III. Reading and writing">
17 <link rel="chapter" href="ch02.html" title="Parser">
18 <link rel="chapter" href="ch03.html" title="Generator">
19 <link rel="part" href="json-advanced.html" title="Part IV. JSON-GLib Advanced API">
20 <link rel="part" href="json-tools.html" title="Part V. JSON-GLib Additional Reference">
21 <link rel="chapter" href="ch04.html" title="Object Hierarchy">
22 <link rel="index" href="ix01.html" title="Index">
23 <link rel="index" href="ix02.html" title="Index of deprecated symbols">
24 <link rel="index" href="ix03.html" title="Index of new symbols in 0.4">
25 <link rel="index" href="ix04.html" title="Index of new symbols in 0.6">
26 <link rel="index" href="ix05.html" title="Index of new symbols in 0.8">
27 <link rel="index" href="ix06.html" title="Index of new symbols in 0.10">
28 <link rel="glossary" href="annotation-glossary.html" title="Annotation Glossary">
29 <link rel="appendix" href="license.html" title="Appendix A. License">
30 </head>
31 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
32 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
33 <tr valign="middle">
34 <td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
35 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
36 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
37 <th width="100%" align="center">JSON-GLib Reference Manual</th>
38 <td><a accesskey="n" href="json-advanced.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
39 </tr>
40 <tr><td colspan="5" class="shortcuts">
41 <a href="#JsonGenerator.synopsis" class="shortcut">Top</a>
42                    | 
43                   <a href="#JsonGenerator.description" class="shortcut">Description</a>
44                    | 
45                   <a href="#JsonGenerator.object-hierarchy" class="shortcut">Object Hierarchy</a>
46                    | 
47                   <a href="#JsonGenerator.properties" class="shortcut">Properties</a>
48 </td></tr>
49 </table>
50 <div class="refentry" title="JsonGenerator">
51 <a name="JsonGenerator"></a><div class="titlepage"></div>
52 <div class="refnamediv"><table width="100%"><tr>
53 <td valign="top">
54 <h2><span class="refentrytitle"><a name="JsonGenerator.top_of_page"></a>JsonGenerator</span></h2>
55 <p>JsonGenerator — Generates JSON data streams</p>
56 </td>
57 <td valign="top" align="right"></td>
58 </tr></table></div>
59 <div class="refsynopsisdiv" title="Synopsis">
60 <a name="JsonGenerator.synopsis"></a><h2>Synopsis</h2>
61 <pre class="synopsis">                    <a class="link" href="JsonGenerator.html#JsonGenerator-struct" title="JsonGenerator">JsonGenerator</a>;
62                     <a class="link" href="JsonGenerator.html#JsonGeneratorClass" title="JsonGeneratorClass">JsonGeneratorClass</a>;
63 <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *     <a class="link" href="JsonGenerator.html#json-generator-new" title="json_generator_new ()">json_generator_new</a>                  (void);
64 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="JsonGenerator.html#json-generator-to-file" title="json_generator_to_file ()">json_generator_to_file</a>              (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
65                                                          const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *filename,
66                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="JsonGenerator.html#json-generator-to-data" title="json_generator_to_data ()">json_generator_to_data</a>              (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
68                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> *length);
69 <span class="returnvalue">void</span>                <a class="link" href="JsonGenerator.html#json-generator-set-root" title="json_generator_set_root ()">json_generator_set_root</a>             (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
70                                                          <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> *node);
71 </pre>
72 </div>
73 <div class="refsect1" title="Object Hierarchy">
74 <a name="JsonGenerator.object-hierarchy"></a><h2>Object Hierarchy</h2>
75 <pre class="synopsis">
76   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
77    +----JsonGenerator
78 </pre>
79 </div>
80 <div class="refsect1" title="Properties">
81 <a name="JsonGenerator.properties"></a><h2>Properties</h2>
82 <pre class="synopsis">
83   "<a class="link" href="JsonGenerator.html#JsonGenerator--indent" title='The "indent" property'>indent</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
84   "<a class="link" href="JsonGenerator.html#JsonGenerator--indent-char" title='The "indent-char" property'>indent-char</a>"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
85   "<a class="link" href="JsonGenerator.html#JsonGenerator--pretty" title='The "pretty" property'>pretty</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
86   "<a class="link" href="JsonGenerator.html#JsonGenerator--root" title='The "root" property'>root</a>"                     <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>*             : Read / Write
87 </pre>
88 </div>
89 <div class="refsect1" title="Description">
90 <a name="JsonGenerator.description"></a><h2>Description</h2>
91 <p>
92 <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> provides an object for generating a JSON data stream and
93 put it into a buffer or a file.</p>
94 </div>
95 <div class="refsect1" title="Details">
96 <a name="JsonGenerator.details"></a><h2>Details</h2>
97 <div class="refsect2" title="JsonGenerator">
98 <a name="JsonGenerator-struct"></a><h3>JsonGenerator</h3>
99 <pre class="programlisting">typedef struct _JsonGenerator JsonGenerator;</pre>
100 <p>
101 JSON data streams generator. The contents of the <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> structure
102 are private and should only be accessed via the provided API.</p>
103 </div>
104 <hr>
105 <div class="refsect2" title="JsonGeneratorClass">
106 <a name="JsonGeneratorClass"></a><h3>JsonGeneratorClass</h3>
107 <pre class="programlisting">typedef struct {
108 } JsonGeneratorClass;
109 </pre>
110 <p>
111 <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> class</p>
112 </div>
113 <hr>
114 <div class="refsect2" title="json_generator_new ()">
115 <a name="json-generator-new"></a><h3>json_generator_new ()</h3>
116 <pre class="programlisting"><a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *     json_generator_new                  (void);</pre>
117 <p>
118 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
119 JSON data stream starting from a data object model composed by
120 <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>s.</p>
121 <div class="variablelist"><table border="0">
122 <col align="left" valign="top">
123 <tbody><tr>
124 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
125 <td> the newly created <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a> instance
126 </td>
127 </tr></tbody>
128 </table></div>
129 </div>
130 <hr>
131 <div class="refsect2" title="json_generator_to_file ()">
132 <a name="json-generator-to-file"></a><h3>json_generator_to_file ()</h3>
133 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            json_generator_to_file              (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
134                                                          const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *filename,
135                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
136 <p>
137 Creates a JSON data stream and puts it inside <em class="parameter"><code>filename</code></em>, overwriting the
138 current file contents. This operation is atomic.</p>
139 <div class="variablelist"><table border="0">
140 <col align="left" valign="top">
141 <tbody>
142 <tr>
143 <td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
144 <td> a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>
145 </td>
146 </tr>
147 <tr>
148 <td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
149 <td> path to the target file
150 </td>
151 </tr>
152 <tr>
153 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
154 <td> return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
155 </td>
156 </tr>
157 <tr>
158 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
159 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if saving was successful.
160 </td>
161 </tr>
162 </tbody>
163 </table></div>
164 </div>
165 <hr>
166 <div class="refsect2" title="json_generator_to_data ()">
167 <a name="json-generator-to-data"></a><h3>json_generator_to_data ()</h3>
168 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             json_generator_to_data              (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
169                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> *length);</pre>
170 <p>
171 Generates a JSON data stream from <em class="parameter"><code>generator</code></em> and returns it as a
172 buffer.</p>
173 <div class="variablelist"><table border="0">
174 <col align="left" valign="top">
175 <tbody>
176 <tr>
177 <td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
178 <td> a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>
179 </td>
180 </tr>
181 <tr>
182 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
183 <td>out. <acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>. </td>
184 </tr>
185 <tr>
186 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
187 <td> a newly allocated buffer holding a JSON data stream.
188   Use <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> to free the allocated resources.
189 </td>
190 </tr>
191 </tbody>
192 </table></div>
193 </div>
194 <hr>
195 <div class="refsect2" title="json_generator_set_root ()">
196 <a name="json-generator-set-root"></a><h3>json_generator_set_root ()</h3>
197 <pre class="programlisting"><span class="returnvalue">void</span>                json_generator_set_root             (<a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="returnvalue">JsonGenerator</span></a> *generator,
198                                                          <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> *node);</pre>
199 <p>
200 Sets <em class="parameter"><code>node</code></em> as the root of the JSON data stream to be serialized by
201 the <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>.
202 </p>
203 <p>
204 </p>
205 <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
206 <h3 class="title">Note</h3>The node is copied by the generator object, so it can be safely
207 freed after calling this function.</div>
208 <div class="variablelist"><table border="0">
209 <col align="left" valign="top">
210 <tbody>
211 <tr>
212 <td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
213 <td> a <a class="link" href="JsonGenerator.html" title="JsonGenerator"><span class="type">JsonGenerator</span></a>
214 </td>
215 </tr>
216 <tr>
217 <td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
218 <td> a <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>
219 </td>
220 </tr>
221 </tbody>
222 </table></div>
223 </div>
224 </div>
225 <div class="refsect1" title="Property Details">
226 <a name="JsonGenerator.property-details"></a><h2>Property Details</h2>
227 <div class="refsect2" title='The "indent" property'>
228 <a name="JsonGenerator--indent"></a><h3>The <code class="literal">"indent"</code> property</h3>
229 <pre class="programlisting">  "indent"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
230 <p>
231 Number of spaces to be used to indent when pretty printing.</p>
232 <p>Default value: 2</p>
233 </div>
234 <hr>
235 <div class="refsect2" title='The "indent-char" property'>
236 <a name="JsonGenerator--indent-char"></a><h3>The <code class="literal">"indent-char"</code> property</h3>
237 <pre class="programlisting">  "indent-char"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
238 <p>
239 The character that should be used when indenting in pretty print.</p>
240 <p>Default value: ' '</p>
241 <p class="since">Since 0.6</p>
242 </div>
243 <hr>
244 <div class="refsect2" title='The "pretty" property'>
245 <a name="JsonGenerator--pretty"></a><h3>The <code class="literal">"pretty"</code> property</h3>
246 <pre class="programlisting">  "pretty"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
247 <p>
248 Whether the output should be "pretty-printed", with indentation and
249 newlines. The indentation level can be controlled by using the
250 JsonGenerator:indent property</p>
251 <p>Default value: FALSE</p>
252 </div>
253 <hr>
254 <div class="refsect2" title='The "root" property'>
255 <a name="JsonGenerator--root"></a><h3>The <code class="literal">"root"</code> property</h3>
256 <pre class="programlisting">  "root"                     <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a>*             : Read / Write</pre>
257 <p>
258 The root <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> to be used when constructing a JSON data
259 stream.</p>
260 <p class="since">Since 0.4</p>
261 </div>
262 </div>
263 </div>
264 <div class="footer">
265 <hr>
266           Generated by GTK-Doc V1.13</div>
267 </body>
268 </html>