Initial Import
[profile/ivi/json-glib.git] / doc / reference / html / JsonParser.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>JsonParser</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="ch02.html" title="Parser">
9 <link rel="prev" href="ch02.html" title="Parser">
10 <link rel="next" href="JsonReader.html" title="JsonReader">
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="ch02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch02.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="JsonReader.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="#JsonParser.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#JsonParser.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#JsonParser.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#JsonParser.signals" class="shortcut">Signals</a>
31 </td></tr>
32 </table>
33 <div class="refentry">
34 <a name="JsonParser"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
36 <td valign="top">
37 <h2><span class="refentrytitle"><a name="JsonParser.top_of_page"></a>JsonParser</span></h2>
38 <p>JsonParser — Parse JSON data streams</p>
39 </td>
40 <td valign="top" align="right"></td>
41 </tr></table></div>
42 <div class="refsynopsisdiv">
43 <a name="JsonParser.synopsis"></a><h2>Synopsis</h2>
44 <pre class="synopsis">enum                <a class="link" href="JsonParser.html#JsonParserError" title="enum JsonParserError">JsonParserError</a>;
45
46 struct              <a class="link" href="JsonParser.html#JsonParser-struct" title="struct JsonParser">JsonParser</a>;
47 struct              <a class="link" href="JsonParser.html#JsonParserClass" title="struct JsonParserClass">JsonParserClass</a>;
48 <a class="link" href="JsonParser.html" title="JsonParser"><span class="returnvalue">JsonParser</span></a> *        <a class="link" href="JsonParser.html#json-parser-new" title="json_parser_new ()">json_parser_new</a>                     (<em class="parameter"><code><span class="type">void</span></code></em>);
49 <span class="returnvalue">gboolean</span>            <a class="link" href="JsonParser.html#json-parser-load-from-file" title="json_parser_load_from_file ()">json_parser_load_from_file</a>          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
50                                                          <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
51                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
52 <span class="returnvalue">gboolean</span>            <a class="link" href="JsonParser.html#json-parser-load-from-data" title="json_parser_load_from_data ()">json_parser_load_from_data</a>          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
53                                                          <em class="parameter"><code>const <span class="type">gchar</span> *data</code></em>,
54                                                          <em class="parameter"><code><span class="type">gssize</span> length</code></em>,
55                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
56 <span class="returnvalue">gboolean</span>            <a class="link" href="JsonParser.html#json-parser-load-from-stream" title="json_parser_load_from_stream ()">json_parser_load_from_stream</a>        (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
57                                                          <em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
58                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
59                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
60 <span class="returnvalue">void</span>                <a class="link" href="JsonParser.html#json-parser-load-from-stream-async" title="json_parser_load_from_stream_async ()">json_parser_load_from_stream_async</a>  (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
61                                                          <em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
62                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
63                                                          <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
64                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
65 <span class="returnvalue">gboolean</span>            <a class="link" href="JsonParser.html#json-parser-load-from-stream-finish" title="json_parser_load_from_stream_finish ()">json_parser_load_from_stream_finish</a> (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
66                                                          <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
67                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
68
69 <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> *          <a class="link" href="JsonParser.html#json-parser-get-root" title="json_parser_get_root ()">json_parser_get_root</a>                (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);
70
71 <span class="returnvalue">guint</span>               <a class="link" href="JsonParser.html#json-parser-get-current-line" title="json_parser_get_current_line ()">json_parser_get_current_line</a>        (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);
72 <span class="returnvalue">guint</span>               <a class="link" href="JsonParser.html#json-parser-get-current-pos" title="json_parser_get_current_pos ()">json_parser_get_current_pos</a>         (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);
73 <span class="returnvalue">gboolean</span>            <a class="link" href="JsonParser.html#json-parser-has-assignment" title="json_parser_has_assignment ()">json_parser_has_assignment</a>          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
74                                                          <em class="parameter"><code><span class="type">gchar</span> **variable_name</code></em>);
75 </pre>
76 </div>
77 <div class="refsect1">
78 <a name="JsonParser.object-hierarchy"></a><h2>Object Hierarchy</h2>
79 <pre class="synopsis">
80   GObject
81    +----JsonParser
82 </pre>
83 </div>
84 <div class="refsect1">
85 <a name="JsonParser.signals"></a><h2>Signals</h2>
86 <pre class="synopsis">
87   "<a class="link" href="JsonParser.html#JsonParser-array-element" title='The "array-element" signal'>array-element</a>"                                  : <code class="literal">Run Last</code>
88   "<a class="link" href="JsonParser.html#JsonParser-array-end" title='The "array-end" signal'>array-end</a>"                                      : <code class="literal">Run Last</code>
89   "<a class="link" href="JsonParser.html#JsonParser-array-start" title='The "array-start" signal'>array-start</a>"                                    : <code class="literal">Run Last</code>
90   "<a class="link" href="JsonParser.html#JsonParser-error" title='The "error" signal'>error</a>"                                          : <code class="literal">Run Last</code>
91   "<a class="link" href="JsonParser.html#JsonParser-object-end" title='The "object-end" signal'>object-end</a>"                                     : <code class="literal">Run Last</code>
92   "<a class="link" href="JsonParser.html#JsonParser-object-member" title='The "object-member" signal'>object-member</a>"                                  : <code class="literal">Run Last</code>
93   "<a class="link" href="JsonParser.html#JsonParser-object-start" title='The "object-start" signal'>object-start</a>"                                   : <code class="literal">Run Last</code>
94   "<a class="link" href="JsonParser.html#JsonParser-parse-end" title='The "parse-end" signal'>parse-end</a>"                                      : <code class="literal">Run Last</code>
95   "<a class="link" href="JsonParser.html#JsonParser-parse-start" title='The "parse-start" signal'>parse-start</a>"                                    : <code class="literal">Run Last</code>
96 </pre>
97 </div>
98 <div class="refsect1">
99 <a name="JsonParser.description"></a><h2>Description</h2>
100 <p>
101 <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> provides an object for parsing a JSON data stream, either
102 inside a file or inside a static buffer.
103 </p>
104 </div>
105 <div class="refsect1">
106 <a name="JsonParser.details"></a><h2>Details</h2>
107 <div class="refsect2">
108 <a name="JsonParserError"></a><h3>enum JsonParserError</h3>
109 <pre class="programlisting">typedef enum {
110   JSON_PARSER_ERROR_PARSE,
111   JSON_PARSER_ERROR_TRAILING_COMMA,
112   JSON_PARSER_ERROR_MISSING_COMMA,
113   JSON_PARSER_ERROR_MISSING_COLON,
114   JSON_PARSER_ERROR_INVALID_BAREWORD,
115   
116   JSON_PARSER_ERROR_UNKNOWN
117 } JsonParserError;
118 </pre>
119 <p>
120 Error enumeration for <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
121 </p>
122 <p>
123 This enumeration can be extended at later date
124 </p>
125 <div class="variablelist"><table border="0">
126 <col align="left" valign="top">
127 <tbody>
128 <tr>
129 <td><p><a name="JSON-PARSER-ERROR-PARSE:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_PARSE</code></span></p></td>
130 <td>parse error
131 </td>
132 </tr>
133 <tr>
134 <td><p><a name="JSON-PARSER-ERROR-TRAILING-COMMA:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_TRAILING_COMMA</code></span></p></td>
135 <td>unexpected trailing comma
136 </td>
137 </tr>
138 <tr>
139 <td><p><a name="JSON-PARSER-ERROR-MISSING-COMMA:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_MISSING_COMMA</code></span></p></td>
140 <td>expected comma
141 </td>
142 </tr>
143 <tr>
144 <td><p><a name="JSON-PARSER-ERROR-MISSING-COLON:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_MISSING_COLON</code></span></p></td>
145 <td>expected colon
146 </td>
147 </tr>
148 <tr>
149 <td><p><a name="JSON-PARSER-ERROR-INVALID-BAREWORD:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_INVALID_BAREWORD</code></span></p></td>
150 <td>invalid bareword
151 </td>
152 </tr>
153 <tr>
154 <td><p><a name="JSON-PARSER-ERROR-UNKNOWN:CAPS"></a><span class="term"><code class="literal">JSON_PARSER_ERROR_UNKNOWN</code></span></p></td>
155 <td>unknown error
156 </td>
157 </tr>
158 </tbody>
159 </table></div>
160 </div>
161 <hr>
162 <div class="refsect2">
163 <a name="JsonParser-struct"></a><h3>struct JsonParser</h3>
164 <pre class="programlisting">struct JsonParser;</pre>
165 <p>
166 JSON data streams parser. The contents of the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> structure are
167 private and should only be accessed via the provided API.
168 </p>
169 </div>
170 <hr>
171 <div class="refsect2">
172 <a name="JsonParserClass"></a><h3>struct JsonParserClass</h3>
173 <pre class="programlisting">struct JsonParserClass {
174   void (* parse_start)   (JsonParser   *parser);
175
176   void (* object_start)  (JsonParser   *parser);
177   void (* object_member) (JsonParser   *parser,
178                           JsonObject   *object,
179                           const gchar  *member_name);
180   void (* object_end)    (JsonParser   *parser,
181                           JsonObject   *object);
182
183   void (* array_start)   (JsonParser   *parser);
184   void (* array_element) (JsonParser   *parser,
185                           JsonArray    *array,
186                           gint          index_);
187   void (* array_end)     (JsonParser   *parser,
188                           JsonArray    *array);
189
190   void (* parse_end)     (JsonParser   *parser);
191   
192   void (* error)         (JsonParser   *parser,
193                           const GError *error);
194 };
195 </pre>
196 <p>
197 <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> class.
198 </p>
199 <div class="variablelist"><table border="0">
200 <col align="left" valign="top">
201 <tbody>
202 <tr>
203 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.parse-start"></a>parse_start</code></em> ()</span></p></td>
204 <td>class handler for the JsonParser::parse-start signal</td>
205 </tr>
206 <tr>
207 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.object-start"></a>object_start</code></em> ()</span></p></td>
208 <td>class handler for the JsonParser::object-start signal</td>
209 </tr>
210 <tr>
211 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.object-member"></a>object_member</code></em> ()</span></p></td>
212 <td>class handler for the JsonParser::object-member signal</td>
213 </tr>
214 <tr>
215 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.object-end"></a>object_end</code></em> ()</span></p></td>
216 <td>class handler for the JsonParser::object-end signal</td>
217 </tr>
218 <tr>
219 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.array-start"></a>array_start</code></em> ()</span></p></td>
220 <td>class handler for the JsonParser::array-start signal</td>
221 </tr>
222 <tr>
223 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.array-element"></a>array_element</code></em> ()</span></p></td>
224 <td>class handler for the JsonParser::array-element signal</td>
225 </tr>
226 <tr>
227 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.array-end"></a>array_end</code></em> ()</span></p></td>
228 <td>class handler for the JsonParser::array-end signal</td>
229 </tr>
230 <tr>
231 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.parse-end"></a>parse_end</code></em> ()</span></p></td>
232 <td>class handler for the JsonParser::parse-end signal</td>
233 </tr>
234 <tr>
235 <td><p><span class="term"><em class="structfield"><code><a name="JsonParserClass.error"></a>error</code></em> ()</span></p></td>
236 <td>class handler for the JsonParser::error signal</td>
237 </tr>
238 </tbody>
239 </table></div>
240 </div>
241 <hr>
242 <div class="refsect2">
243 <a name="json-parser-new"></a><h3>json_parser_new ()</h3>
244 <pre class="programlisting"><a class="link" href="JsonParser.html" title="JsonParser"><span class="returnvalue">JsonParser</span></a> *        json_parser_new                     (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
245 <p>
246 Creates a new <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> instance. You can use the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> to
247 load a JSON stream from either a file or a buffer and then walk the
248 hierarchy using the data types API.
249 </p>
250 <div class="variablelist"><table border="0">
251 <col align="left" valign="top">
252 <tbody><tr>
253 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
254 <td>the newly created <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>. Use <code class="function">g_object_unref()</code>
255 to release all the memory it allocates.</td>
256 </tr></tbody>
257 </table></div>
258 </div>
259 <hr>
260 <div class="refsect2">
261 <a name="json-parser-load-from-file"></a><h3>json_parser_load_from_file ()</h3>
262 <pre class="programlisting"><span class="returnvalue">gboolean</span>            json_parser_load_from_file          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
263                                                          <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
264                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
265 <p>
266 Loads a JSON stream from the content of <em class="parameter"><code>filename</code></em> and parses it. See
267 <a class="link" href="JsonParser.html#json-parser-load-from-data" title="json_parser_load_from_data ()"><code class="function">json_parser_load_from_data()</code></a>.
268 </p>
269 <div class="variablelist"><table border="0">
270 <col align="left" valign="top">
271 <tbody>
272 <tr>
273 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
274 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
275 </td>
276 </tr>
277 <tr>
278 <td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
279 <td>the path for the file to parse</td>
280 </tr>
281 <tr>
282 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
283 <td>return location for a <span class="type">GError</span>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
284 </td>
285 </tr>
286 <tr>
287 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
288 <td>
289 <code class="literal">TRUE</code> if the file was successfully loaded and parsed.
290 In case of error, <em class="parameter"><code>error</code></em> is set accordingly and <code class="literal">FALSE</code> is returned</td>
291 </tr>
292 </tbody>
293 </table></div>
294 </div>
295 <hr>
296 <div class="refsect2">
297 <a name="json-parser-load-from-data"></a><h3>json_parser_load_from_data ()</h3>
298 <pre class="programlisting"><span class="returnvalue">gboolean</span>            json_parser_load_from_data          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
299                                                          <em class="parameter"><code>const <span class="type">gchar</span> *data</code></em>,
300                                                          <em class="parameter"><code><span class="type">gssize</span> length</code></em>,
301                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
302 <p>
303 Loads a JSON stream from a buffer and parses it. You can call this function
304 multiple times with the same <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> object, but the contents of the
305 parser will be destroyed each time.
306 </p>
307 <div class="variablelist"><table border="0">
308 <col align="left" valign="top">
309 <tbody>
310 <tr>
311 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
312 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
313 </td>
314 </tr>
315 <tr>
316 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
317 <td>the buffer to parse</td>
318 </tr>
319 <tr>
320 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
321 <td>the length of the buffer, or -1</td>
322 </tr>
323 <tr>
324 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
325 <td>return location for a <span class="type">GError</span>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
326 </td>
327 </tr>
328 <tr>
329 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
330 <td>
331 <code class="literal">TRUE</code> if the buffer was succesfully parser. In case
332 of error, <em class="parameter"><code>error</code></em> is set accordingly and <code class="literal">FALSE</code> is returned</td>
333 </tr>
334 </tbody>
335 </table></div>
336 </div>
337 <hr>
338 <div class="refsect2">
339 <a name="json-parser-load-from-stream"></a><h3>json_parser_load_from_stream ()</h3>
340 <pre class="programlisting"><span class="returnvalue">gboolean</span>            json_parser_load_from_stream        (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
341                                                          <em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
342                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
343                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
344 <p>
345 Loads the contents of an input stream and parses them.
346 </p>
347 <p>
348 If <em class="parameter"><code>cancellable</code></em> is not <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
349 triggering the <em class="parameter"><code>cancellable</code></em> object from another thread. If the
350 operation was cancelled, the error <code class="literal">G_IO_ERROR_CANCELLED</code> will be set
351 on the passed <em class="parameter"><code>error</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>parser</code></em> :</span></p></td>
358 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
359 </td>
360 </tr>
361 <tr>
362 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
363 <td>an open <span class="type">GInputStream</span>
364 </td>
365 </tr>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
368 <td>a <span class="type">GCancellable</span>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
369 </td>
370 </tr>
371 <tr>
372 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
373 <td>the return location for a <span class="type">GError</span>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
374 </td>
375 </tr>
376 <tr>
377 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
378 <td>
379 <code class="literal">TRUE</code> if the data stream was successfully read and
380 parsed, and <code class="literal">FALSE</code> otherwise</td>
381 </tr>
382 </tbody>
383 </table></div>
384 <p class="since">Since 0.12</p>
385 </div>
386 <hr>
387 <div class="refsect2">
388 <a name="json-parser-load-from-stream-async"></a><h3>json_parser_load_from_stream_async ()</h3>
389 <pre class="programlisting"><span class="returnvalue">void</span>                json_parser_load_from_stream_async  (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
390                                                          <em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
391                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
392                                                          <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
393                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
394 <p>
395 Asynchronously reads the contents of <em class="parameter"><code>stream</code></em>.
396 </p>
397 <p>
398 For more details, see <a class="link" href="JsonParser.html#json-parser-load-from-stream" title="json_parser_load_from_stream ()"><code class="function">json_parser_load_from_stream()</code></a> which is the
399 synchronous version of this call.
400 </p>
401 <p>
402 When the operation is finished, <em class="parameter"><code>callback</code></em> will be called. You should
403 then call <a class="link" href="JsonParser.html#json-parser-load-from-stream-finish" title="json_parser_load_from_stream_finish ()"><code class="function">json_parser_load_from_stream_finish()</code></a> to get the result
404 of the operation.
405 </p>
406 <div class="variablelist"><table border="0">
407 <col align="left" valign="top">
408 <tbody>
409 <tr>
410 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
411 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
412 </td>
413 </tr>
414 <tr>
415 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
416 <td>a <span class="type">GInputStream</span>
417 </td>
418 </tr>
419 <tr>
420 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
421 <td>a <span class="type">GCancellable</span>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
422 </td>
423 </tr>
424 <tr>
425 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
426 <td>a <span class="type">GAsyncReadyCallback</span> to call when the request is satisfied</td>
427 </tr>
428 <tr>
429 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
430 <td>the data to pass to <em class="parameter"><code>callback</code></em>
431 </td>
432 </tr>
433 </tbody>
434 </table></div>
435 <p class="since">Since 0.12</p>
436 </div>
437 <hr>
438 <div class="refsect2">
439 <a name="json-parser-load-from-stream-finish"></a><h3>json_parser_load_from_stream_finish ()</h3>
440 <pre class="programlisting"><span class="returnvalue">gboolean</span>            json_parser_load_from_stream_finish (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
441                                                          <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
442                                                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
443 <p>
444 Finishes an asynchronous stream loading started with
445 <a class="link" href="JsonParser.html#json-parser-load-from-stream-async" title="json_parser_load_from_stream_async ()"><code class="function">json_parser_load_from_stream_async()</code></a>.
446 </p>
447 <div class="variablelist"><table border="0">
448 <col align="left" valign="top">
449 <tbody>
450 <tr>
451 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
452 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
453 </td>
454 </tr>
455 <tr>
456 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
457 <td>a <span class="type">GAsyncResult</span>
458 </td>
459 </tr>
460 <tr>
461 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
462 <td>the return location for a <span class="type">GError</span> or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
463 </td>
464 </tr>
465 <tr>
466 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
467 <td>
468 <code class="literal">TRUE</code> if the content of the stream was successfully retrieves
469 and parsed, and <code class="literal">FALSE</code> otherwise. In case of error, the <span class="type">GError</span> will be
470 filled accordingly.</td>
471 </tr>
472 </tbody>
473 </table></div>
474 <p class="since">Since 0.12</p>
475 </div>
476 <hr>
477 <div class="refsect2">
478 <a name="json-parser-get-root"></a><h3>json_parser_get_root ()</h3>
479 <pre class="programlisting"><a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="returnvalue">JsonNode</span></a> *          json_parser_get_root                (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);</pre>
480 <p>
481 Retrieves the top level node from the parsed JSON stream.
482 </p>
483 <div class="variablelist"><table border="0">
484 <col align="left" valign="top">
485 <tbody>
486 <tr>
487 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
488 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
489 </td>
490 </tr>
491 <tr>
492 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
493 <td>the root <a class="link" href="json-glib-JSON-Node.html#JsonNode" title="JsonNode"><span class="type">JsonNode</span></a> . The returned
494 node is owned by the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> and should never be modified
495 or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
496 </td>
497 </tr>
498 </tbody>
499 </table></div>
500 </div>
501 <hr>
502 <div class="refsect2">
503 <a name="json-parser-get-current-line"></a><h3>json_parser_get_current_line ()</h3>
504 <pre class="programlisting"><span class="returnvalue">guint</span>               json_parser_get_current_line        (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);</pre>
505 <p>
506 Retrieves the line currently parsed, starting from 1.
507 </p>
508 <p>
509 This function has defined behaviour only while parsing; calling this
510 function from outside the signal handlers emitted by <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> will
511 yield 0.
512 </p>
513 <div class="variablelist"><table border="0">
514 <col align="left" valign="top">
515 <tbody>
516 <tr>
517 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
518 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
519 </td>
520 </tr>
521 <tr>
522 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
523 <td>the currently parsed line, or 0.</td>
524 </tr>
525 </tbody>
526 </table></div>
527 </div>
528 <hr>
529 <div class="refsect2">
530 <a name="json-parser-get-current-pos"></a><h3>json_parser_get_current_pos ()</h3>
531 <pre class="programlisting"><span class="returnvalue">guint</span>               json_parser_get_current_pos         (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>);</pre>
532 <p>
533 Retrieves the current position inside the current line, starting
534 from 0.
535 </p>
536 <p>
537 This function has defined behaviour only while parsing; calling this
538 function from outside the signal handlers emitted by <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> will
539 yield 0.
540 </p>
541 <div class="variablelist"><table border="0">
542 <col align="left" valign="top">
543 <tbody>
544 <tr>
545 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
546 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
547 </td>
548 </tr>
549 <tr>
550 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
551 <td>the position in the current line, or 0.</td>
552 </tr>
553 </tbody>
554 </table></div>
555 </div>
556 <hr>
557 <div class="refsect2">
558 <a name="json-parser-has-assignment"></a><h3>json_parser_has_assignment ()</h3>
559 <pre class="programlisting"><span class="returnvalue">gboolean</span>            json_parser_has_assignment          (<em class="parameter"><code><a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser</code></em>,
560                                                          <em class="parameter"><code><span class="type">gchar</span> **variable_name</code></em>);</pre>
561 <p>
562 A JSON data stream might sometimes contain an assignment, like:
563 </p>
564 <p>
565 </p>
566 <div class="informalexample">
567   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
568     <tbody>
569       <tr>
570         <td class="listing_lines" align="right"><pre>1</pre></td>
571         <td class="listing_code"><pre class="programlisting"><span class="normal">var _json_data </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"member_name"</span><span class="normal"> </span><span class="symbol">:</span><span class="normal"> </span><span class="symbol">[</span><span class="normal"> </span><span class="symbol">...</span></pre></td>
572       </tr>
573     </tbody>
574   </table>
575 </div>
576
577 <p>
578 </p>
579 <p>
580 even though it would technically constitute a violation of the RFC.
581 </p>
582 <p>
583 <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> will ignore the left hand identifier and parse the right
584 hand value of the assignment. <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> will record, though, the
585 existence of the assignment in the data stream and the variable name
586 used.
587 </p>
588 <div class="variablelist"><table border="0">
589 <col align="left" valign="top">
590 <tbody>
591 <tr>
592 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
593 <td>a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
594 </td>
595 </tr>
596 <tr>
597 <td><p><span class="term"><em class="parameter"><code>variable_name</code></em> :</span></p></td>
598 <td>Return location for the variable
599 name, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
600 </td>
601 </tr>
602 <tr>
603 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
604 <td>
605 <code class="literal">TRUE</code> if there was an assignment, <code class="literal">FALSE</code> otherwise. If
606 <em class="parameter"><code>variable_name</code></em> is not <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> it will be set to the name of the variable
607 used in the assignment. The string is owned by <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> and should
608 never be modified or freed.</td>
609 </tr>
610 </tbody>
611 </table></div>
612 <p class="since">Since 0.4</p>
613 </div>
614 </div>
615 <div class="refsect1">
616 <a name="JsonParser.signal-details"></a><h2>Signal Details</h2>
617 <div class="refsect2">
618 <a name="JsonParser-array-element"></a><h3>The <code class="literal">"array-element"</code> signal</h3>
619 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
620                                                         <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>  *array,
621                                                         <span class="type">gint</span>        index_,
622                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
623 <p>
624 The ::array-element signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
625 has successfully parsed a single element of a <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>. The
626 array and element index are passed to the signal handlers.
627 </p>
628 <div class="variablelist"><table border="0">
629 <col align="left" valign="top">
630 <tbody>
631 <tr>
632 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
633 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
634 </tr>
635 <tr>
636 <td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
637 <td>a <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>
638 </td>
639 </tr>
640 <tr>
641 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
642 <td>the index of the newly parsed element</td>
643 </tr>
644 <tr>
645 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
646 <td>user data set when the signal handler was connected.</td>
647 </tr>
648 </tbody>
649 </table></div>
650 </div>
651 <hr>
652 <div class="refsect2">
653 <a name="JsonParser-array-end"></a><h3>The <code class="literal">"array-end"</code> signal</h3>
654 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
655                                                         <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>  *array,
656                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
657 <p>
658 The ::array-end signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
659 has successfully parsed an entire <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>
660 </p>
661 <div class="variablelist"><table border="0">
662 <col align="left" valign="top">
663 <tbody>
664 <tr>
665 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
666 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
667 </tr>
668 <tr>
669 <td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
670 <td>the parsed <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>
671 </td>
672 </tr>
673 <tr>
674 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
675 <td>user data set when the signal handler was connected.</td>
676 </tr>
677 </tbody>
678 </table></div>
679 </div>
680 <hr>
681 <div class="refsect2">
682 <a name="JsonParser-array-start"></a><h3>The <code class="literal">"array-start"</code> signal</h3>
683 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
684                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
685 <p>
686 The ::array-start signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
687 starts parsing a <a class="link" href="json-glib-JSON-Array.html#JsonArray" title="JsonArray"><span class="type">JsonArray</span></a>
688 </p>
689 <div class="variablelist"><table border="0">
690 <col align="left" valign="top">
691 <tbody>
692 <tr>
693 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
694 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
695 </tr>
696 <tr>
697 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
698 <td>user data set when the signal handler was connected.</td>
699 </tr>
700 </tbody>
701 </table></div>
702 </div>
703 <hr>
704 <div class="refsect2">
705 <a name="JsonParser-error"></a><h3>The <code class="literal">"error"</code> signal</h3>
706 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
707                                                         <span class="type">gpointer</span>    error,
708                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
709 <p>
710 The ::error signal is emitted each time a <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> encounters
711 an error in a JSON stream.
712 </p>
713 <div class="variablelist"><table border="0">
714 <col align="left" valign="top">
715 <tbody>
716 <tr>
717 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
718 <td>the parser instance that received the signal</td>
719 </tr>
720 <tr>
721 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
722 <td>a pointer to the <span class="type">GError</span>
723 </td>
724 </tr>
725 <tr>
726 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
727 <td>user data set when the signal handler was connected.</td>
728 </tr>
729 </tbody>
730 </table></div>
731 </div>
732 <hr>
733 <div class="refsect2">
734 <a name="JsonParser-object-end"></a><h3>The <code class="literal">"object-end"</code> signal</h3>
735 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
736                                                         <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a> *object,
737                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
738 <p>
739 The ::object-end signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
740 has successfully parsed an entire <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a>.
741 </p>
742 <div class="variablelist"><table border="0">
743 <col align="left" valign="top">
744 <tbody>
745 <tr>
746 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
747 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
748 </tr>
749 <tr>
750 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
751 <td>the parsed <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a>
752 </td>
753 </tr>
754 <tr>
755 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
756 <td>user data set when the signal handler was connected.</td>
757 </tr>
758 </tbody>
759 </table></div>
760 </div>
761 <hr>
762 <div class="refsect2">
763 <a name="JsonParser-object-member"></a><h3>The <code class="literal">"object-member"</code> signal</h3>
764 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
765                                                         <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a> *object,
766                                                         <span class="type">gchar</span>      *member_name,
767                                                         <span class="type">gpointer</span>    user_data)        : <code class="literal">Run Last</code></pre>
768 <p>
769 The ::object-member signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
770 has successfully parsed a single member of a <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a>. The
771 object and member are passed to the signal handlers.
772 </p>
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
775 <tbody>
776 <tr>
777 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
778 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
779 </tr>
780 <tr>
781 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
782 <td>a <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a>
783 </td>
784 </tr>
785 <tr>
786 <td><p><span class="term"><em class="parameter"><code>member_name</code></em> :</span></p></td>
787 <td>the name of the newly parsed member</td>
788 </tr>
789 <tr>
790 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
791 <td>user data set when the signal handler was connected.</td>
792 </tr>
793 </tbody>
794 </table></div>
795 </div>
796 <hr>
797 <div class="refsect2">
798 <a name="JsonParser-object-start"></a><h3>The <code class="literal">"object-start"</code> signal</h3>
799 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
800                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
801 <p>
802 The ::object-start signal is emitted each time the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a>
803 starts parsing a <a class="link" href="json-glib-JSON-Object.html#JsonObject" title="JsonObject"><span class="type">JsonObject</span></a>.
804 </p>
805 <div class="variablelist"><table border="0">
806 <col align="left" valign="top">
807 <tbody>
808 <tr>
809 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
810 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
811 </tr>
812 <tr>
813 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
814 <td>user data set when the signal handler was connected.</td>
815 </tr>
816 </tbody>
817 </table></div>
818 </div>
819 <hr>
820 <div class="refsect2">
821 <a name="JsonParser-parse-end"></a><h3>The <code class="literal">"parse-end"</code> signal</h3>
822 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
823                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
824 <p>
825 The ::parse-end signal is emitted when the parser successfully
826 finished parsing a JSON data stream
827 </p>
828 <div class="variablelist"><table border="0">
829 <col align="left" valign="top">
830 <tbody>
831 <tr>
832 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
833 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
834 </tr>
835 <tr>
836 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
837 <td>user data set when the signal handler was connected.</td>
838 </tr>
839 </tbody>
840 </table></div>
841 </div>
842 <hr>
843 <div class="refsect2">
844 <a name="JsonParser-parse-start"></a><h3>The <code class="literal">"parse-start"</code> signal</h3>
845 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> *parser,
846                                                         <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
847 <p>
848 The ::parse-start signal is emitted when the parser began parsing
849 a JSON data stream.
850 </p>
851 <div class="variablelist"><table border="0">
852 <col align="left" valign="top">
853 <tbody>
854 <tr>
855 <td><p><span class="term"><em class="parameter"><code>parser</code></em> :</span></p></td>
856 <td>the <a class="link" href="JsonParser.html" title="JsonParser"><span class="type">JsonParser</span></a> that received the signal</td>
857 </tr>
858 <tr>
859 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
860 <td>user data set when the signal handler was connected.</td>
861 </tr>
862 </tbody>
863 </table></div>
864 </div>
865 </div>
866 </div>
867 <div class="footer">
868 <hr>
869           Generated by GTK-Doc V1.18.1</div>
870 </body>
871 </html>