1 commit 6d64c9a4525001700b437af09676013954eb6eb5
2 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3 Date: Wed Oct 26 12:32:10 2011 +0100
5 Release JSON-GLib 0.14.2
9 2 files changed, 7 insertions(+), 2 deletions(-)
11 commit 86bf97d993e638f0131fbf17360d03bc7b34e4a0
12 Author: Emmanuele Bassi <ebassi@linux.intel.com>
13 Date: Mon Oct 17 11:19:57 2011 +0100
15 docs: Fix typo in JsonObject's description
17 https://bugzilla.gnome.org/show_bug.cgi?id=660893
18 (cherry picked from commit 7636e9de9414304f940837ee828d23e4608e9f32)
20 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
22 json-glib/json-object.c | 2 +-
23 1 files changed, 1 insertions(+), 1 deletions(-)
25 commit 45a2f813243652ee2ee82de07348b3218d308861
26 Author: Emmanuele Bassi <ebassi@linux.intel.com>
27 Date: Wed Oct 12 12:31:27 2011 +0100
29 Use g_value_[sg]et_schar() with GLib ≥ 2.31
31 The non-explicitly signed variant is deprecated.
32 (cherry picked from commit 4ab8059df6ad106bf8958642aa1126925d79128c)
34 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
36 json-glib/json-gobject.c | 10 +++++++++-
37 1 files changed, 9 insertions(+), 1 deletions(-)
39 commit 692d8275b0d2a7883af4088c95a8403d902ffd10
40 Author: Matthias Clasen <mclasen@redhat.com>
41 Date: Wed Oct 12 07:15:23 2011 -0400
43 Adapt to the demise of single includes in GLib
44 (cherry picked from commit f904ad102004258dc7b839b93a7904517cc4c623)
46 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
48 json-glib/json-scanner.h | 4 +---
49 json-glib/tests/gvariant.c | 2 +-
50 json-glib/tests/node.c | 2 +-
51 3 files changed, 3 insertions(+), 5 deletions(-)
53 commit e95d570170a89c1175adf06720ba1efad96372bd
54 Author: Emmanuele Bassi <ebassi@linux.intel.com>
55 Date: Mon Oct 17 11:00:52 2011 +0100
57 Conditionally use g_list_free_full()
59 JSON-GLib depends on GLib ≥ 2.26, and g_list_free_full() was introduced
60 in GLib 2.28, so we have to check against the GLib version if we want to
63 https://bugzilla.gnome.org/show_bug.cgi?id=661244
65 json-glib/json-path.c | 19 ++++++++++++++++++-
66 1 files changed, 18 insertions(+), 1 deletions(-)
68 commit d498c15566cba0123d35d271b727542309ba7d83
69 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
70 Date: Tue Sep 27 15:21:06 2011 +0800
72 Update VS9 property sheet
74 Seperate intermediate folders to avoid errors/warnings due to files in use
77 build/win32/vs9/json-glib.vsprops | 2 +-
78 1 files changed, 1 insertions(+), 1 deletions(-)
80 commit 3543fd3220d5ab567be5d924ef94ee69ae93d5e7
81 Author: Emmanuele Bassi <ebassi@linux.intel.com>
82 Date: Mon Sep 19 14:41:39 2011 +0100
84 Post-release version bump to 0.14.1
87 1 files changed, 2 insertions(+), 2 deletions(-)
89 commit 35279b587f0b884fd606be77fd06e4fef919a300
90 Author: Emmanuele Bassi <ebassi@linux.intel.com>
91 Date: Mon Sep 19 14:37:45 2011 +0100
93 Release JSON-GLib 0.14.0
96 po/pl.po | 74 +++++++++++++++++++++++++++++-----------------------------
97 2 files changed, 39 insertions(+), 39 deletions(-)
99 commit 3830326516285e6e86d3fa9c58ef7531679dfec0
100 Author: Piotr Drąg <piotrdrag@gmail.com>
101 Date: Fri Sep 9 16:27:37 2011 +0200
103 Added Polish translation
105 po/pl.po | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
106 1 files changed, 172 insertions(+), 0 deletions(-)
108 commit 67a460d9ea8b485e740d1df34943b8df974f4255
109 Author: Emmanuele Bassi <ebassi@linux.intel.com>
110 Date: Fri Sep 9 15:00:41 2011 +0100
112 Post-release version bump to 0.13.91
115 1 files changed, 1 insertions(+), 1 deletions(-)
117 commit 1cb4ed1fac84026a19b35ce10c54df8a6ed12959
118 Author: Emmanuele Bassi <ebassi@linux.intel.com>
119 Date: Fri Sep 9 14:57:13 2011 +0100
121 Release JSON-GLib 0.13.90 (0.14.0-rc1)
125 2 files changed, 3 insertions(+), 1 deletions(-)
127 commit 18a83ddad87c92ae78010c678a516087ba012859
128 Author: Emmanuele Bassi <ebassi@linux.intel.com>
129 Date: Fri Sep 9 14:58:17 2011 +0100
131 build: Fix the path to the 'missing' script
134 1 files changed, 1 insertions(+), 1 deletions(-)
136 commit 9f75475871cc8723e0a41d6c8971f741a405cb9f
137 Author: Emmanuele Bassi <ebassi@linux.intel.com>
138 Date: Fri Sep 9 14:00:36 2011 +0100
140 reader: Do more strict validation
142 JsonReader should perform more strict validation, and put itself in an
143 error state whenever the user asks for values or information on nodes
144 that are not there, or not of the right type.
146 https://bugzilla.gnome.org/show_bug.cgi?id=658632
148 json-glib/json-reader.c | 177 ++++++++++++++++++++++++++++++++++++++++------
149 json-glib/json-reader.h | 10 +++-
150 2 files changed, 163 insertions(+), 24 deletions(-)
152 commit e7f2d505de39a9dbdea1a5879c13408c7a394a18
153 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
154 Date: Wed Aug 31 13:33:41 2011 +0800
156 Update Win32 and VS Readme files
158 Tell people about the GNOME Live! page that outlines building
159 JSON-GLib and its dependencies with Visual C++.
161 build/win32/vs10/README.txt | 5 +++++
162 build/win32/vs9/README.txt | 5 +++++
163 2 files changed, 10 insertions(+), 0 deletions(-)
165 commit c2f5b8bc64f9ac06b2dda8662924d88cc759718e
166 Author: Emmanuele Bassi <ebassi@linux.intel.com>
167 Date: Tue Aug 23 20:42:15 2011 +0100
169 gobject: Deserialize CONSTRUCT properties
171 While we have to give up deserializing CONSTRUCT_ONLY properties with
172 JsonSerializable, CONSTRUCT properties should just be deserialized like
175 Sadly, there's still a refuse in the json_gobject_new() code that skips
176 CONSTRUCT properties along with CONSTRUCT_ONLY ones — a remnant of a
177 period when we deserialized them both without JsonSerializable.
179 https://bugzilla.gnome.org/show_bug.cgi?id=655526
181 json-glib/json-gobject.c | 13 +++++--------
182 json-glib/tests/serialize-complex.c | 19 ++++++++++++++++++-
183 json-glib/tests/serialize-full.c | 3 ++-
184 3 files changed, 25 insertions(+), 10 deletions(-)
186 commit bcfac335a8e4086ff6afa5f267f9886a4d1b6370
187 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
188 Date: Sun Jul 31 02:38:08 2011 -0400
190 Handle integer to float/double conversions in json_deserialize_pspec()
192 It happens that while serializing that float/double properties are
193 set to round numbers, this results in deserialization as gint64
194 values and a parse failure. This patch addresses it by accepting
195 round gint64 numbers as valid values for float/double properties.
197 json-glib/json-gobject.c | 22 +++++++++++++++++++++-
198 1 files changed, 21 insertions(+), 1 deletions(-)
200 commit 996d89911d71f54f9a476242f1bd43c077d4428c
201 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
202 Date: Wed Jul 13 15:27:07 2011 -0400
204 Added an additional warning to json_gobject_new()
206 The same warning that is fired when failing to deserialize
207 properties normally needed to be added for the case that
208 we fail to deserialize construct-only properties.
210 json-glib/json-gobject.c | 7 ++++++-
211 1 files changed, 6 insertions(+), 1 deletions(-)
213 commit 4315308a19e4cf474451cecf8b69aceddda91f49
214 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
215 Date: Sat Jul 9 15:23:36 2011 -0400
217 Avoid serializing default property values only after
218 consulting the JsonSerializable.
220 This patch gives the JsonSerializable class a chance to decide
221 whether it's appropriate to serialize a property before
222 JsonGObject checks for a default value and skips the property.
224 json-glib/json-gobject.c | 10 ++--------
225 json-glib/json-serializable.c | 4 ++++
226 2 files changed, 6 insertions(+), 8 deletions(-)
228 commit 4ba9a6a81709221ba58d0f8e067de660eb96914e
229 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
230 Date: Thu Jul 7 16:35:21 2011 -0400
232 Fixed badly handled fundamental types in json_deserialize_pspec().
234 This patch fixes json_deserialize_pspec() to return FALSE when
235 failing to deserialize some properties. Consequently the patch
236 ensures we get the intended warnings when failing to deserialize
237 pspecs for some fundamental types:
238 Failed to deserialize property "foo" of type "int" on object "bar"
240 json-glib/json-gobject.c | 42 ++++++++++++++++++++++++++++++------------
241 1 files changed, 30 insertions(+), 12 deletions(-)
243 commit 24fa4503ad5d85bf60027bd77c434b2a596b1c17
244 Author: Laurent Bigonville <bigon@bigon.be>
245 Date: Wed Jul 6 12:34:56 2011 +0200
247 Fix GVariant creation on some architectures (bug #650483)
249 Fix casting issue in Gvariant creation on some architectures.
251 json-glib/json-gvariant.c | 46 +++++++++++++++++++++++++++++++++++++++-----
252 1 files changed, 40 insertions(+), 6 deletions(-)
254 commit dd3c30c5821f9f6bac4cc9016c49c7e6250377eb
255 Author: Emmanuele Bassi <ebassi@linux.intel.com>
256 Date: Tue Jul 5 15:07:20 2011 +0100
258 tests/path: Link expressions and results
260 Use a structure to keep the testable expressions and their results
263 json-glib/tests/path.c | 74 ++++++++++++++++++++++++++++++-----------------
264 1 files changed, 47 insertions(+), 27 deletions(-)
266 commit acb33a7e6bd3d05d36e7278fafdcb4c35ec88388
267 Author: Emmanuele Bassi <ebassi@linux.intel.com>
268 Date: Tue Jul 5 14:23:13 2011 +0100
270 build: Replace AC_HELP_STRING with AS_HELP_STRING
272 configure.ac | 4 ++--
273 1 files changed, 2 insertions(+), 2 deletions(-)
275 commit c296ca9ed06b8e4b54a4bd8003593b3a98b94f6b
276 Author: Emmanuele Bassi <ebassi@linux.intel.com>
277 Date: Tue Jul 5 14:22:13 2011 +0100
279 build: Allow m4 substitution for conditional defaults
281 To compensate for AC_HELP_STRING()'s braindamage.
283 configure.ac | 4 ++--
284 1 files changed, 2 insertions(+), 2 deletions(-)
286 commit 1fb457af51a5632956fd679deca0021becb5468b
287 Author: Emmanuele Bassi <ebassi@linux.intel.com>
288 Date: Tue Jul 5 14:22:01 2011 +0100
290 build: Clean up configure.ac's preamble
292 configure.ac | 7 +++++--
293 1 files changed, 5 insertions(+), 2 deletions(-)
295 commit 75e370e53cb5d31d4a366fc5f126583872f1349a
296 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
297 Date: Wed Jun 29 14:29:12 2011 +0800
299 Added README.txt's for Visual Studio support
301 Added README.txt's and included them in distribution to tell
302 people how JSON-GLib can be build on Windows using Visual C++.
304 build/win32/vs10/Makefile.am | 1 +
305 build/win32/vs10/README.txt | 87 ++++++++++++++++++++++++++++++++++++++++++
306 build/win32/vs9/Makefile.am | 1 +
307 build/win32/vs9/README.txt | 86 +++++++++++++++++++++++++++++++++++++++++
308 4 files changed, 175 insertions(+), 0 deletions(-)
310 commit 7da6eb52937588537754be7e0b496f51077165d2
311 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
312 Date: Wed Jun 29 12:54:52 2011 +0800
314 Re-attempt to correct EOL on VS2010 solution
316 This time I realized that I needed to set autocrlf=false on my Windows side
319 This is one of those files that must have CRLF line endings to work
322 build/win32/vs10/json-glib.sln | 332 ++++++++++++++++++++--------------------
323 1 files changed, 166 insertions(+), 166 deletions(-)
325 commit 4ef07b2c6e7d4d444f8ec6ce93c27f7189b942a0
326 Author: Travis Reitter <treitter@gmail.com>
327 Date: Thu Jun 23 16:54:38 2011 -0700
329 Link the tests against the appropriate libraries.
331 This avoids some linking failures.
333 Closes: bgo#653295 - json-glib tests need to link against libgobject-2
335 json-glib/tests/Makefile.am | 5 ++++-
336 1 files changed, 4 insertions(+), 1 deletions(-)
338 commit c9ac9ce2d417210ccb06d0445a809ce9cd57c7a5
339 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
340 Date: Mon Jun 20 11:59:57 2011 +0800
342 Update VS 2010 property sheet
344 Make up for missed backslash
346 build/win32/vs10/json-glib.props | 2 +-
347 1 files changed, 1 insertions(+), 1 deletions(-)
349 commit 230801c694169e50ca45df7df431adbdb89cab18
350 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
351 Date: Mon Jun 20 11:58:03 2011 +0800
353 Refine Visual C++ 2010 projects
355 Should have realized that my previous commit on Visual C++ 2010 projects
356 (refinement) can be consolidated into the property sheet...
358 build/win32/vs10/array.vcxproj | 8 --------
359 build/win32/vs10/boxed.vcxproj | 8 --------
360 build/win32/vs10/builder.vcxproj | 8 --------
361 build/win32/vs10/generator.vcxproj | 8 --------
362 build/win32/vs10/gvariant.vcxproj | 10 +---------
363 build/win32/vs10/json-glib.props | 2 +-
364 build/win32/vs10/json-glib.vcxprojin | 8 --------
365 build/win32/vs10/node.vcxproj | 10 +---------
366 build/win32/vs10/object.vcxproj | 10 +---------
367 build/win32/vs10/parser.vcxproj | 10 +---------
368 build/win32/vs10/path.vcxproj | 10 +---------
369 build/win32/vs10/reader.vcxproj | 8 --------
370 build/win32/vs10/serialize-complex.vcxproj | 8 --------
371 build/win32/vs10/serialize-full.vcxproj | 8 --------
372 build/win32/vs10/serialize-simple.vcxproj | 8 --------
373 15 files changed, 6 insertions(+), 118 deletions(-)
375 commit d6fdf92ee000666ceb7892151673b4b56517cdd9
376 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
377 Date: Mon Jun 20 01:11:18 2011 +0800
379 Further refinements to Visual C++ 2010 projects
381 -Seperate the intermediate folders for each configuration so that MSB6003
382 (cannot write into MSBuild log file as file is in use) errors and other
383 related MSBuild errors can be avoided, and will avoid rebuilding/relinking
384 projects when no sources are changed.
386 -Fixed dependencies for the "install" project
388 build/win32/vs10/array.vcxproj | 8 ++++++--
389 build/win32/vs10/boxed.vcxproj | 8 ++++++--
390 build/win32/vs10/builder.vcxproj | 8 ++++++--
391 build/win32/vs10/generator.vcxproj | 8 ++++++--
392 build/win32/vs10/gvariant.vcxproj | 9 ++++++++-
393 build/win32/vs10/install.vcxproj | 18 +++++++++---------
394 build/win32/vs10/json-glib.vcxprojin | 8 ++++++--
395 build/win32/vs10/node.vcxproj | 8 ++++++--
396 build/win32/vs10/object.vcxproj | 8 ++++++--
397 build/win32/vs10/parser.vcxproj | 8 ++++++--
398 build/win32/vs10/path.vcxproj | 9 ++++++++-
399 build/win32/vs10/reader.vcxproj | 8 ++++++--
400 build/win32/vs10/serialize-complex.vcxproj | 8 ++++++--
401 build/win32/vs10/serialize-full.vcxproj | 8 ++++++--
402 build/win32/vs10/serialize-simple.vcxproj | 8 ++++++--
403 15 files changed, 97 insertions(+), 35 deletions(-)
405 commit 8518effca75d2249b8186083b950644ba4098d47
406 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
407 Date: Mon Jun 20 00:13:29 2011 +0800
409 VS 2008 project files update
411 Update RootNamespace as well for consistency sake.
413 Thanks to Emmanuele for updating the VS9 projects earlier due to the
414 changes in the filenames of the test sources
416 build/win32/vs9/array.vcproj | 2 +-
417 build/win32/vs9/boxed.vcproj | 2 +-
418 build/win32/vs9/builder.vcproj | 2 +-
419 build/win32/vs9/generator.vcproj | 2 +-
420 build/win32/vs9/gvariant.vcproj | 2 +-
421 build/win32/vs9/node.vcproj | 2 +-
422 build/win32/vs9/object.vcproj | 2 +-
423 build/win32/vs9/parser.vcproj | 2 +-
424 build/win32/vs9/path.vcproj | 2 +-
425 build/win32/vs9/reader.vcproj | 2 +-
426 10 files changed, 10 insertions(+), 10 deletions(-)
428 commit 49ecbb4e2449ad55623fb46a0072fd1fbaf837e1
429 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
430 Date: Mon Jun 20 00:04:30 2011 +0800
432 Update VS2010 project files
434 -Reflect on the change of filenames of test sources, and updated dist
436 -Clean up projects a little bit.
438 build/win32/vs10/Makefile.am | 36 +++---
439 build/win32/vs10/array-test.vcxproj | 172 ----------------------
440 build/win32/vs10/array-test.vcxproj.filters | 14 --
441 build/win32/vs10/array.vcxproj | 171 ++++++++++++++++++++++
442 build/win32/vs10/array.vcxproj.filters | 14 ++
443 build/win32/vs10/boxed.vcxproj | 1 -
444 build/win32/vs10/builder-test.vcxproj | 172 ----------------------
445 build/win32/vs10/builder-test.vcxproj.filters | 14 --
446 build/win32/vs10/builder.vcxproj | 171 ++++++++++++++++++++++
447 build/win32/vs10/builder.vcxproj.filters | 14 ++
448 build/win32/vs10/generator-test.vcxproj | 172 ----------------------
449 build/win32/vs10/generator-test.vcxproj.filters | 14 --
450 build/win32/vs10/generator.vcxproj | 171 ++++++++++++++++++++++
451 build/win32/vs10/generator.vcxproj.filters | 14 ++
452 build/win32/vs10/gvariant-test.vcxproj | 159 ---------------------
453 build/win32/vs10/gvariant-test.vcxproj.filters | 14 --
454 build/win32/vs10/gvariant.vcxproj | 159 +++++++++++++++++++++
455 build/win32/vs10/gvariant.vcxproj.filters | 14 ++
456 build/win32/vs10/install.vcxproj | 1 -
457 build/win32/vs10/json-glib.props | 1 -
458 build/win32/vs10/json-glib.sln | 18 ++--
459 build/win32/vs10/json-glib.vcxprojin | 1 -
460 build/win32/vs10/node-test.vcxproj | 172 ----------------------
461 build/win32/vs10/node-test.vcxproj.filters | 14 --
462 build/win32/vs10/node.vcxproj | 171 ++++++++++++++++++++++
463 build/win32/vs10/node.vcxproj.filters | 14 ++
464 build/win32/vs10/object-test.vcxproj | 172 ----------------------
465 build/win32/vs10/object-test.vcxproj.filters | 13 --
466 build/win32/vs10/object.vcxproj | 171 ++++++++++++++++++++++
467 build/win32/vs10/object.vcxproj.filters | 13 ++
468 build/win32/vs10/parser-test.vcxproj | 172 ----------------------
469 build/win32/vs10/parser-test.vcxproj.filters | 14 --
470 build/win32/vs10/parser.vcxproj | 171 ++++++++++++++++++++++
471 build/win32/vs10/parser.vcxproj.filters | 14 ++
472 build/win32/vs10/path-test.vcxproj | 159 ---------------------
473 build/win32/vs10/path-test.vcxproj.filters | 14 --
474 build/win32/vs10/path.vcxproj | 159 +++++++++++++++++++++
475 build/win32/vs10/path.vcxproj.filters | 14 ++
476 build/win32/vs10/reader-test.vcxproj | 173 -----------------------
477 build/win32/vs10/reader-test.vcxproj.filters | 14 --
478 build/win32/vs10/reader.vcxproj | 172 ++++++++++++++++++++++
479 build/win32/vs10/reader.vcxproj.filters | 14 ++
480 build/win32/vs10/serialize-complex.vcxproj | 1 -
481 build/win32/vs10/serialize-full.vcxproj | 1 -
482 build/win32/vs10/serialize-simple.vcxproj | 1 -
483 45 files changed, 1668 insertions(+), 1682 deletions(-)
485 commit 54711b3e093e00457a355926516ba87c8171f17d
486 Author: Emmanuele Bassi <ebassi@gnome.org>
487 Date: Sun Jun 19 12:18:04 2011 +0100
489 build/vs9: Update after the changes in json-glib/tests
491 build/win32/vs9/Makefile.am | 24 +++---
492 build/win32/vs9/array-test.vcproj | 157 -------------------------------
493 build/win32/vs9/array.vcproj | 157 +++++++++++++++++++++++++++++++
494 build/win32/vs9/boxed.vcproj | 2 +-
495 build/win32/vs9/builder-test.vcproj | 157 -------------------------------
496 build/win32/vs9/builder.vcproj | 157 +++++++++++++++++++++++++++++++
497 build/win32/vs9/generator-test.vcproj | 157 -------------------------------
498 build/win32/vs9/generator.vcproj | 157 +++++++++++++++++++++++++++++++
499 build/win32/vs9/gvariant-test.vcproj | 147 -----------------------------
500 build/win32/vs9/gvariant.vcproj | 147 +++++++++++++++++++++++++++++
501 build/win32/vs9/json-glib.sln | 18 ++--
502 build/win32/vs9/node-test.vcproj | 157 -------------------------------
503 build/win32/vs9/node.vcproj | 157 +++++++++++++++++++++++++++++++
504 build/win32/vs9/object-test.vcproj | 155 ------------------------------
505 build/win32/vs9/object.vcproj | 155 ++++++++++++++++++++++++++++++
506 build/win32/vs9/parser-test.vcproj | 166 ---------------------------------
507 build/win32/vs9/parser.vcproj | 166 +++++++++++++++++++++++++++++++++
508 build/win32/vs9/path-test.vcproj | 147 -----------------------------
509 build/win32/vs9/path.vcproj | 147 +++++++++++++++++++++++++++++
510 build/win32/vs9/reader-test.vcproj | 158 -------------------------------
511 build/win32/vs9/reader.vcproj | 158 +++++++++++++++++++++++++++++++
512 21 files changed, 1423 insertions(+), 1423 deletions(-)
514 commit 78e896c64e8cbccf1b55291521f11a3f5093080a
515 Author: Emmanuele Bassi <ebassi@gnome.org>
516 Date: Sun Jun 19 12:08:03 2011 +0100
518 build: Rename test binaries
520 It's pointless to add the '-test' suffix to files under the tests/ directory.
522 json-glib/tests/Makefile.am | 18 +-
523 json-glib/tests/array-test.c | 122 ------
524 json-glib/tests/array.c | 122 ++++++
525 json-glib/tests/builder-test.c | 161 --------
526 json-glib/tests/builder.c | 161 ++++++++
527 json-glib/tests/generator-test.c | 330 ----------------
528 json-glib/tests/generator.c | 330 ++++++++++++++++
529 json-glib/tests/gvariant-test.c | 233 -----------
530 json-glib/tests/gvariant.c | 233 +++++++++++
531 json-glib/tests/node-test.c | 112 ------
532 json-glib/tests/node.c | 112 ++++++
533 json-glib/tests/object-test.c | 165 --------
534 json-glib/tests/object.c | 165 ++++++++
535 json-glib/tests/parser-test.c | 785 --------------------------------------
536 json-glib/tests/parser.c | 785 ++++++++++++++++++++++++++++++++++++++
537 json-glib/tests/path-test.c | 143 -------
538 json-glib/tests/path.c | 143 +++++++
539 json-glib/tests/reader-test.c | 134 -------
540 json-glib/tests/reader.c | 134 +++++++
541 19 files changed, 2194 insertions(+), 2194 deletions(-)
543 commit cef1f16cec529eeb03338f995a8b3d32b262df8b
544 Author: Emmanuele Bassi <ebassi@gnome.org>
545 Date: Sun Jun 19 12:00:01 2011 +0100
547 docs: Add index for symbols added in the 0.13 cycle
549 doc/reference/json-glib-docs.xml | 5 +++++
550 1 files changed, 5 insertions(+), 0 deletions(-)
552 commit cc2543e101ca8fa41989bc8eb296f8d11b5b9cad
553 Author: Emmanuele Bassi <ebassi@linux.intel.com>
554 Date: Wed Jun 15 11:30:28 2011 +0100
556 build: Add tar-ustar and silent-rules automake options
558 The tar-ustar format allows longer file names and other niceties —
559 though a format ratified in a standard from 1988 is still judged as
560 "possibly not widespread enough". I weep for the future of humanity
561 and software engineering.
563 The silent-rules option is just added to avoid using AM_SILENT_RULES()
567 1 files changed, 1 insertions(+), 2 deletions(-)
569 commit c106aa5b0fc0ca408328b95ba721eef6a9d560d2
570 Author: Emmanuele Bassi <ebassi@linux.intel.com>
571 Date: Wed Jun 15 11:12:38 2011 +0100
573 Post-release version bump to 0.13.5
576 1 files changed, 1 insertions(+), 1 deletions(-)
578 commit 02b3ee77a35624a3d6e478ae3700100cb24bf18f
579 Author: Emmanuele Bassi <ebassi@linux.intel.com>
580 Date: Wed Jun 15 11:08:37 2011 +0100
582 Release JSON-GLib 0.13.4
586 2 files changed, 7 insertions(+), 1 deletions(-)
588 commit f37878ec1759283f78a6d580c1f78e9039717862
589 Author: Emmanuele Bassi <ebassi@linux.intel.com>
590 Date: Wed Jun 15 11:08:12 2011 +0100
592 docs: Fix API reference missing symbols
594 doc/reference/json-glib-sections.txt | 4 ++++
595 json-glib/json-gobject.h | 6 ++++++
596 2 files changed, 10 insertions(+), 0 deletions(-)
598 commit c994a9bfdc13aba1b7c5fd019853c68fb38148a6
599 Author: Emmanuele Bassi <ebassi@linux.intel.com>
600 Date: Thu Jun 9 17:23:04 2011 +0100
602 Remove G_CONST_RETURN usage
606 https://bugzilla.gnome.org/show_bug.cgi?id=644611
608 The macro is going to be deprecated soon.
610 json-glib/json-array.c | 2 +-
611 json-glib/json-node.c | 6 +++---
612 json-glib/json-object.c | 2 +-
613 json-glib/json-reader.c | 6 +++---
614 json-glib/json-reader.h | 6 +++---
615 json-glib/json-types-private.h | 2 +-
616 json-glib/json-types.h | 8 ++++----
617 7 files changed, 16 insertions(+), 16 deletions(-)
619 commit 74bb5d61a737cceffd04c8d9ae8d5db390eda5a2
620 Author: Emmanuele Bassi <ebassi@linux.intel.com>
621 Date: Fri Jun 3 11:46:05 2011 +0100
623 Use the new atomic functions for refcounting
625 The newly added g_atomic_int_dec_and_test() simplified the logic for
626 unreffing Object and Array.
628 json-glib/json-array.c | 9 ++-------
629 json-glib/json-object.c | 9 ++-------
630 2 files changed, 4 insertions(+), 14 deletions(-)
632 commit 4f83868e3a18adac809aff111c5df5ff7af8fedf
633 Author: Emmanuele Bassi <ebassi@linux.intel.com>
634 Date: Fri Jun 3 11:18:27 2011 +0100
636 build: Remove deprecation disabling for GLib
638 json-glib/Makefile.am | 1 -
639 1 files changed, 0 insertions(+), 1 deletions(-)
641 commit 65a95198a4a1bca7b418af1639c4bb24b09947c5
642 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
643 Date: Fri Jun 3 15:32:55 2011 +0800
645 Visual C++ support: projects for JSONPath test
647 Added projects to build test program for JSONPath (path-test.c)
649 build/win32/vs10/Makefile.am | 2 +
650 build/win32/vs10/install.vcxproj | 8 ++
651 build/win32/vs10/json-glib.sln | 26 +++--
652 build/win32/vs10/path-test.vcxproj | 159 ++++++++++++++++++++++++++++
653 build/win32/vs10/path-test.vcxproj.filters | 14 +++
654 build/win32/vs9/Makefile.am | 1 +
655 build/win32/vs9/json-glib.sln | 30 ++++--
656 build/win32/vs9/path-test.vcproj | 147 +++++++++++++++++++++++++
657 8 files changed, 371 insertions(+), 16 deletions(-)
659 commit 16bc9cccd32f4e1c7e9fc0da128aef969d0563b0
660 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
661 Date: Fri Jun 3 15:01:16 2011 +0800
663 Update config.h.win32.in
665 Added definition of GETTEXT_PACKAGE due to the addition of the i18n
666 machinery (commit 67edce08670ce1da4956f87948985434ac5ae2ca)
668 build/win32/config.h.win32.in | 3 +++
669 1 files changed, 3 insertions(+), 0 deletions(-)
671 commit d93260c477930140f2ecf2927bd9f2a2d7f4f905
672 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
673 Date: Fri Jun 3 14:47:42 2011 +0800
675 Update VS property sheets
677 -Add json-path.h to the list of headers to be copied in the "install" stage
679 build/win32/vs10/json-glib.props | 2 ++
680 build/win32/vs9/json-glib.vsprops | 1 +
681 2 files changed, 3 insertions(+), 0 deletions(-)
683 commit c3b367ca8bac245712f8390acab1b38a314972a9
684 Author: Emmanuele Bassi <ebassi@linux.intel.com>
685 Date: Wed Jun 1 17:10:17 2011 +0100
687 serializable: Fix introspection annotations
689 json-glib/json-serializable.c | 25 +++++++++++++++++++++++++
690 1 files changed, 25 insertions(+), 0 deletions(-)
692 commit aee5a7fbb70e5cb714bcfef79a96c000f62e80db
693 Author: Emmanuele Bassi <ebassi@linux.intel.com>
694 Date: Wed Jun 1 17:01:02 2011 +0100
700 replaced by json-glib.doap
703 empty, and not necessary with the foreign automake option
708 configure.ac | 5 +++--
709 4 files changed, 3 insertions(+), 12 deletions(-)
711 commit 1d4cdb76b6f97c723dd6e4c634bacc52d3199999
712 Author: Emmanuele Bassi <ebassi@linux.intel.com>
713 Date: Wed Jun 1 13:35:16 2011 +0100
715 Update the ignore file for the po directory
718 1 files changed, 1 insertions(+), 0 deletions(-)
720 commit 8863766ca4792383dad0e48550f8fb79d4c104e4
721 Author: Emmanuele Bassi <ebassi@linux.intel.com>
722 Date: Wed Jun 1 13:21:32 2011 +0100
724 Mark GError messages for translations
726 These errors might find their way into a UI.
728 json-glib/json-gobject.c | 4 ++--
729 json-glib/json-gvariant.c | 40 ++++++++++++++++++----------------------
730 json-glib/json-parser.c | 5 ++++-
731 json-glib/json-path.c | 13 +++++++------
732 json-glib/json-reader.c | 20 ++++++++++----------
733 5 files changed, 41 insertions(+), 41 deletions(-)
735 commit 67edce08670ce1da4956f87948985434ac5ae2ca
736 Author: Emmanuele Bassi <ebassi@linux.intel.com>
737 Date: Wed Jun 1 13:09:01 2011 +0100
741 We need to translate the GError messages.
745 build/autotools/Makefile.am | 1 +
746 build/autotools/as-linguas.m4 | 24 ++++++++++++++++++++++++
747 configure.ac | 12 ++++++++++++
748 json-glib/json-gobject.c | 2 ++
749 json-glib/json-gvariant.c | 6 ++++++
750 json-glib/json-parser.c | 2 ++
751 json-glib/json-path.c | 4 +++-
752 json-glib/json-reader.c | 2 ++
753 po/.gitignore | 13 +++++++++++++
754 po/Makevars | 7 +++++++
755 po/POTFILES.in | 6 ++++++
756 13 files changed, 81 insertions(+), 2 deletions(-)
758 commit e3b5883d4435da7fe677eb9a7c74d2f83980f5da
759 Author: Emmanuele Bassi <ebassi@linux.intel.com>
760 Date: Wed Jun 1 12:49:28 2011 +0100
762 gobject: Do not serialize default values
764 If a property is set to its default value then we can skip its
765 serialization, to keep the number of JSON object members down.
767 json-glib/json-gobject.c | 7 +++++++
768 1 files changed, 7 insertions(+), 0 deletions(-)
770 commit 8c424cc133575282371bff8d17295662267049e9
771 Author: Emmanuele Bassi <ebassi@linux.intel.com>
772 Date: Wed Jun 1 12:48:20 2011 +0100
774 tests/serialize-complex: Modify the instance
776 Do not test the defaults: create the GObject instance with different
777 values than the default ones from the GParamSpec.
779 json-glib/tests/serialize-complex.c | 22 +++++++++++-----------
780 1 files changed, 11 insertions(+), 11 deletions(-)
782 commit 96b1e6b50f355c04e794ad7366bd33b9c3d1f81b
783 Author: Emmanuele Bassi <ebassi@linux.intel.com>
784 Date: Wed Jun 1 12:35:58 2011 +0100
786 serializable: Allow introspecting properties
788 This allows a Serializable implementation to override the property list,
789 and the setter and the getter function.
791 json-glib/json-gobject.c | 43 +++++++++++++++++-----
792 json-glib/json-gobject.h | 22 +++++++++++
793 json-glib/json-serializable.c | 81 +++++++++++++++++++++++++++++++++++++++++
794 3 files changed, 137 insertions(+), 9 deletions(-)
796 commit c85fc93f6235b8b9d584585215b2fa860f07f2c3
797 Author: Emmanuele Bassi <ebassi@linux.intel.com>
798 Date: Wed Jun 1 12:36:08 2011 +0100
800 Revert "path: Add some more validation points"
802 This reverts commit e8fa85705e48d03742eb351addbad53be4d8e60b.
804 The validation broke the test suite; it'll need some more work.
806 json-glib/json-path.c | 77 +++++++++++++-----------------------------------
807 1 files changed, 21 insertions(+), 56 deletions(-)
809 commit e8fa85705e48d03742eb351addbad53be4d8e60b
810 Author: Emmanuele Bassi <ebassi@linux.intel.com>
811 Date: Wed Jun 1 07:55:17 2011 +0100
813 path: Add some more validation points
815 Especially for the slice syntax.
817 json-glib/json-path.c | 77 +++++++++++++++++++++++++++++++++++-------------
818 1 files changed, 56 insertions(+), 21 deletions(-)
820 commit 295c469329d040b4d311e9c295bec908856190d6
821 Author: Emmanuele Bassi <ebassi@linux.intel.com>
822 Date: Wed Jun 1 07:54:48 2011 +0100
824 symbols: Add JsonPath public entry points
826 json-glib/json-glib.symbols | 6 ++++++
827 1 files changed, 6 insertions(+), 0 deletions(-)
829 commit 257209ab47ebcbf36006dd3aa3fcee5545381c6f
830 Author: Emmanuele Bassi <ebassi@linux.intel.com>
831 Date: Wed Jun 1 07:54:26 2011 +0100
833 docs: Document JsonPath and add it to the API reference
835 doc/reference/json-glib-docs.xml | 3 +-
836 doc/reference/json-glib-sections.txt | 20 ++++
837 doc/reference/json-glib.types | 1 +
838 json-glib/json-path.c | 174 +++++++++++++++++++++++++++++++++-
839 4 files changed, 195 insertions(+), 3 deletions(-)
841 commit ac89bb7fc7491019f8baa687a785eeb93af7213e
842 Merge: b5bd477 4ea8cd4
843 Author: Emmanuele Bassi <ebassi@linux.intel.com>
844 Date: Tue May 31 23:16:10 2011 +0100
846 Merge branch 'wip/json-path'
849 Add initial JSONPath implementation
851 commit 4ea8cd43986d5888fb8e809a198d6b0331b12480
852 Author: Emmanuele Bassi <ebassi@gnome.org>
853 Date: Sat May 28 14:36:43 2011 +0100
855 Add initial JSONPath implementation
857 JSONPath is a JSON query syntax similar to what XPath does for XML;
858 using JSONPath it's possible to address a specific node (or set of
859 nodes) inside a JSON document.
861 The JsonPath class is a simple implementation of part of the JSONPath
862 proposal, as formalised by Stefan Gössner here:
864 http://goessner.net/articles/JsonPath/
866 The covered operators are:
869 • child, both using the dot-notation and the bracket notation;
870 • recursive descent, or '..';
871 • subscript, or '[]';
873 • slice, or '[start:end:step]'.
875 The only missing operators are the filter, or '?()' and the script,
876 or '()', because implementing a JavaScript interpreter inside JSON-GLib
877 is not one of my greatest aspirations. It should be possible, though,
878 to parse and evaluate simple arithmetic conditions, in the future.
880 The JsonPath methods are pretty straightforward: a JsonPath instance
881 should be created and used to compile an expression; the compilation
882 might result in a syntax error or not. Then, the JsonPath instance can
883 be used to match any JSON tree. Like the other JSONPath implementations,
884 JsonPath returns a JSON array of matching nodes.
886 A simple, one-off static method called json_path_query() is also
887 provided; the method wraps the JsonPath creation, the expression
888 compilation, and the matching, as well as disposing the JsonPath
891 For the time being, only positive testing is provided; negative testing
892 for the expression compilation will follow.
894 json-glib/Makefile.am | 2 +
895 json-glib/json-debug.c | 3 +-
896 json-glib/json-debug.h | 3 +-
897 json-glib/json-glib.h | 1 +
898 json-glib/json-path.c | 856 +++++++++++++++++++++++++++++++++++++++++++
899 json-glib/json-path.h | 97 +++++
900 json-glib/tests/Makefile.am | 1 +
901 json-glib/tests/path-test.c | 143 +++++++
902 8 files changed, 1104 insertions(+), 2 deletions(-)
904 commit b5bd47727c960990ba98902ee2d7099491a4178a
905 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
906 Date: Mon May 30 14:26:54 2011 +0800
908 Add/update Visual C++ projects for GVariant API
910 -Added/dist VS 2008/2010 projects to compile the gvariant-test test program
911 (yes, the gvariant-test program passes in the 32-bit and 64-bit modes)
912 -Updated property sheet to "install" the "new" json-gvariant.h
914 build/win32/vs10/Makefile.am | 2 +
915 build/win32/vs10/gvariant-test.vcxproj | 159 ++++++++++++++++++++++++
916 build/win32/vs10/gvariant-test.vcxproj.filters | 14 ++
917 build/win32/vs10/json-glib.props | 2 +
918 build/win32/vs10/json-glib.sln | 10 ++
919 build/win32/vs9/Makefile.am | 1 +
920 build/win32/vs9/gvariant-test.vcproj | 147 ++++++++++++++++++++++
921 build/win32/vs9/json-glib.sln | 14 ++
922 build/win32/vs9/json-glib.vsprops | 1 +
923 9 files changed, 350 insertions(+), 0 deletions(-)
925 commit 3a1d817fd39b4b4d2bdbc93257be535c5b29780f
926 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
927 Date: Mon May 30 13:07:53 2011 +0800
929 Update json-glib.symbols
931 Added the JSON-GLib gvariant-related APIs.
933 json-glib/json-glib.symbols | 4 ++++
934 1 files changed, 4 insertions(+), 0 deletions(-)
936 commit 1b7f20fe88a6647e61964db063eba071114a6f66
937 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
938 Date: Mon May 30 12:53:47 2011 +0800
940 Update $(srcroot)/Makefile.am
942 Due to changes to this file in commit
943 4e41d26586991d2977c846fa4871b6df39fe4106, change the order of SUBDIRS
944 so that "make dist" will properly run.
946 This has been checked with "make distcheck" on Fedora 15
949 1 files changed, 1 insertions(+), 1 deletions(-)
951 commit 54172e25e8b62075f0aef98d21e17619466ff30f
952 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
953 Date: Mon May 30 11:55:06 2011 +0800
955 Update Visual C++ Project Files
957 Update the dist part too...
959 build/win32/vs10/Makefile.am | 16 ++++++++--------
960 build/win32/vs9/Makefile.am | 8 ++++----
961 2 files changed, 12 insertions(+), 12 deletions(-)
963 commit 0715050a5a76f187f66f14288a8f3444a4eb49e4
964 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
965 Date: Mon May 30 11:53:04 2011 +0800
967 Update VS 2008/2010 Project Files
969 Due to the changes in the location/names of some test programs in
970 commit 4e41d26586991d2977c846fa4871b6df39fe4106, update the VS
973 build/win32/vs10/boxed.vcxproj | 172 ++++++++++++++++++++
974 build/win32/vs10/boxed.vcxproj.filters | 14 ++
975 build/win32/vs10/install.vcxproj | 8 +-
976 build/win32/vs10/json-glib.sln | 8 +-
977 build/win32/vs10/serialize-complex.vcxproj | 171 +++++++++++++++++++
978 build/win32/vs10/serialize-complex.vcxproj.filters | 14 ++
979 build/win32/vs10/serialize-full.vcxproj | 172 ++++++++++++++++++++
980 build/win32/vs10/serialize-full.vcxproj.filters | 14 ++
981 build/win32/vs10/serialize-simple.vcxproj | 171 +++++++++++++++++++
982 build/win32/vs10/serialize-simple.vcxproj.filters | 14 ++
983 build/win32/vs10/test-serialize-boxed.vcxproj | 172 --------------------
984 .../vs10/test-serialize-boxed.vcxproj.filters | 14 --
985 build/win32/vs10/test-serialize-complex.vcxproj | 171 -------------------
986 .../vs10/test-serialize-complex.vcxproj.filters | 14 --
987 build/win32/vs10/test-serialize-full.vcxproj | 172 --------------------
988 .../win32/vs10/test-serialize-full.vcxproj.filters | 14 --
989 build/win32/vs10/test-serialize-simple.vcxproj | 171 -------------------
990 .../vs10/test-serialize-simple.vcxproj.filters | 14 --
991 build/win32/vs9/boxed.vcproj | 157 ++++++++++++++++++
992 build/win32/vs9/json-glib.sln | 8 +-
993 build/win32/vs9/serialize-complex.vcproj | 156 ++++++++++++++++++
994 build/win32/vs9/serialize-full.vcproj | 157 ++++++++++++++++++
995 build/win32/vs9/serialize-simple.vcproj | 156 ++++++++++++++++++
996 build/win32/vs9/test-serialize-boxed.vcproj | 157 ------------------
997 build/win32/vs9/test-serialize-complex.vcproj | 156 ------------------
998 build/win32/vs9/test-serialize-full.vcproj | 157 ------------------
999 build/win32/vs9/test-serialize-simple.vcproj | 156 ------------------
1000 27 files changed, 1380 insertions(+), 1380 deletions(-)
1002 commit 8b778252358ddb28936c6c9192a84f76368ca122
1003 Author: Emmanuele Bassi <ebassi@gnome.org>
1004 Date: Sat May 28 11:38:18 2011 +0100
1006 tests: Fix up the JsonBuilder test
1008 Clean up some odd code, and add a unit for the empty object case outlined
1011 json-glib/tests/builder-test.c | 52 +++++++++++++++++++++++++++++++++++----
1012 1 files changed, 46 insertions(+), 6 deletions(-)
1014 commit d784cc6825607c517d7565049108d1f908a1d71b
1015 Author: Emmanuele Bassi <ebassi@gnome.org>
1016 Date: Sat May 28 11:36:55 2011 +0100
1018 builder: Initialize state fields
1020 If we're calling g_free() on a field we better make sure that it's either
1021 NULL or contains valid data.
1023 https://bugzilla.gnome.org/show_bug.cgi?id=651271
1025 json-glib/json-builder.c | 1 +
1026 1 files changed, 1 insertions(+), 0 deletions(-)
1028 commit e20a8b0faeb45d1ae2f1bd12d49d31d12e357b24
1029 Author: Alexandre Mazari <scaroo@gmail.com>
1030 Date: Tue Mar 22 17:28:55 2011 +0100
1032 gvariant: Fix introspection annotation
1034 The 'signature' arguments of the json_gvariant_deserialize functions are
1037 Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
1039 json-glib/json-gvariant.c | 4 ++--
1040 1 files changed, 2 insertions(+), 2 deletions(-)
1042 commit 4e41d26586991d2977c846fa4871b6df39fe4106
1043 Author: Emmanuele Bassi <ebassi@gnome.org>
1044 Date: Sat May 28 11:05:57 2011 +0100
1046 tests: Move all tests under json-glib
1048 The test framework should live under the json-glib directory, and not be
1049 spread across the project.
1053 json-glib/tests/Makefile.am | 53 ++---
1054 json-glib/tests/boxed.c | 264 +++++++++++++++++++++++
1055 json-glib/tests/serialize-complex.c | 293 +++++++++++++++++++++++++
1056 json-glib/tests/serialize-full.c | 402 +++++++++++++++++++++++++++++++++++
1057 json-glib/tests/serialize-simple.c | 166 ++++++++++++++
1058 tests/Makefile.am | 34 ---
1059 tests/test-serialize-boxed.c | 264 -----------------------
1060 tests/test-serialize-complex.c | 293 -------------------------
1061 tests/test-serialize-full.c | 402 -----------------------------------
1062 tests/test-serialize-simple.c | 166 --------------
1063 12 files changed, 1142 insertions(+), 1203 deletions(-)
1065 commit 8d98b99b945423085232d358492e97399c9fd071
1066 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1067 Date: Mon May 23 09:39:20 2011 +0800
1069 Update Visual Studio property sheets
1071 -Make DLL/LIB versioning more like the autotools-compiled versions
1072 -"Install" the headers in a more consistent way like the autotools versions
1074 build/win32/vs10/json-glib.props | 26 +++++++++++++-------------
1075 build/win32/vs9/json-glib.vsprops | 32 ++++++++++++++++----------------
1076 2 files changed, 29 insertions(+), 29 deletions(-)
1078 commit 15221448b5998a071b72299c666044dd65ea97e3
1079 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1080 Date: Thu May 19 08:32:03 2011 +0100
1082 Add ignore file under build/win32
1084 build/win32/.gitignore | 4 ++++
1085 1 files changed, 4 insertions(+), 0 deletions(-)
1087 commit f4651885961bf3ccc8d475cdc86af051fe1101f6
1088 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1089 Date: Wed May 18 13:44:07 2011 +0100
1091 doap: Add the download-page resource
1093 json-glib.doap | 2 ++
1094 1 files changed, 2 insertions(+), 0 deletions(-)
1096 commit 8ef7da62a7575ebb04c69b9d98fd24efb840ab3b
1097 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1098 Date: Wed May 18 13:39:38 2011 +0100
1100 Post-release version bump to 0.13.3
1103 1 files changed, 1 insertions(+), 1 deletions(-)
1105 commit aa793a4fbcc4d44d367ba84d3782823885fec045
1106 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1107 Date: Wed May 18 13:37:38 2011 +0100
1109 Release JSON-GLib 0.13.2 (snapshot)
1111 NEWS | 12 ++++++++++++
1113 2 files changed, 13 insertions(+), 1 deletions(-)
1115 commit 595bdd9cc160f10edefb9e54f45cb4727f39ac24
1116 Merge: 46a8e57 d3db7ac
1117 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1118 Date: Wed May 4 01:47:14 2011 +0800
1120 Merge branch 'master' into msvc-patch
1122 commit d3db7acc1f53491b6dd9637991a1eaf8bb5c5002
1123 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
1124 Date: Tue May 3 00:20:12 2011 +0900
1126 Fixed json_deserialize_pspec() to handle null nodes.
1128 This fixes deserialization to match serialization (bug 648539)
1130 json-glib/json-gobject.c | 14 +++++++++++++-
1131 1 files changed, 13 insertions(+), 1 deletions(-)
1133 commit 9824a32a803bd194208d460068ce5ba91d776686
1134 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
1135 Date: Sat Apr 23 18:15:37 2011 +0900
1137 Warn from json_gobject_deserialize() if a listed property cannot be deserialized.
1139 json-glib/json-gobject.c | 3 +++
1140 1 files changed, 3 insertions(+), 0 deletions(-)
1142 commit 254e8e969968e7ed5f594238a980b20c6fabc46e
1143 Author: Bastien Nocera <hadess@hadess.net>
1144 Date: Thu Apr 21 02:29:53 2011 +0100
1146 reader: Fix bug in example usage
1148 json-glib/json-reader.c | 2 +-
1149 1 files changed, 1 insertions(+), 1 deletions(-)
1151 commit 46a8e576f2fae9563219fcd72a9866826e684559
1152 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1153 Date: Wed Apr 13 00:34:05 2011 +0800
1155 VS 2010 Project Files (automation support included)
1157 These are the VS 2010 project files to build JSON-GLib
1158 and its test programs. The project for building the main JSON-GLib
1159 DLL has its source files input into it by the preprocessor during
1160 "make dist", like the VS2008 project files, simplifying its maintenance.
1162 build/win32/vs10/array-test.vcxproj | 172 +++++++++++++++++
1163 build/win32/vs10/array-test.vcxproj.filters | 14 ++
1164 build/win32/vs10/builder-test.vcxproj | 172 +++++++++++++++++
1165 build/win32/vs10/builder-test.vcxproj.filters | 14 ++
1166 build/win32/vs10/generator-test.vcxproj | 172 +++++++++++++++++
1167 build/win32/vs10/generator-test.vcxproj.filters | 14 ++
1168 build/win32/vs10/install.vcxproj | 149 +++++++++++++++
1169 build/win32/vs10/json-glib.props | 123 ++++++++++++
1170 build/win32/vs10/json-glib.sln | 146 +++++++++++++++
1171 build/win32/vs10/json-glib.vcxproj.filtersin | 20 ++
1172 build/win32/vs10/json-glib.vcxprojin | 196 ++++++++++++++++++++
1173 build/win32/vs10/node-test.vcxproj | 172 +++++++++++++++++
1174 build/win32/vs10/node-test.vcxproj.filters | 14 ++
1175 build/win32/vs10/object-test.vcxproj | 172 +++++++++++++++++
1176 build/win32/vs10/object-test.vcxproj.filters | 13 ++
1177 build/win32/vs10/parser-test.vcxproj | 172 +++++++++++++++++
1178 build/win32/vs10/parser-test.vcxproj.filters | 14 ++
1179 build/win32/vs10/reader-test.vcxproj | 173 +++++++++++++++++
1180 build/win32/vs10/reader-test.vcxproj.filters | 14 ++
1181 build/win32/vs10/test-serialize-boxed.vcxproj | 172 +++++++++++++++++
1182 .../vs10/test-serialize-boxed.vcxproj.filters | 14 ++
1183 build/win32/vs10/test-serialize-complex.vcxproj | 171 +++++++++++++++++
1184 .../vs10/test-serialize-complex.vcxproj.filters | 14 ++
1185 build/win32/vs10/test-serialize-full.vcxproj | 172 +++++++++++++++++
1186 .../win32/vs10/test-serialize-full.vcxproj.filters | 14 ++
1187 build/win32/vs10/test-serialize-simple.vcxproj | 171 +++++++++++++++++
1188 .../vs10/test-serialize-simple.vcxproj.filters | 14 ++
1189 27 files changed, 2678 insertions(+), 0 deletions(-)
1191 commit 6c74292e66be25840612d7ee6871f1668010eada
1192 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1193 Date: Wed Apr 13 00:30:38 2011 +0800
1195 Updates to MSVC pre-configured headers
1197 Add automation support for config.h.win32(.in), so config.h.win32
1198 will be distributed with the correct version info during "make dist"
1200 Also eliminate json-version.h.win32 as it is no longer needed (distribute
1201 json-version.h during "make dist")
1203 build/win32/config.h.win32 | 61 -----------------------
1204 build/win32/config.h.win32.in | 61 +++++++++++++++++++++++
1205 build/win32/json-version.h.win32 | 100 --------------------------------------
1206 3 files changed, 61 insertions(+), 161 deletions(-)
1208 commit a7bdf87ec150ac7a88a850190fa79359197e552e
1209 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1210 Date: Wed Apr 13 00:26:35 2011 +0800
1212 MSVC Support with automation added (autotools part)
1214 This updates the autotools files so that the project to compile the main
1215 JSON-GLib DLL will have its source files filed into the project during
1216 "make dist". Plus, it enables the creation/distribution of json-version.h
1217 and config.h.win32 with the correct version info during "make dist".
1219 These changes will simplify the maintenance of the VS project files,
1220 and support for VS2010 is also added here, with similar automation support,
1224 build/win32/Makefile.am | 4 ++--
1225 build/win32/vs10/Makefile.am | 33 +++++++++++++++++++++++++++++++++
1226 build/win32/vs9/Makefile.am | 1 +
1228 json-glib/Makefile.am | 39 ++++++++++++++++++++++++++++++++++++++-
1229 6 files changed, 77 insertions(+), 4 deletions(-)
1231 commit 20fe28cfaa605e11c47fe53232b5dccfa47ddf8b
1232 Author: Chun-wei Fan <fanchunwei@src.gnome.org>
1233 Date: Wed Apr 13 00:02:48 2011 +0800
1235 Update VS 2008 Project Files
1237 Add automation support for the VS 2008 project files
1238 These are the updated VS 2008 Project files and property sheets
1239 themselves. x64 compiling support is also added
1241 build/win32/vs9/array-test.vcproj | 132 ++++-------
1242 build/win32/vs9/builder-test.vcproj | 134 ++++-------
1243 build/win32/vs9/generator-test.vcproj | 134 ++++-------
1244 build/win32/vs9/install.vcproj | 44 +++--
1245 build/win32/vs9/json-glib.sln | 115 +++++++++-
1246 build/win32/vs9/json-glib.vcproj | 317 -------------------------
1247 build/win32/vs9/json-glib.vcprojin | 204 ++++++++++++++++
1248 build/win32/vs9/json-glib.vsprops | 20 +-
1249 build/win32/vs9/node-test.vcproj | 134 ++++-------
1250 build/win32/vs9/object-test.vcproj | 134 ++++-------
1251 build/win32/vs9/parser-test.vcproj | 125 ++++------
1252 build/win32/vs9/reader-test.vcproj | 134 ++++-------
1253 build/win32/vs9/test-serialize-boxed.vcproj | 134 ++++-------
1254 build/win32/vs9/test-serialize-complex.vcproj | 134 ++++-------
1255 build/win32/vs9/test-serialize-full.vcproj | 134 ++++-------
1256 build/win32/vs9/test-serialize-simple.vcproj | 133 ++++-------
1257 16 files changed, 917 insertions(+), 1245 deletions(-)
1259 commit 61da54311018f7afedb5d1e8cbd88ae7a284714f
1260 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1261 Date: Tue Apr 12 08:53:26 2011 +0100
1263 doap: Fix the URI for Bugzilla
1265 JSON-GLib uses the GNOME Bugzilla instance.
1267 json-glib.doap | 19 +------------------
1268 1 files changed, 1 insertions(+), 18 deletions(-)
1270 commit 0ff8f784848ad34c37bd60ad92791c6f76944803
1271 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1272 Date: Tue Apr 12 08:41:20 2011 +0100
1274 build: List GIO in the json-glib pkgconfig file
1276 Building against JSON-GLib requires GIO.
1278 json-glib.pc.in | 2 +-
1279 1 files changed, 1 insertions(+), 1 deletions(-)
1281 commit 8b060cd9144990aae6531982bad66050fafcb658
1282 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1283 Date: Fri Apr 8 15:17:19 2011 +0100
1285 object: Use g_list_find_custom()
1287 Instead of manual iteration, let's use the function GList provides us.
1289 json-glib/json-object.c | 13 +++----------
1290 1 files changed, 3 insertions(+), 10 deletions(-)
1292 commit 2158cecee6fe1da8786afe2fad94d1098f879786
1293 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1294 Date: Wed Mar 23 11:35:28 2011 +0000
1296 build: Use AC_CANONICAL_HOST
1298 Since we check for the contents of the $host variable to detect
1299 compilation on/for win32, we should also be using the canonicalization
1300 facilities from autoconf.
1302 configure.ac | 20 +++++++++++---------
1303 1 files changed, 11 insertions(+), 9 deletions(-)
1305 commit 992d966572e3e498031578558ac307d0f4909246
1306 Author: Rob Taylor <rob.taylor@codethink.co.uk>
1307 Date: Tue Mar 15 09:09:11 2011 +0000
1309 gvariant: Pass NULL down the chain for *signature
1311 Some small internal change from passing the signature to a pointer to
1312 the signature down the call chain caused all the checks for
1313 signature==NULL to fail.
1315 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
1317 json-glib/json-gvariant.c | 2 +-
1318 1 files changed, 1 insertions(+), 1 deletions(-)
1320 commit af70f34b3fc46a4c464418ebd6a16d9a1f18af8a
1321 Author: Eduardo Lima Mitev <elima@igalia.com>
1322 Date: Thu Jan 27 16:58:48 2011 +0100
1324 generator: Removes blank spaces from generated JSON when not pretty-print
1326 https://bugzilla.gnome.org/show_bug.cgi?id=640729
1328 json-glib/json-generator.c | 35 +++++++++++------
1329 json-glib/tests/builder-test.c | 6 +-
1330 json-glib/tests/generator-test.c | 34 ++++++++--------
1331 json-glib/tests/gvariant-test.c | 78 +++++++++++++++++++-------------------
1332 4 files changed, 82 insertions(+), 71 deletions(-)
1334 commit 8bb22d7de00f15ef44cad502d757639d8a4e8973
1335 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1336 Date: Tue Feb 15 16:28:07 2011 +0000
1338 Fix introspection annotations
1340 json-glib/json-node.c | 7 ++++---
1341 json-glib/json-object.c | 4 ++--
1342 2 files changed, 6 insertions(+), 5 deletions(-)
1344 commit 217127545b07f93ac27e3f137d748d61a5e199da
1345 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1346 Date: Tue Feb 15 16:16:46 2011 +0000
1348 tests/object: Add a set_member() unit
1350 Verify that setting an object member multiple times does not lead to
1353 json-glib/tests/object-test.c | 29 +++++++++++++++++++++++++++++
1354 1 files changed, 29 insertions(+), 0 deletions(-)
1356 commit 1a633159a593c962233a5ef4660e31e60eed96d9
1357 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1358 Date: Tue Feb 15 16:12:38 2011 +0000
1360 object: Replace the name pointer in the members list
1362 When calling g_hash_table_replace() we also free the string holding the
1363 member name. This means that the const gchar* pointer we store inside
1364 the list of ordered member names now points to garbage - so if somebody
1365 tries to iterate over the members list it will get random values instead
1366 of a valid C string.
1368 Since we guaranteed insertion order, if we replace the contents of a
1369 JsonObject member we need to find the right pointer and replace it: just
1370 removing and prepending won't do.
1372 https://bugzilla.gnome.org/show_bug.cgi?id=642383
1374 json-glib/json-object.c | 21 +++++++++++++++++++++
1375 1 files changed, 21 insertions(+), 0 deletions(-)
1377 commit a125a724894a08a8d8053fdd2db92d0ad8e2dfd4
1378 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1379 Date: Sun Feb 6 23:10:54 2011 +0000
1383 Free the current_member string, and since we're destroying data we own
1384 let's do it inside the finalize implementation instead of the dispose
1387 json-glib/json-reader.c | 15 ++++++---------
1388 1 files changed, 6 insertions(+), 9 deletions(-)
1390 commit 2c5f4563c54fa273ffd8dbe02b60a12c4b54b977
1391 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1392 Date: Sun Feb 6 12:22:49 2011 +0000
1394 reader: Add accessor for the member name
1396 This should allow easy access to the member name during iteration.
1398 doc/reference/json-glib-sections.txt | 1 +
1399 json-glib/json-glib.symbols | 1 +
1400 json-glib/json-reader.c | 32 ++++++++++++++++++++++++++++++++
1401 json-glib/json-reader.h | 1 +
1402 json-glib/tests/reader-test.c | 1 +
1403 5 files changed, 36 insertions(+), 0 deletions(-)
1405 commit b2880f5a4dad07ff96a9b6578ffc5d677f75eb94
1406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1407 Date: Sun Feb 6 11:34:22 2011 +0000
1409 reader: Allow using read_element() on objects
1411 If we assume that a JSON object is just an array with a named mapping
1412 then the JsonReader API should be able to descend into objects using the
1413 same API used for arrays.
1415 This obviously is less useful than it sounds if we take a very strict
1416 interpretation of JSON objects as unordered string-to-value mappings; as
1417 the ordering is not guaranteed to be stable, parsers would be fairly
1418 weak against various JSON definitions.
1420 If the JSON format parsed is guaranteed to be stable then an integer
1421 offset might be an easy (albeit slightly less performant) way to access
1424 json-glib/json-reader.c | 67 +++++++++++++++++++++++++++++++----------
1425 json-glib/tests/reader-test.c | 6 ++++
1426 2 files changed, 57 insertions(+), 16 deletions(-)
1428 commit 74ed11db6da9839ce17b448d6d17103ea0734dda
1429 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1430 Date: Fri Feb 4 19:18:22 2011 +0000
1432 reader: Add list_members() method
1434 Allow retrieving a list of member names from the current cursor position
1435 of the JsonReader. It's useful if you're trying to inspect a JSON tree.
1437 doc/reference/json-glib-sections.txt | 1 +
1438 json-glib/json-glib.symbols | 1 +
1439 json-glib/json-reader.c | 46 ++++++++++++++++++++++++++++++++++
1440 json-glib/json-reader.h | 1 +
1441 json-glib/tests/reader-test.c | 19 ++++++++++++++
1442 5 files changed, 68 insertions(+), 0 deletions(-)
1444 commit eb14f92019bde75947a98f5578167af6b6a17974
1445 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1446 Date: Wed Jan 26 16:58:56 2011 +0000
1448 Coding style fixes and compiler warnings removal
1450 G_VARIANT_CLASS_DICTIONARY is a define; GCC complais loudly when trying
1451 to use a switch() on an enumeration type with case values not from the
1454 Plus: coding style in JSON-GLib is mostly the same as GTK+ and Clutter,
1455 so we should adhere to it.
1457 json-glib/json-gvariant.c | 67 ++++++++++++++++++++++++---------------------
1458 1 files changed, 36 insertions(+), 31 deletions(-)
1460 commit 212b243c07721242da3dc2c0e6dfe979f73ee5c6
1461 Author: Eduardo Lima Mitev <elima@igalia.com>
1462 Date: Tue Nov 9 16:45:30 2010 +0100
1464 gvariant: Adds JSON GVariant integration API, with docs and tests
1466 https://bugzilla.gnome.org/show_bug.cgi?id=632940
1468 doc/reference/json-glib-docs.xml | 1 +
1469 doc/reference/json-glib-sections.txt | 10 +
1470 json-glib/Makefile.am | 2 +
1471 json-glib/json-glib.h | 2 +
1472 json-glib/json-gvariant.c | 1296 ++++++++++++++++++++++++++++++++++
1473 json-glib/json-gvariant.h | 46 ++
1474 json-glib/tests/Makefile.am | 4 +
1475 json-glib/tests/gvariant-test.c | 233 ++++++
1476 8 files changed, 1594 insertions(+), 0 deletions(-)
1478 commit 822b6be848f3ad53ad113f0ce317b01f1a91a54f
1479 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1480 Date: Sat Jan 15 18:36:34 2011 +0000
1482 build: Do not dist a gzip tarball
1484 Use only bzip2, since it gives better compression ratios; the
1485 installation script on gnome.org will create a gzipped tarball by itself
1489 1 files changed, 1 insertions(+), 1 deletions(-)
1491 commit 7c07a6549df1ae1b4826bf40f70c62768ce7e35b
1492 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1493 Date: Mon Jan 10 11:56:32 2011 +0000
1495 build: Fix previous commit
1497 configure.ac | 7 +++++++
1498 1 files changed, 7 insertions(+), 0 deletions(-)
1500 commit bb67e146c9e883185d264e693cc4a07d1a60d191
1501 Author: Fan, Chun-wei <fanc999%40yahoo.com.tw>
1502 Date: Mon Jan 10 11:49:16 2011 +0000
1504 build: Add Visual C++ 2008 project files
1506 Integrate the files inside the build, though it's still not fully
1509 https://bugzilla.gnome.org/show_bug.cgi?id=635484
1511 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
1513 build/Makefile.am | 2 +-
1514 build/win32/Makefile.am | 3 +
1515 build/win32/config.h.win32 | 61 +++++
1516 build/win32/json-version.h.win32 | 100 ++++++++
1517 build/win32/vs9/Makefile.am | 19 ++
1518 build/win32/vs9/array-test.vcproj | 189 +++++++++++++++
1519 build/win32/vs9/builder-test.vcproj | 189 +++++++++++++++
1520 build/win32/vs9/generator-test.vcproj | 189 +++++++++++++++
1521 build/win32/vs9/install.vcproj | 71 ++++++
1522 build/win32/vs9/json-glib.sln | 80 +++++++
1523 build/win32/vs9/json-glib.vcproj | 317 +++++++++++++++++++++++++
1524 build/win32/vs9/json-glib.vsprops | 93 +++++++
1525 build/win32/vs9/node-test.vcproj | 189 +++++++++++++++
1526 build/win32/vs9/object-test.vcproj | 187 +++++++++++++++
1527 build/win32/vs9/parser-test.vcproj | 189 +++++++++++++++
1528 build/win32/vs9/reader-test.vcproj | 190 +++++++++++++++
1529 build/win32/vs9/test-serialize-boxed.vcproj | 189 +++++++++++++++
1530 build/win32/vs9/test-serialize-complex.vcproj | 188 +++++++++++++++
1531 build/win32/vs9/test-serialize-full.vcproj | 189 +++++++++++++++
1532 build/win32/vs9/test-serialize-simple.vcproj | 189 +++++++++++++++
1533 20 files changed, 2822 insertions(+), 1 deletions(-)
1535 commit c7cd46b8320157e223009aa2a7204461c7d301d5
1536 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1537 Date: Mon Jan 10 11:48:26 2011 +0000
1539 build: Add .symbols file for win32 builds
1541 json-glib/Makefile.am | 2 +
1542 json-glib/json-glib.symbols | 163 +++++++++++++++++++++++++++++++++++++++++++
1543 2 files changed, 165 insertions(+), 0 deletions(-)
1545 commit 4549af3210461a07dc84a30433a0a23764618e4c
1546 Author: Evan Nemerson <evan@coeus-group.com>
1547 Date: Sat Nov 20 16:25:41 2010 -0800
1549 Add C include information to GIR
1553 json-glib/Makefile.am | 2 +-
1554 1 files changed, 1 insertions(+), 1 deletions(-)
1556 commit f89a50e24d2088061eb7d975db7e6f39beaf853d
1557 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1558 Date: Mon Jan 10 11:16:17 2011 +0000
1560 object: Do some more validation in set_member()
1562 Check if we're setting the same node, to avoid a needless replace.
1564 json-glib/json-object.c | 10 ++++++++++
1565 1 files changed, 10 insertions(+), 0 deletions(-)
1567 commit e828cba563f2584e848994935478a7ffd21728df
1568 Author: Luca Bruno <lucabru@src.gnome.org>
1569 Date: Thu Jan 6 17:44:46 2011 +0100
1571 Add missing introspection annotations.
1573 https://bugzilla.gnome.org/show_bug.cgi?id=638932
1575 json-glib/json-array.c | 8 ++++----
1576 json-glib/json-node.c | 8 ++++----
1577 json-glib/json-object.c | 8 ++++----
1578 json-glib/json-parser.c | 2 +-
1579 json-glib/json-serializable.c | 2 +-
1580 5 files changed, 14 insertions(+), 14 deletions(-)
1582 commit 02dd77efaa60201f74349c969dc005c8bb092057
1583 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1584 Date: Mon Jan 10 10:45:39 2011 +0000
1586 generator: Use g_ascii_dtostr() to avoid losing precision
1588 The nice format escape for g_ascii_formatd() is not really suited for a
1589 serialization format, as it obviously loses precision.
1591 https://bugzilla.gnome.org/show_bug.cgi?id=637244
1593 json-glib/json-generator.c | 7 ++++---
1594 1 files changed, 4 insertions(+), 3 deletions(-)
1596 commit 3dbab961e675d0684df1121906ae3588d09653e6
1597 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1598 Date: Mon Jan 10 10:43:58 2011 +0000
1600 builder-test: Do not compare serialized double values
1602 Serialization of floating point values might lead to odd formats,
1603 especially when dealing with IEEE machine-neutral values.
1605 json-glib/tests/builder-test.c | 4 ++--
1606 1 files changed, 2 insertions(+), 2 deletions(-)
1608 commit 567d7fb4dff83c9e37e64ef8611f0231fa181c34
1609 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1610 Date: Tue Dec 14 16:35:24 2010 +0000
1612 reader: Use GObject ≥ 2.26 API
1614 Use modern API to deal with properties installation and notification.
1616 json-glib/json-reader.c | 35 +++++++++++++++--------------------
1617 1 files changed, 15 insertions(+), 20 deletions(-)
1619 commit 9aed6f5a455109186ae56ec1c3e558505644d57f
1620 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1621 Date: Tue Dec 14 16:26:10 2010 +0000
1623 generator: Clean up and add accessors
1625 Instead of asking everyone to use g_object_set() to set up a
1626 JsonGenerator the class should provide a decent API for its properties.
1628 While we're at it, we should also use modern API for installing and
1629 notifying of property changes.
1631 doc/reference/json-glib-sections.txt | 11 ++-
1632 json-glib/json-generator.c | 256 ++++++++++++++++++++++++++++------
1633 json-glib/json-generator.h | 35 +++--
1634 3 files changed, 246 insertions(+), 56 deletions(-)
1636 commit de991a0c6dc4d0b3c366248e20ba6853bd2c3e92
1637 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1638 Date: Tue Dec 14 11:39:04 2010 +0000
1640 generator: Verify that the decimal separator is locale-independent
1642 There shouldn't be a requirement for this, since we're using the GLib
1643 function explicitely for this reason, but it's always good to have a
1644 comprehensive test suite.
1646 json-glib/tests/generator-test.c | 58 ++++++++++++++++++++++++++++++++++++++
1647 1 files changed, 58 insertions(+), 0 deletions(-)
1649 commit 4add0e081b8f58dec1cd68152d846be87942091e
1650 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1651 Date: Tue Dec 14 11:37:25 2010 +0000
1653 generator: Implement dumping bare values
1655 JsonGenerator is not able to generate strings for bare values, something
1656 that completely went under the radar for all this time.
1658 json-glib/json-generator.c | 15 ++++++++++-----
1659 1 files changed, 10 insertions(+), 5 deletions(-)
1661 commit 20a16d5b9ecabe68ee18655b2ff3bdb17136c6f1
1662 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1663 Date: Tue Oct 19 09:59:38 2010 +0100
1665 build: Resync the GTest rules with upstream
1667 Upstream GLib fixed the test rules to avoid repeating the test suite
1670 build/autotools/Makefile.am.gtest | 21 ++++++++++++---------
1671 1 files changed, 12 insertions(+), 9 deletions(-)
1673 commit dc262a09572328342164ebb23ad698b5cb3cd8ff
1674 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1675 Date: Tue Oct 19 09:49:20 2010 +0100
1677 Use G_DEFINE_INTERFACE()
1679 json-glib/json-serializable.c | 35 +++++++----------------------------
1680 1 files changed, 7 insertions(+), 28 deletions(-)
1682 commit 80665415cd945f3dafed6925c9975f36b916a80f
1683 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1684 Date: Tue Oct 19 09:49:05 2010 +0100
1686 Use G_DEFINE_BOXED_TYPE()
1688 json-glib/json-array.c | 13 +------------
1689 json-glib/json-node.c | 13 +------------
1690 json-glib/json-object.c | 13 +------------
1691 3 files changed, 3 insertions(+), 36 deletions(-)
1693 commit 51e2eef48fabbee554193ee9eadfb8696ebb3ac7
1694 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1695 Date: Tue Oct 19 09:48:23 2010 +0100
1697 build: Depend on GLib ≥ 2.26
1701 2 files changed, 2 insertions(+), 2 deletions(-)
1703 commit d28db01f5d12497ec96d5e507af4003b076dd154
1704 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1705 Date: Wed Sep 29 17:25:18 2010 +0100
1707 build: Use -no-undefined when compiling on win32
1709 configure.ac | 13 +++++++++++++
1710 1 files changed, 13 insertions(+), 0 deletions(-)
1712 commit 5332217481b3e5fee73710bb50886fbc52a632a4
1713 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1714 Date: Sat Sep 25 12:02:36 2010 +0100
1716 Post-branch version bump to 0.13.1
1718 configure.ac | 4 ++--
1719 1 files changed, 2 insertions(+), 2 deletions(-)
1721 commit 6b4d49b8024f672d62a7059c083455ad31f7d0eb
1722 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1723 Date: Sat Sep 25 11:59:23 2010 +0100
1725 Post-release version bump to 0.12.1
1727 configure.ac | 4 ++--
1728 1 files changed, 2 insertions(+), 2 deletions(-)
1730 commit 661a7497cc88aebdee32bf31c219d457ca143590
1731 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1732 Date: Sat Sep 25 11:28:42 2010 +0100
1734 Release JSON-GLib 0.12.0
1738 configure.ac | 4 ++--
1739 3 files changed, 6 insertions(+), 5 deletions(-)
1741 commit 9b6acd68e156a45cc845bdebd99c174e82d0677c
1742 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1743 Date: Sat Sep 25 11:50:38 2010 +0100
1745 gobject: Fix deserialization of construct-only properties
1747 Commit 2d7550948dfb2e5907b851bc2c4bd296a7526086 broke the construct-only
1748 properties; we now only check for the G_PARAM_CONSTRUCT_ONLY flag, and
1749 pass construct-only properties to g_object_newv(); all the properties
1750 flagged as G_PARAM_CONSTRUCT gets passed with the rest of the properties
1753 json-glib/json-gobject.c | 4 ++--
1754 1 files changed, 2 insertions(+), 2 deletions(-)
1756 commit d480f2e77e3dc0d00fc617686b306f96353b7177
1757 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1758 Date: Sat Sep 25 11:49:41 2010 +0100
1760 test-serialize-full: Remove the dummy deserialize implementation
1762 If you don't override JsonSerializable, you get the default behaviour
1765 tests/test-serialize-full.c | 15 +--------------
1766 1 files changed, 1 insertions(+), 14 deletions(-)
1768 commit ff5dd56e4f864d0c015dcd66fa852f9cf7cf90dd
1769 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1770 Date: Sat Sep 25 11:49:19 2010 +0100
1772 debug: Add debug notes in the GObject code
1774 json-glib/json-gobject.c | 14 ++++++++++++--
1775 json-glib/json-serializable.c | 3 +++
1776 2 files changed, 15 insertions(+), 2 deletions(-)
1778 commit 7707b18f42b3a19dd780ba73ce1dabb6b8ef3c95
1779 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1780 Date: Sat Sep 25 11:48:25 2010 +0100
1782 debug: Add debug flags for GObject-related code
1784 json-glib/json-debug.c | 3 ++-
1785 json-glib/json-debug.h | 3 ++-
1786 2 files changed, 4 insertions(+), 2 deletions(-)
1788 commit c6bf7ecb0a836b5b43f203cb22be577bd54b9e9a
1789 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1790 Date: Sat Sep 25 11:23:43 2010 +0100
1792 introspection: Update to 0.9.5
1794 Add --warn-all for the scanner flags.
1796 Also, undefine JSON_DISABLE_DEPRECATED, to introspect deprecated API.
1799 json-glib/Makefile.am | 4 ++--
1800 2 files changed, 3 insertions(+), 3 deletions(-)
1802 commit 617286e4d38a93e41e1e1d974d01c1d73fd2ff66
1803 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1804 Date: Sat Sep 25 11:23:10 2010 +0100
1806 Add introspection annotations
1808 json-glib/json-array.c | 4 ++--
1809 json-glib/json-gboxed.c | 14 +++++++-------
1810 json-glib/json-gobject.c | 4 ++--
1811 json-glib/json-object.c | 4 ++--
1812 4 files changed, 13 insertions(+), 13 deletions(-)
1814 commit 19b0b873c07f918e06a8610f27a439334334a83d
1815 Author: Colin Walters <walters@verbum.org>
1816 Date: Thu Sep 9 10:24:53 2010 -0400
1818 introspection: Export json-glib-1.0 pkg-config file
1820 json-glib/Makefile.am | 2 +-
1821 1 files changed, 1 insertions(+), 1 deletions(-)
1823 commit d05e919208a47c18d001ac08900b4d2837efd4b4
1824 Author: Luca Bruno <lethalman88@gmail.com>
1825 Date: Sun Aug 15 20:30:21 2010 +0200
1827 docs: Add transfer none annotation to JsonBuilder return values.
1829 json-glib/json-builder.c | 22 +++++++++++-----------
1830 1 files changed, 11 insertions(+), 11 deletions(-)
1832 commit 2c3062cbd79826b184a6f613c519e69f3ddc1ec6
1833 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1834 Date: Sun Aug 15 18:46:02 2010 +0100
1836 builder: Add Since: annotations
1838 json-glib/json-builder.h | 50 +++++++++++++++++++++++++--------------------
1839 1 files changed, 28 insertions(+), 22 deletions(-)
1841 commit 2d7550948dfb2e5907b851bc2c4bd296a7526086
1842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1843 Date: Sun Aug 15 18:44:13 2010 +0100
1845 gobject: Use construct and construct-only properties
1847 Right now, we're checking twice for G_PARAM_CONSTRUCT_ONLY, but what we
1848 really want is to check for both G_PARAM_CONSTRUCT and
1849 G_PARAM_CONSTRUCT_ONLY properties when creating a new instance from a
1852 json-glib/json-gobject.c | 2 +-
1853 1 files changed, 1 insertions(+), 1 deletions(-)
1855 commit be48afe5801a541996bb64437c278088e70258f6
1856 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1857 Date: Sun Aug 15 18:43:49 2010 +0100
1859 build: Use maintainer-clean for removing ignore files
1861 build/autotools/Makefile.am.gitignore | 11 ++++++++---
1862 1 files changed, 8 insertions(+), 3 deletions(-)
1864 commit 5732cadfab58435ded4e88b0733c1a46aa0dcd2d
1865 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1866 Date: Sat Aug 14 12:55:18 2010 +0100
1868 build: Automate ignoring test binaries
1870 Use noinst_PROGRAMS to generate the list of test binaries to ignore
1871 directly in the test directories.
1873 .gitignore | 11 -----------
1874 build/autotools/Makefile.am | 3 ++-
1875 build/autotools/Makefile.am.gitignore | 19 +++++++++++++++++++
1876 json-glib/tests/Makefile.am | 4 ++++
1877 tests/Makefile.am | 4 ++++
1878 5 files changed, 29 insertions(+), 12 deletions(-)
1880 commit 8b54bed521b609c373a48d27c880cc70272b6313
1881 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1882 Date: Sat Aug 14 12:26:29 2010 +0100
1884 docs: Add 0.12 symbols index to the API reference
1886 doc/reference/json-glib-docs.xml | 5 +++++
1887 1 files changed, 5 insertions(+), 0 deletions(-)
1889 commit 9ed8d5e7fe96b9dcf82ddbba7de2db40d415cbaf
1890 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1891 Date: Sat Aug 14 12:24:59 2010 +0100
1893 reader: Add :root constructor property
1895 A JsonReader is useless without a root JsonNode to start walking the
1898 json-glib/json-reader.c | 96 +++++++++++++++++++++++++++++++++++++---
1899 json-glib/json-reader.h | 2 +-
1900 json-glib/tests/reader-test.c | 4 +-
1901 3 files changed, 91 insertions(+), 11 deletions(-)
1903 commit eeeae2194223abe2515e18edec1bdbbb6a7c793d
1904 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1905 Date: Sat Aug 14 09:40:44 2010 +0100
1907 docs: Add the RFC draft for JSON schema
1909 doc/draft-zyp-json-schema-02.txt | 1345 ++++++++++++++++++++++++++++++++++++++
1910 1 files changed, 1345 insertions(+), 0 deletions(-)
1912 commit 0281176789b38973b1723f752070cb0e7340055d
1913 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1914 Date: Thu Aug 12 16:09:45 2010 +0100
1916 reader: Do not wrap JsonParser
1918 Since JsonParser has far more methods for parsing a JSON stream we
1919 should just make JsonReader an API for reading an already parsed JSON
1920 tree - in the same way that JsonBuilder does not generate the
1921 stringified version of the JSON tree it builds.
1923 doc/reference/json-glib-sections.txt | 2 +-
1924 json-glib/json-reader.c | 90 +++++++++++-----------------------
1925 json-glib/json-reader.h | 6 +--
1926 json-glib/tests/reader-test.c | 11 +++-
1927 4 files changed, 41 insertions(+), 68 deletions(-)
1929 commit 149d2f3925ca798886f2137ae73488f7e2e6386b
1930 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1931 Date: Thu Aug 12 15:55:54 2010 +0100
1933 reader: Mirror the JsonBuilder API value accessors
1935 We should strive to make JsonBuilder and JsonReader similar in API.
1937 doc/reference/json-glib-sections.txt | 10 +++++-----
1938 json-glib/json-reader.c | 34 +++++++++++++++++-----------------
1939 json-glib/json-reader.h | 10 +++++-----
1940 json-glib/tests/reader-test.c | 8 ++++----
1941 4 files changed, 31 insertions(+), 31 deletions(-)
1943 commit b385ca3ae47e68cdf48f3641385b9fe5ac8429bc
1944 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1945 Date: Thu Aug 12 15:35:17 2010 +0100
1950 1 files changed, 2 insertions(+), 0 deletions(-)
1952 commit 23866cb9935e9b9f7c88b26cdfc13ff95edfbe00
1953 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1954 Date: Thu Aug 12 15:34:09 2010 +0100
1956 docs: Add JsonReader to the API reference
1958 doc/reference/json-glib-docs.xml | 1 +
1959 doc/reference/json-glib-sections.txt | 41 ++++++++++++++++++++++++++++++++++
1960 doc/reference/json-glib.types | 2 +
1961 3 files changed, 44 insertions(+), 0 deletions(-)
1963 commit 10e5a1d38113b7b6e7c71da76ff11219baf1022d
1964 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1965 Date: Thu Aug 12 15:29:41 2010 +0100
1969 JsonReader is a simple, cursor-based API for parsing a JSON DOM. It is
1970 similar, in spirit, to the XmlReader API provided by various platforms
1971 and XML parsing libraries.
1974 json-glib/Makefile.am | 2 +
1975 json-glib/json-glib.h | 3 +
1976 json-glib/json-reader.c | 779 +++++++++++++++++++++++++++++++++++++++++
1977 json-glib/json-reader.h | 142 ++++++++
1978 json-glib/tests/Makefile.am | 10 +-
1979 json-glib/tests/reader-test.c | 101 ++++++
1980 7 files changed, 1035 insertions(+), 3 deletions(-)
1982 commit c3215ba1d46f7965fb58272da069bec389a174df
1983 Author: Diego Escalante Urrelo <descalante@igalia.com>
1984 Date: Wed Aug 11 14:42:25 2010 -0500
1986 json-glib/tests: explicitely link against glib
1988 Tests fail to link otherwise.
1992 json-glib/tests/Makefile.am | 3 ++-
1993 1 files changed, 2 insertions(+), 1 deletions(-)
1995 commit 7f85693922d1e2614bcce9219d2c6521580dd360
1996 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1997 Date: Mon Aug 2 18:04:21 2010 +0100
1999 build: Remove all stray mentions of Shave
2001 We depend on automake 1.11, now.
2004 autogen.sh | 15 +++------------
2005 build/autotools/Makefile.am | 2 --
2007 4 files changed, 3 insertions(+), 18 deletions(-)
2009 commit 26efdb4cc25cffa857e4ce36f0ad7ee6efe00634
2010 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2011 Date: Mon Aug 2 17:49:32 2010 +0100
2013 Post-release version bump to 0.11.3
2016 1 files changed, 1 insertions(+), 1 deletions(-)
2018 commit ff7a8ff73ee214d385c64501c8b5dc682ccad1cf
2019 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2020 Date: Mon Aug 2 17:40:29 2010 +0100
2022 Release 0.11.2 (0.12.0-rc1)
2025 1 files changed, 1 insertions(+), 1 deletions(-)
2027 commit 8a91b052fba48ae6f4a61115e2fa6839e7a21509
2028 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2029 Date: Mon Aug 2 17:45:35 2010 +0100
2031 build: Fix up the tests data path
2033 Since we load up a test file from a directory, we should be using a
2034 path - otherwise this will break out-of-tree builds, e.g. when doing
2037 json-glib/tests/Makefile.am | 2 +-
2038 json-glib/tests/parser-test.c | 4 ++--
2039 2 files changed, 3 insertions(+), 3 deletions(-)
2041 commit 2e3eaabd12829187f5a9ddacef68319442362729
2042 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2043 Date: Mon Aug 2 17:42:09 2010 +0100
2045 build: Fix introspection dependencies
2047 json-glib/Makefile.am | 4 ++--
2048 1 files changed, 2 insertions(+), 2 deletions(-)
2050 commit def6d5612fbb33f9b02df80294651f5a28a83ccc
2051 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2052 Date: Mon Aug 2 17:15:36 2010 +0100
2054 Update the NEWS file
2057 1 files changed, 2 insertions(+), 0 deletions(-)
2059 commit 385e6278477dfd35d591f8343deb1de2827ac2ff
2060 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2061 Date: Mon Aug 2 17:15:22 2010 +0100
2063 docs: Update the dependencies in the README file
2066 1 files changed, 2 insertions(+), 2 deletions(-)
2068 commit 5e19ed2523441afd12c45a8b3f19d10fc9a37335
2069 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2070 Date: Mon Aug 2 17:14:52 2010 +0100
2072 build: Revert the GLib version bump
2074 GIO landed in GLib 2.16, so we don't need the version bump to 2.20.
2077 1 files changed, 1 insertions(+), 1 deletions(-)
2079 commit d9b2845572123ed79a6626d90d2d2298c9c3d5a7
2080 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2081 Date: Mon Aug 2 17:07:36 2010 +0100
2083 generator: Add an OutputStream-based method
2085 Currently, only synchronous API.
2087 The output handling is pretty trivial, unlike the input handling in
2088 JsonParser; this is a really basic convenience API.
2090 doc/reference/json-glib-sections.txt | 1 +
2091 json-glib/json-generator.c | 37 ++++++++++++++++++++++++++++++++++
2092 json-glib/json-generator.h | 22 ++++++++++++-------
2093 3 files changed, 52 insertions(+), 8 deletions(-)
2095 commit c7c288b89175b1f9545d6ddff25609b7bb243041
2096 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2097 Date: Mon Aug 2 17:04:38 2010 +0100
2099 Fix the include for json-types.h
2101 json-glib/json-parser.h | 2 +-
2102 1 files changed, 1 insertions(+), 1 deletions(-)
2104 commit e6ea3a6bae044ec7874dfde3b50bb337f00bb3be
2105 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2106 Date: Mon Aug 2 16:41:18 2010 +0100
2108 Exercise the stream API in JsonParser
2110 json-glib/tests/Makefile.am | 2 +
2111 json-glib/tests/parser-test.c | 78 ++++++++++++++++++++++++++++++++++++++
2112 json-glib/tests/stream-load.json | 1 +
2113 3 files changed, 81 insertions(+), 0 deletions(-)
2115 commit 8cac7f2b6987803e36ff6abe012cd3e017b5b960
2116 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2117 Date: Mon Aug 2 16:40:36 2010 +0100
2119 docs: Add the new JsonParser stream API
2121 doc/reference/json-glib-sections.txt | 3 +++
2122 1 files changed, 3 insertions(+), 0 deletions(-)
2124 commit 107e53b2daa27b99fb629dd1e2bf9bfd2729b3dd
2125 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2126 Date: Mon Aug 2 16:39:04 2010 +0100
2128 parser: Add loading from a GInputStream
2130 JsonParser should be able to use a GInputStream (both synchronously and
2131 asynchronously) to retrieve the JSON data and parse it.
2133 json-glib/json-parser.c | 258 +++++++++++++++++++++++++++++++++++++++++++++++
2134 json-glib/json-parser.h | 43 +++++---
2135 2 files changed, 286 insertions(+), 15 deletions(-)
2137 commit b164bb5180749aaff385f5d61866875bfbf9c552
2138 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2139 Date: Mon Aug 2 16:38:01 2010 +0100
2141 build: Use the GIO prefix for cross-references
2143 doc/reference/Makefile.am | 3 ++-
2144 1 files changed, 2 insertions(+), 1 deletions(-)
2146 commit 6d317b129169352111ab16a0df9aee8b9aa5284b
2147 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2148 Date: Mon Aug 2 16:37:32 2010 +0100
2150 build: Depend on GIO
2152 Bump up the dependencies to be able to use GIO.
2154 configure.ac | 8 ++++----
2155 1 files changed, 4 insertions(+), 4 deletions(-)
2157 commit 84230dd03b5db34da5ccef0a4926e18c22124952
2158 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2159 Date: Wed Jul 21 23:50:09 2010 +0100
2161 docs: Fix up the cgit URL
2164 1 files changed, 3 insertions(+), 3 deletions(-)
2166 commit 67ad0f21ca554edcd6633014b0bce7dd8d216191
2167 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2168 Date: Wed Jul 21 23:49:56 2010 +0100
2170 Update NEWS for the next stable release
2172 NEWS | 10 ++++++++++
2173 1 files changed, 10 insertions(+), 0 deletions(-)
2175 commit 465880e5ccaca086fd1b881bd7175658d627318c
2176 Author: Colin Walters <walters@verbum.org>
2177 Date: Tue Jul 6 10:49:27 2010 -0400
2179 Make GIR depend on library
2181 Fixes parallel builds.
2183 json-glib/Makefile.am | 2 ++
2184 1 files changed, 2 insertions(+), 0 deletions(-)
2186 commit 66e5f619d55433985460e8c641beb98e85832451
2187 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2188 Date: Wed Jun 16 12:07:41 2010 +0100
2190 docs: Add JsonBuilder to the API reference
2192 And silence gtk-doc-scanner by removing an undefined argument from
2193 json_builder_add_null_value().
2195 doc/reference/json-glib-docs.xml | 3 ++-
2196 doc/reference/json-glib-sections.txt | 32 ++++++++++++++++++++++++++++++++
2197 doc/reference/json-glib.types | 2 ++
2198 json-glib/json-builder.c | 3 ++-
2199 4 files changed, 38 insertions(+), 2 deletions(-)
2201 commit 08f3073eeb0f7e2e0973abd23ba4ec978ad302d7
2202 Author: Luca Bruno <lethalman88@gmail.com>
2203 Date: Wed Jun 9 21:31:06 2010 +0200
2205 builder: Add convenience API for building JSON trees.
2207 https://bugzilla.gnome.org/show_bug.cgi?id=621141
2209 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2212 json-glib/Makefile.am | 2 +
2213 json-glib/json-builder.c | 682 ++++++++++++++++++++++++++++++++++++++++
2214 json-glib/json-builder.h | 100 ++++++
2215 json-glib/json-glib.h | 1 +
2216 json-glib/tests/Makefile.am | 3 +
2217 json-glib/tests/builder-test.c | 121 +++++++
2218 7 files changed, 910 insertions(+), 0 deletions(-)
2220 commit 3f8c8f99126dc1a70d847eded13afd4b64395250
2221 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2222 Date: Wed Jun 16 11:54:55 2010 +0100
2224 Allow NULL as a value for strings, arrays and objects
2226 We should not warn when asking for a string, array or object if the
2227 contents were 'null'.
2229 json-glib/json-array.c | 42 ++++++++++++++++++++++++++++++--------
2230 json-glib/json-object.c | 45 ++++++++++++++++++++++++++++++++--------
2231 json-glib/tests/object-test.c | 4 +++
2232 3 files changed, 73 insertions(+), 18 deletions(-)
2234 commit 471bcf28589e0929984c4e6a097ae273b017b3f0
2235 Author: Anssi Hannula <anssi@mandriva.org>
2236 Date: Fri May 28 11:57:18 2010 +0100
2238 Do not hardcode paths in pkgconfig file
2240 The pkgconfig file correctly sets $prefix to @prefix@, but the other
2241 paths are hardcoded to ones relative to $prefix.
2244 exec_prefix=${prefix}
2245 libdir=${exec_prefix}/lib
2246 includedir=${exec_prefix}/include
2248 https://bugzilla.gnome.org/show_bug.cgi?id=613282
2250 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2252 json-glib.pc.in | 6 +++---
2253 1 files changed, 3 insertions(+), 3 deletions(-)
2255 commit 70b9235b50dd4257e0bf196e07f65807d65f8091
2256 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2257 Date: Fri May 28 11:50:01 2010 +0100
2259 docs: Remove unused field annotation
2261 JsonNode is fully opaque, so there are no fields to annotate.
2263 json-glib/json-types.h | 1 -
2264 1 files changed, 0 insertions(+), 1 deletions(-)
2266 commit aaf08f5c1a08c8aaec2436653114996b98ee1f8c
2267 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2268 Date: Fri May 28 11:35:05 2010 +0100
2270 build: Clean up the build system
2272 • Use libtool m4 macros, and require libtool >= 2.2.6
2274 • Ditch unused platform checks
2276 • Drop Shave and require automake >= 1.11
2278 • Depend on gtk-doc >= 1.13
2280 • Use gobject-introspection's Makefile rules, and update introspection.m4
2283 build/autotools/Makefile.am | 3 -
2284 build/autotools/Makefile.am.silent | 6 ---
2285 build/autotools/introspection.m4 | 6 +++
2286 build/autotools/shave-libtool.in | 69 -------------------------------
2287 build/autotools/shave.in | 79 ------------------------------------
2288 build/autotools/shave.m4 | 77 -----------------------------------
2289 configure.ac | 44 +++++--------------
2290 json-glib/Makefile.am | 43 ++++++-------------
2291 9 files changed, 34 insertions(+), 297 deletions(-)
2293 commit 6231cf027a8f9c3b11324c1d49a350ba55353123
2294 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2295 Date: Wed May 26 08:43:10 2010 +0100
2297 parser: Do not access GScanner:token
2299 The GScanner:token member is declared as GTokenType instead of being an
2300 unsigned int. This means that comparing it to any other enumeration is
2301 going to generate a warning in GCC >= 4.5. Unfortunately, extending the
2302 GTokenType enumeration is the idiomatic way of handling new tokens.
2306 json-glib/json-parser.c | 9 ++++++---
2307 1 files changed, 6 insertions(+), 3 deletions(-)
2309 commit fcd07918d3ed2b31b047900da9d2fed23dddf7da
2310 Author: Eiichi Sato <eiichi.for.public@gmail.com>
2311 Date: Sat Apr 10 01:52:10 2010 +0900
2313 Support for surrogate pairs in json string.
2315 https://bugzilla.gnome.org/show_bug.cgi?id=615799
2317 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2319 json-glib/json-scanner.c | 16 +++++++++++++++-
2320 1 files changed, 15 insertions(+), 1 deletions(-)
2322 commit 37a7931f91f8d79def3f4895bc349ba621a826a1
2323 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2324 Date: Wed Apr 14 23:19:58 2010 +0100
2328 The json-debug.h header is private and not installed; hence, it should
2329 be ignored by gtk-doc.
2331 doc/reference/Makefile.am | 3 ++-
2332 1 files changed, 2 insertions(+), 1 deletions(-)
2334 commit 28edd58ddfd719d107d89aa364dc208b0126c90f
2335 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2336 Date: Wed Apr 14 23:19:28 2010 +0100
2340 There is no such thing as a 'JsonArrary' type.
2342 json-glib/json-parser.c | 2 +-
2343 1 files changed, 1 insertions(+), 1 deletions(-)
2345 commit d40045bd855bfcb73c10967d894a8e91f8675409
2346 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2347 Date: Wed Apr 14 23:17:28 2010 +0100
2349 docs: Fix typo in JsonParserError annotation
2351 json-glib/json-parser.h | 2 +-
2352 1 files changed, 1 insertions(+), 1 deletions(-)
2354 commit b55d139ed0368f368c6c9c8f8adfab4c91f1f508
2355 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2356 Date: Sat Apr 3 14:59:00 2010 +0100
2358 parser: Do not increment the index variable
2360 When parsing an array with a JsonParser with the debugging notes
2361 enabled, we get an erroneous increment of the idx variable - which is
2362 then passed to the JsonParser::array-element signal.
2364 Thanks to: Michael Stapelberg <michael@stapelberg.de>
2366 json-glib/json-parser.c | 2 +-
2367 1 files changed, 1 insertions(+), 1 deletions(-)
2369 commit 24567790d30e314ee519c8f3756b3514c0c3fd31
2370 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2371 Date: Fri Mar 19 15:45:24 2010 +0000
2373 parser: Add MISSING_COLON error
2375 We identify a missing ':' separator between an object member name and
2376 its value, so it would be a good thing to actually have an error code
2379 json-glib/json-parser.c | 3 +--
2380 json-glib/json-parser.h | 2 ++
2381 json-glib/tests/parser-test.c | 3 ++-
2382 3 files changed, 5 insertions(+), 3 deletions(-)
2384 commit 08cec3b7c9202007a5abbf548f8d2f1b54d4d0b4
2385 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2386 Date: Fri Mar 19 15:40:48 2010 +0000
2388 parser: Refactor the JsonParser logic
2390 The array and object parsing logic in JsonParser has clearly exploded
2391 beyond control: a simple tightening of the JSON validation almost broke
2392 the parser in two. It it is time to...
2394 <cue Christopher Lee voice-over>
2398 </cue Christopher Lee voice-over>
2400 This time, we should be following the JSON state machine and try to do
2401 more prediction of the next state based on peeking the next token.
2403 The code is fairly cleaner, now; and, most of all, still passes the
2404 validation test suite - which is, you know... nice.
2406 json-glib/json-parser.c | 480 +++++++++++++++++++----------------------------
2407 1 files changed, 196 insertions(+), 284 deletions(-)
2409 commit 9ce82f8052290f3956c3d80c8739c214da314d42
2410 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2411 Date: Fri Mar 19 11:04:00 2010 +0000
2413 parser: Return specific error codes
2415 The JsonScanner error reporting mechanism, which is basically
2416 GScanner's, sucks beyond belief. In order to report an error code we
2417 need to store it inside the JsonParser private structure and then use it
2418 when creating the GError inside the error handler.
2420 This, frankly, is quite stupid.
2422 json-glib/json-parser.c | 49 ++++++++++++++++++++++++++++++++--------
2423 json-glib/json-parser.h | 8 ++++++
2424 json-glib/tests/parser-test.c | 18 +++++++-------
2425 3 files changed, 56 insertions(+), 19 deletions(-)
2427 commit 9d7c58b4fb5edeb8e9413acc9d509447e13962e5
2428 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2429 Date: Thu Mar 18 22:41:14 2010 +0000
2431 JSON-GLib bug tracking system has been moved
2433 We are now using bugzilla.gnome.org, since we're already hosted on
2438 2 files changed, 2 insertions(+), 2 deletions(-)
2440 commit 449656c68a3d6e0d8b96c36414b475e78b9cc272
2441 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2442 Date: Thu Mar 18 17:11:11 2010 +0000
2444 parser-test: Add a case for double parsing in JsonObject
2446 json-glib/tests/parser-test.c | 3 ++-
2447 1 files changed, 2 insertions(+), 1 deletions(-)
2449 commit 54756457de3f01d1a487fc6b90c5bd9b5b50bcf3
2450 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2451 Date: Thu Mar 18 17:09:38 2010 +0000
2453 parser: Re-use json_parse_value()
2455 The main switch inside json_parse_statement() is re-implementing the
2456 bare value parsing that is also provided by json_parse_value(). We
2457 should kill it off to avoid redundant code.
2459 json-glib/json-parser.c | 57 +---------------------------------------------
2460 1 files changed, 2 insertions(+), 55 deletions(-)
2462 commit 3355987049560b4d31af22476a7c2b20c9d6665b
2463 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2464 Date: Thu Mar 18 17:08:44 2010 +0000
2466 parser: Add debug annotations for json_parse_value()
2468 Print out the values we are parsing, for debug purposes.
2470 json-glib/json-parser.c | 8 ++++++++
2471 1 files changed, 8 insertions(+), 0 deletions(-)
2473 commit f622ee8d8ba54ddea6fbb7311a905ffab7842e8d
2474 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2475 Date: Thu Mar 18 17:05:57 2010 +0000
2477 generator: Use %g format for g_ascii_formatd()
2479 I should read the documentation for the functions I use:
2481 Converts a gdouble to a string, using the '.' as decimal point. To
2482 format the number you pass in a printf()-style format string. Allowed
2483 conversion specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'.
2484 -- from g_ascii_formatd() in GLib's API reference
2488 json-glib/json-generator.c | 2 +-
2489 1 files changed, 1 insertions(+), 1 deletions(-)
2491 commit 90d6e0b8c334b3fd7995c126f07dd61ba0a9e0fb
2492 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2493 Date: Thu Mar 18 15:26:19 2010 +0000
2495 parser-test: Add a complex nested object test
2497 The nested object test should use something that's really complex: an
2498 object with a nested array and nested object definitions.
2500 json-glib/tests/parser-test.c | 21 ++++++++++++++++++++-
2501 1 files changed, 20 insertions(+), 1 deletions(-)
2503 commit f4c57ac4227c4edb8a4cecb784e871fbd5649ad1
2504 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2505 Date: Thu Mar 18 15:24:39 2010 +0000
2507 parser: Clean up array and object parsing
2509 We are doing some of the work twice, especially when dealing with the
2510 trailing commas detection and the unknown tokens after an array element
2511 or an object member definition.
2513 json-glib/json-parser.c | 44 ++++++++++++++++++++++++--------------------
2514 1 files changed, 24 insertions(+), 20 deletions(-)
2516 commit b3435c6a05ecee58c64dce669ce7e44f829afc98
2517 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2518 Date: Thu Mar 18 15:21:29 2010 +0000
2520 Add debugging macros
2522 Similarly to what GTK+ and Clutter do, we can use macros that evaluate
2523 to nothing if JSON_ENABLE_DEBUG is disabled; they evaluate to messages
2524 when the JSON_DEBUG environment variable is set to a debug domain.
2526 json-glib/Makefile.am | 4 +++-
2527 json-glib/json-debug.c | 37 +++++++++++++++++++++++++++++++++++++
2528 json-glib/json-debug.h | 45 +++++++++++++++++++++++++++++++++++++++++++++
2529 3 files changed, 85 insertions(+), 1 deletions(-)
2531 commit 88ac0d5111eb528e4c396e4c169ceee4fb046e62
2532 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2533 Date: Fri Mar 5 19:23:49 2010 +0000
2535 tests: Add another trailing comma invalid test
2537 json-glib/tests/parser-test.c | 3 ++-
2538 1 files changed, 2 insertions(+), 1 deletions(-)
2540 commit c22c1151e418af9506547804d4bc9fddb60bc0f1
2541 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2542 Date: Mon Mar 1 17:42:41 2010 +0000
2544 tests: Add negative tests
2546 Verify that invalid JSON will trigger a parser error.
2548 json-glib/tests/parser-test.c | 53 +++++++++++++++++++++++++++++++++++++++++
2549 1 files changed, 53 insertions(+), 0 deletions(-)
2551 commit 26668fe238a52a7fd8374f409fc277aaa8efa826
2552 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2553 Date: Mon Mar 1 17:41:14 2010 +0000
2555 parser: Improve strictness
2557 Apparently, some breakage crept in JsonParser which allowed invalid JSON
2558 to actually pass. For instance: trailing and missing commas, invalid
2559 barewords and wrong array and object closing braces.
2561 json-glib/json-parser.c | 117 +++++++++++++++++++++++++++++++----------------
2562 1 files changed, 78 insertions(+), 39 deletions(-)
2564 commit 7d156366e9062349fbe58344712a055839449098
2565 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2566 Date: Sun Jan 24 19:09:28 2010 +0000
2568 build: Configure Automake
2570 Add the following options:
2572 • no-define: we don't need PACKAGE and VERSION defined in config.h
2573 • -Wno-portability: we require GNU make
2574 • dist-bzip2: generate a bz2 tarball when distchecking
2577 1 files changed, 1 insertions(+), 1 deletions(-)
2579 commit ea666891cb1e6fc9e527ce6c93a306bc97145f16
2580 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2581 Date: Sun Jan 24 18:58:28 2010 +0000
2583 docs: Fix the GBoxed registration example
2585 The registration function for serialization and deserialization has been
2586 replaced by two separate functions before releasing 0.10, but I forgot to
2587 update the example in the documentation.
2589 json-glib/json-gboxed.c | 11 ++++++-----
2590 1 files changed, 6 insertions(+), 5 deletions(-)
2592 commit 4c15bf185dcd55ae5daf6b68d2b58d32e9ac9d5c
2593 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2594 Date: Sun Jan 10 10:00:32 2010 +0000
2596 build: Fix CFLAGS and LDFLAGS for the gcov target
2598 A copy and paste thinko duplicated the CFLAGS into the LDFLAGS, so we
2599 need to fix that. The CFLAGS should also specify the optimization level
2600 to 0 and turn on debugging notes, in case --enable-debug and
2601 --enable-maintainer-flags are turned off.
2603 configure.ac | 4 ++--
2604 1 files changed, 2 insertions(+), 2 deletions(-)
2606 commit c09c2dc1c54c83fea4ef93486081fe3fab35452c
2607 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2608 Date: Sun Jan 10 09:59:14 2010 +0000
2610 Initialize every member of JsonObject on construction
2612 We create JsonObject structures using g_slice_new(), so we need to
2613 initialize every member of the structure ourselves.
2615 json-glib/json-object.c | 1 +
2616 1 files changed, 1 insertions(+), 0 deletions(-)
2618 commit cdffa0eacb52479e04460d8436a08ccecce91edf
2619 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2620 Date: Sat Jan 2 23:57:31 2010 +0000
2622 build: Move compiler flags to AM_CFLAGS
2624 The AM_CPPFLAGS variable is for pre-processor flags.
2626 tests/Makefile.am | 4 +++-
2627 1 files changed, 3 insertions(+), 1 deletions(-)
2629 commit f20523412e737c2dfae92ba4b9bd86177fd018a0
2630 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2631 Date: Sat Jan 2 23:56:42 2010 +0000
2633 build: Enable maintainer flags when compiling tests
2635 The tests should be compiled under the same flags as the rest of the
2638 json-glib/tests/Makefile.am | 2 +-
2639 1 files changed, 1 insertions(+), 1 deletions(-)
2641 commit 7b72cad780fdeb42ac1d847210bd2022376f2875
2642 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2643 Date: Sat Jan 2 23:50:40 2010 +0000
2645 tests: Clean up JsonGenerator test suite
2647 Use typed accessors instead of using GValues all around.
2649 json-glib/tests/generator-test.c | 141 ++++++-------------------------------
2650 1 files changed, 23 insertions(+), 118 deletions(-)
2652 commit 3c33b61738d74b732805b497accec830b1a05796
2653 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2654 Date: Fri Jan 1 18:23:16 2010 +0000
2656 tests: Verify Array.get_elements()
2658 While verifying Array.foreach() we should also verify that the list we
2659 are iterating on is the same returned by the get_elements() method.
2661 json-glib/tests/array-test.c | 22 +++++++++++++++++-----
2662 1 files changed, 17 insertions(+), 5 deletions(-)
2664 commit c8cc10985c3e7aac5ca1c03a7b443951929ed0cb
2665 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2666 Date: Fri Jan 1 18:02:03 2010 +0000
2668 build: Add gcov proxy rule
2670 The gcov rule lives in json-glib/Makefile.am, but it would be nice to
2671 have a similar rule in the top source directory as well.
2674 1 files changed, 3 insertions(+), 0 deletions(-)
2676 commit 060eddb098dd2b442f986a39aad2e7bf8c777a15
2677 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2678 Date: Tue Dec 29 23:35:00 2009 +0000
2680 tests: Re-enable the nested object generator unit
2682 Use the JSON object example inside the RFC 4627 to verify that the
2683 JsonGenerator creates the right output. This is now possible as we
2684 garantee the order of a JsonObject members.
2686 json-glib/tests/generator-test.c | 102 +++++++++++++++++++++-----------------
2687 1 files changed, 56 insertions(+), 46 deletions(-)
2689 commit 37a9c9544447c4a8ac36d80dd58bd38f80b0aa3c
2690 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2691 Date: Tue Dec 29 23:02:23 2009 +0000
2693 Update the ignore file
2695 .gitignore | 5 +++--
2696 1 files changed, 3 insertions(+), 2 deletions(-)
2698 commit e32a157f97d96293f6f4061e7d0008d90ff16258
2699 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2700 Date: Tue Dec 29 22:59:13 2009 +0000
2702 tests: Move Parser and Generator tests
2704 Use the json-glib/tests directory for testing the data structures of
2705 JSON-GLib: node, object, array, parser and generator.
2707 The tests/ directory should be used for complex test cases, like the
2708 GObject and GBoxed integration - but the goal is to remove the top-level
2709 tests/ directory altogether, since the conformance test suite should be
2710 built along the json-glib/ directory.
2712 json-glib/tests/Makefile.am | 26 +-
2713 json-glib/tests/generator-test.c | 357 +++++++++++++++++++++
2714 json-glib/tests/parser-test.c | 632 ++++++++++++++++++++++++++++++++++++++
2715 tests/Makefile.am | 8 -
2716 tests/test-generator.c | 357 ---------------------
2717 tests/test-parser.c | 632 --------------------------------------
2718 6 files changed, 1006 insertions(+), 1006 deletions(-)
2720 commit 5b4186eb60e953ddbaadcd53b1996d28b06d4a97
2721 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2722 Date: Tue Dec 29 22:53:29 2009 +0000
2724 Add GCOV coverage test support
2726 Use GCOV, a GCC extension, to perform a coverage test on JSON-GLib when
2727 we perform a 'make check'.
2729 GCOV support builds JSON-GLib with compiler and linker flags that enable
2730 coverage reports; then the check-local target will build the gcov file
2731 for each source file, and the coverage report will be extracted from
2734 .gitignore | 7 ++++---
2735 build/autotools/Makefile.am | 3 ++-
2736 build/autotools/Makefile.am.gcov | 35 +++++++++++++++++++++++++++++++++++
2737 build/autotools/Makefile.am.gtest | 2 ++
2738 configure.ac | 25 +++++++++++++++++++++++--
2739 json-glib/Makefile.am | 9 ++++++---
2740 6 files changed, 72 insertions(+), 9 deletions(-)
2742 commit 56f56ae22d981830b696c5861e158802d31240c1
2743 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2744 Date: Tue Dec 29 21:56:42 2009 +0000
2749 1 files changed, 1 insertions(+), 1 deletions(-)
2751 commit dae32677d140a3ba6a15e1198b53ea0b3e1716b0
2752 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2753 Date: Tue Dec 29 15:35:21 2009 +0000
2755 Post-release version bump to 0.10.1
2758 1 files changed, 1 insertions(+), 1 deletions(-)
2760 commit 5aff66e8fae3e28c9cb6b74696170154eed303a7
2761 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2762 Date: Tue Dec 29 15:33:28 2009 +0000
2766 configure.ac | 4 ++--
2767 1 files changed, 2 insertions(+), 2 deletions(-)
2769 commit 7258a776ea90ea4b2dcc6f1e4e440bb09c581a12
2770 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2771 Date: Tue Dec 29 15:31:22 2009 +0000
2773 build: Enable introspection when distchecking
2776 1 files changed, 1 insertions(+), 1 deletions(-)
2778 commit 80c5178127052e600146ca889500e263da4ebf10
2779 Author: Vincent Untz <vuntz@gnome.org>
2780 Date: Sun Dec 27 02:09:44 2009 +0100
2782 Initialize out variables before using them
2784 Here's a small patch for json-glib, to fix some gcc warnings breaking
2785 the build with -Werror (gcc can't know if the variable will get
2786 initialized or not). I didn't find a product for json-glib in bugzilla,
2787 but I guess a mail will work ;-)
2791 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2793 json-glib/json-gobject.c | 4 ++--
2794 1 files changed, 2 insertions(+), 2 deletions(-)
2796 commit e3a57eae397926ad23e216996eda164ed6c15c63
2797 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2798 Date: Sun Nov 29 12:50:58 2009 +0000
2800 Post-release bump to 0.9.3
2803 1 files changed, 1 insertions(+), 1 deletions(-)
2805 commit 4477758b73a0712fdef5e7907f6b6f4e0878428e
2806 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2807 Date: Sun Nov 29 12:34:41 2009 +0000
2809 Release 0.9.2 (0.10.0-rc1)
2812 1 files changed, 1 insertions(+), 1 deletions(-)
2814 commit 654f99c6b0d771cc6b4c68790ab164b0f691307d
2815 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2816 Date: Sun Nov 29 12:34:08 2009 +0000
2820 NEWS | 15 +++++++++++++++
2821 1 files changed, 15 insertions(+), 0 deletions(-)
2823 commit 307605046cf89ef922d1d1e7c7b95405f3ecfdfb
2824 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2825 Date: Sun Nov 29 12:48:25 2009 +0000
2827 docs: Fix annotation for json_gobject_to_data()
2829 json-glib/json-gobject.c | 2 +-
2830 1 files changed, 1 insertions(+), 1 deletions(-)
2832 commit e7eb3ca4a9de1c7348dc82f528cf0858f52849dd
2833 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2834 Date: Sun Nov 29 12:37:04 2009 +0000
2836 docs: Add missing to/from_data methods
2838 doc/reference/json-glib-sections.txt | 2 ++
2839 1 files changed, 2 insertions(+), 0 deletions(-)
2841 commit 27bb2c060a7b2ecc4839719d39b2044efe4c3e7a
2842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2843 Date: Sun Nov 29 12:46:27 2009 +0000
2845 docs: Add release notes to the README
2847 README | 12 ++++++++++--
2848 1 files changed, 10 insertions(+), 2 deletions(-)
2850 commit 780d82310c47c3f07bcbaab2cefbea0d6decb899
2851 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2852 Date: Sun Nov 29 12:33:45 2009 +0000
2854 docs: Update the README
2856 README | 27 ++++++++++++++++-----------
2857 1 files changed, 16 insertions(+), 11 deletions(-)
2859 commit d122f9b8c09ad7e82b1a70da5d65ebba2111e6cc
2860 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2861 Date: Sun Nov 29 12:33:01 2009 +0000
2863 build: Clean up the configure summary
2865 Make the output of the summary a little bit nicer.
2867 configure.ac | 27 ++++++++++++++++++++-------
2868 1 files changed, 20 insertions(+), 7 deletions(-)
2870 commit e4c4480036a82cc5177fc1f184c18019af0e805e
2871 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2872 Date: Sun Nov 29 12:31:54 2009 +0000
2874 build: Require G-I 0.6.4
2876 We should require at least 0.6.4 for GObject-Introspection, since that
2877 version allows us to pass the .la file to g-ir-scanner.
2880 1 files changed, 1 insertions(+), 1 deletions(-)
2882 commit 4445bdb04d5eebc145a1db82aa5b811e8d4ed048
2883 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2884 Date: Sat Nov 28 19:13:27 2009 +0000
2886 docs: Fix argument name mismatch
2888 gtk-doc complains that the argument name in the header does not match
2889 the one in the documentation annotation for the GBoxed deserialization
2890 function registration.
2892 json-glib/json-gobject.h | 2 +-
2893 1 files changed, 1 insertions(+), 1 deletions(-)
2895 commit 793e827feaa9be3c4ffbe5c0425ac6bcc0c9e6d1
2896 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2897 Date: Sat Nov 28 19:06:36 2009 +0000
2899 build: Clean up json-glib/Makefile.am rules
2901 json-glib/Makefile.am | 24 ++++--------------------
2902 1 files changed, 4 insertions(+), 20 deletions(-)
2904 commit 97584658672fe4709fc7c3b24a44b477112322f7
2905 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2906 Date: Sat Nov 28 17:39:37 2009 +0000
2908 build: Fix out-of-tree enum types file generation
2910 build/autotools/Makefile.am.enums | 4 ++--
2911 1 files changed, 2 insertions(+), 2 deletions(-)
2913 commit 3cf919e9c7f3201305a1a63a3c270e422a37efed
2914 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2915 Date: Mon Nov 23 22:20:58 2009 +0000
2917 boxed: Split (de)serialization registration
2919 A GBoxed type defined as:
2927 Can be represented either by a JSON object:
2939 The current function for registering a serialization and a
2940 deserialization pair does not allow registering more than one
2941 deserialization function - which means that there can only be
2942 one way to deserialize a GBoxed type into a specific JsonNode
2945 To allow having more than one JsonNodeType associated to a
2946 GBoxed type and a deserialization function we need to split out
2947 the registration of the serialization and deserialization functions
2948 into two distinct functions.
2950 doc/reference/json-glib-sections.txt | 3 +-
2951 json-glib/json-gboxed.c | 115 ++++++++++++++++++++++------------
2952 json-glib/json-gobject.c | 4 +-
2953 json-glib/json-gobject.h | 59 +++++++++---------
2954 tests/test-serialize-boxed.c | 7 +-
2955 5 files changed, 112 insertions(+), 76 deletions(-)
2957 commit 61d54cc9e2a3098e876e700a9248428f400a5368
2958 Author: Tristan Van Berkom <tristan.van.berkom@gmail.com>
2959 Date: Thu Nov 12 12:59:03 2009 +0000
2961 serializable: Make Serializable in charge of parsing
2963 If a GObject class implements JsonSerializable and has overridden
2964 the serialize_property() vfunc then the Serializable should be fully in
2965 charge of serializing a property - that is: JSON-GLib should not try to
2966 add a fallback in case the serialize_property() implementation returned
2969 This is a change in semantics for JsonSerializable implementations.
2971 http://bugzilla.openedhand.com/show_bug.cgi?id=1859
2973 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2975 json-glib/json-gobject.c | 7 +++++--
2976 1 files changed, 5 insertions(+), 2 deletions(-)
2978 commit 63dc03da507a216c0764bc0e50fc62b2b77dc1b2
2979 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2980 Date: Thu Nov 12 12:38:29 2009 +0000
2982 serializable: Add methods proxying default implementations
2984 If you want to use the default implementation of serialize_property()
2985 and/or deserialize_property() from an object class implementing
2986 JsonSerializable you currently have to peek the interface vtable and
2987 then call the vfunc pointers.
2989 We can expose the default implementation through functions ourselves and
2990 simplify the required code.
2992 doc/reference/json-glib-sections.txt | 4 ++
2993 json-glib/json-gobject.h | 28 +++++++---
2994 json-glib/json-serializable.c | 92 ++++++++++++++++++++++++++++++++++
2995 3 files changed, 115 insertions(+), 9 deletions(-)
2997 commit 5f484d8c274a2b866f9a3d38eebe2baa1939b7ac
2998 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2999 Date: Thu Nov 12 12:03:13 2009 +0000
3001 gobject: Add deprecation annotations
3003 This makes it easier to detect when building without
3004 JSON_DISABLE_DEPRECATED.
3006 json-glib/json-gobject.h | 4 ++--
3007 1 files changed, 2 insertions(+), 2 deletions(-)
3009 commit 3c7811bf24d4b957da730949af6795b728db5bad
3010 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3011 Date: Thu Nov 12 12:02:41 2009 +0000
3013 build: Build without deprecations
3015 Make sure that JSON-GLib is built without using deprecated API.
3017 json-glib/Makefile.am | 1 +
3018 1 files changed, 1 insertions(+), 0 deletions(-)
3020 commit 923311ee52b77f53c5c529e497ea2a24efaf23ea
3021 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3022 Date: Thu Nov 12 12:01:04 2009 +0000
3024 tests: Do not use deprecated API
3026 Tests should not be using API marked as deprecated.
3028 tests/Makefile.am | 2 +-
3029 tests/test-serialize-boxed.c | 4 ++--
3030 tests/test-serialize-complex.c | 2 +-
3031 tests/test-serialize-full.c | 2 +-
3032 tests/test-serialize-simple.c | 2 +-
3033 5 files changed, 6 insertions(+), 6 deletions(-)
3035 commit e3ae84e743e1d1a1a0202e900f443e143cb77f45
3036 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3037 Date: Thu Nov 12 11:57:45 2009 +0000
3039 tests: Verify Serializable::serialize_property()
3041 Verify that an object with a custom serialize_property() is effectively
3042 what we expect it to be when it is parsed.
3044 tests/test-serialize-complex.c | 32 ++++++++++++++++++++++++++++++++
3045 1 files changed, 32 insertions(+), 0 deletions(-)
3047 commit 7cebdd008a02e6cef0514f40327f94eba2a2088e
3048 Author: Cornelius Hald <hald@icandy.de>
3049 Date: Thu Nov 12 11:37:54 2009 +0000
3051 Doubles are converted to strings containing commas
3053 Under some locales (e.g. de_DE) a double is converted to a string
3054 containing a comma instead of a dot. That breaks the JSON syntax.
3057 Double: 0.34 is converted to 0,34 when using locale de_DE
3059 http://bugzilla.openedhand.com/show_bug.cgi?id=1826
3061 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
3063 json-glib/json-generator.c | 7 ++++++-
3064 1 files changed, 6 insertions(+), 1 deletions(-)
3066 commit 30d4efb775cb416212c00e3ececb0f0147739f40
3067 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3068 Date: Thu Nov 12 11:28:17 2009 +0000
3070 Update Introspection annotations
3072 • Fix the transfer rules for JsonNode, JsonObject and JsonArray
3075 • Annotate the methods returning lists
3077 json-glib/json-array.c | 18 +++++++++---------
3078 json-glib/json-node.c | 15 ++++++++-------
3079 json-glib/json-object.c | 25 +++++++++++++------------
3080 json-glib/json-parser.c | 5 +++--
3081 4 files changed, 33 insertions(+), 30 deletions(-)
3083 commit 47cd2f678a8321faac0e2d00a3538181e7bc1cbf
3084 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3085 Date: Thu Nov 12 11:27:36 2009 +0000
3087 build: Add more flags to the maintainer cflags list
3089 configure.ac | 4 +++-
3090 1 files changed, 3 insertions(+), 1 deletions(-)
3092 commit ecc185d1c542f6ff41f84be026dc380f611a5d6e
3093 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3094 Date: Thu Nov 12 10:09:17 2009 +0000
3096 enum-types: Put back a missing static
3098 The GEnumValue array defining the enumeration type values must be
3099 static, otherwise everything will crash when trying to retrieve the
3100 enumeration data from the GEnumClass.
3102 json-glib/json-enum-types.c.in | 2 +-
3103 1 files changed, 1 insertions(+), 1 deletions(-)
3105 commit 84f5af58c23b174cc9708e81ce8ccbfffa6e68eb
3106 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3107 Date: Fri Oct 30 10:46:32 2009 +0000
3109 object: Return values list in insertion order
3111 Since we return the member names in insertion order, we should also
3112 return the member values in the same order.
3114 This also allows us to get rid of the (yucky) internal copies of
3115 g_hash_table_get_keys() and g_hash_table_get_values(), since we use
3116 the hash table only for storage and lookup purposes.
3118 json-glib/json-object.c | 55 ++++++-----------------------------------------
3119 1 files changed, 7 insertions(+), 48 deletions(-)
3121 commit a25a1ded25e5d1f605cffd6da7a5e036151aa70c
3122 Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
3123 Date: Thu Oct 29 14:01:04 2009 +0000
3125 tests: Verify parsing bare values
3127 http://bugzilla.openedhand.com/show_bug.cgi?id=1856
3129 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
3131 tests/test-parser.c | 38 +++++++++++++++++++++++++++++++++-----
3132 1 files changed, 33 insertions(+), 5 deletions(-)
3134 commit 026ea0357fbe95e2acd43555e3b5d00e329c9740
3135 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3136 Date: Thu Oct 29 13:59:44 2009 +0000
3138 parser: Advance when parsing bare values
3140 A missing get_next_token() prevents getting the contents of
3141 the tokenizer in order to place them into the JsonNode.
3143 json-glib/json-parser.c | 1 +
3144 1 files changed, 1 insertions(+), 0 deletions(-)
3146 commit 578111be53065a2bbeda73865bfa4e178f185649
3147 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3148 Date: Wed Oct 28 16:54:34 2009 +0000
3150 introspection: Fix the GIR generation
3152 The rule for creating the JSON-GLib GIR file should use the
3153 json-glib.la shared object, to avoid using the installed
3154 copy of JSON-GLib when compiling the typelib.
3156 The include file for JSON-GLib is json-glib/json-gobject.h as
3157 well: json-glib/json-object.h does not exist.
3159 json-glib/Makefile.am | 11 ++++++++---
3160 1 files changed, 8 insertions(+), 3 deletions(-)
3162 commit 8f8ce87730fc0bf102a707e84c4f6106b215cfab
3163 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3164 Date: Wed Oct 28 16:23:39 2009 +0000
3166 gobject: Use from/to data naming convention
3168 Be more GLib-like, and use
3170 <namespace>_<type>_from_data()
3171 <namespace>_<type>_to_data()
3173 Instead of the homebrew "construct" and "serialize", when dealing
3174 with string buffers.
3178 • adding json_gobject_from_data() to deprecate
3179 json_construct_gobject()
3180 • adding json_gobject_to_data() to deprecate
3181 json_serialize_gobject()
3183 The json_construct_gobject() function also contains a mistake: it
3184 uses gsize with the special value of -1 meaning "slurp the whole
3185 string", but gsize is an unsigned type. The newly added
3186 json_gobject_from_data() correctly uses gssize instead.
3188 json-glib/json-gobject.c | 63 +++++++++++++++++++++++++++++++++++++++++++---
3189 json-glib/json-gobject.h | 10 +++++++
3190 2 files changed, 69 insertions(+), 4 deletions(-)
3192 commit 00b4d200849e232cd904d23d3593d6f95252b483
3193 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3194 Date: Wed Oct 28 16:05:19 2009 +0000
3196 gobject: Uniform JSON<->GObject mapping code
3198 Rename json_gobject_new() to json_gobject_deserialize(), and
3199 json_gobject_dump() to json_gobject_serialize(); this maps the
3202 Also for consistency, change the serialize() return value and
3203 the deserialize() argument to be JsonNodes of type JSON_NODE_OBJECT.
3205 doc/reference/json-glib-sections.txt | 4 +-
3206 json-glib/json-gobject.c | 82 ++++++++++++++++++++++------------
3207 json-glib/json-gobject.h | 10 ++--
3208 3 files changed, 61 insertions(+), 35 deletions(-)
3210 commit fc0607c740b153acc96e4df12a12b042e08e831b
3211 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3212 Date: Wed Oct 28 12:01:21 2009 +0000
3214 docs: Add long descriptions
3216 The json-boxed and json-serializable sections are missing the
3217 long description for the API reference.
3219 json-glib/json-gboxed.c | 49 +++++++++++++++++++++++++++++++++++++---
3220 json-glib/json-serializable.c | 5 +++-
3221 2 files changed, 49 insertions(+), 5 deletions(-)
3223 commit 498827110f3d635e545c7351732551676a06a1bf
3224 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3225 Date: Wed Oct 28 10:07:39 2009 +0000
3227 docs: Add the 0.10 symbols index
3229 doc/reference/json-glib-docs.xml | 5 +++++
3230 1 files changed, 5 insertions(+), 0 deletions(-)
3232 commit 0979bbceb654c5e4b5dadf1e6f7e85bb9df87ca5
3233 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3234 Date: Tue Oct 27 20:58:08 2009 +0000
3236 docs: Split out GObject-related sections
3238 Like commit c176f70e593c9cfb4901cd9f27ce54b8aa7152f2 did for the
3239 source code, the documentation should be split three-ways:
3241 • GObject-related API
3243 • GBoxed-related API
3245 doc/reference/Makefile.am | 15 +++++++--------
3246 doc/reference/json-glib-docs.xml | 2 ++
3247 doc/reference/json-glib-sections.txt | 33 +++++++++++++++++++++++++++------
3248 3 files changed, 36 insertions(+), 14 deletions(-)
3250 commit 2f56ba9021ec4fe1574630404d6b24e4813cf1eb
3251 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3252 Date: Tue Oct 27 20:57:52 2009 +0000
3254 docs: Documentation fixes for gtk-doc
3256 json-glib/json-gboxed.c | 8 +++++---
3257 1 files changed, 5 insertions(+), 3 deletions(-)
3259 commit c176f70e593c9cfb4901cd9f27ce54b8aa7152f2
3260 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3261 Date: Tue Oct 27 20:49:09 2009 +0000
3263 build: Split out GBoxed and Serializable
3265 The json-gobject.c is getting pretty crowded; we should split out
3266 the JsonBoxed API and the JsonSerialized implementation into their
3267 separate source files.
3269 json-glib/Makefile.am | 4 +
3270 json-glib/json-gboxed.c | 275 ++++++++++++++++++++++++++++
3271 json-glib/json-gobject-private.h | 39 ++++
3272 json-glib/json-gobject.c | 371 +-------------------------------------
3273 json-glib/json-serializable.c | 154 ++++++++++++++++
3274 5 files changed, 476 insertions(+), 367 deletions(-)
3276 commit 373fa3d9b73391b38620fbd9ce9b69f358e5f4c8
3277 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3278 Date: Tue Oct 27 18:10:19 2009 +0000
3280 gobject: Make GObject<->JsonObject functions public
3282 The functions mapping a GObject to and from a JsonObject should
3283 be public, as they can be used by parsers.
3285 json-glib/json-gobject.c | 30 ++++++++++++++++++++++++++++--
3286 json-glib/json-gobject.h | 16 ++++++++++------
3287 2 files changed, 38 insertions(+), 8 deletions(-)
3289 commit 85f7a8e8206168d95b3ef9c02aa584f0fae5b37e
3290 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3291 Date: Tue Oct 27 18:03:11 2009 +0000
3293 gobject: Reuse the list data
3295 Since we ignore all members that don't have a corresponding
3296 GParamSpec for the class we cannot use:
3298 members = g_list_prepend (members, pspec->name);
3300 Because pspec might also be NULL. We can reuse the GList iterator
3301 data field, since that points to data internal to the JsonObject
3302 we are iterating over.
3304 json-glib/json-gobject.c | 2 +-
3305 1 files changed, 1 insertions(+), 1 deletions(-)
3307 commit ff986ee5b8df45255f4f5ab01be0bbad893bc55e
3308 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3309 Date: Tue Oct 27 17:53:34 2009 +0000
3311 gobject: Add experimental GBoxed<->JSON transformation
3313 Serializing and deserializing GBoxed types is fairly complicated
3314 currently. If a GObject implements JsonSerializable it is possible
3315 for the class to intercept the JsonNode, parse it manually and
3316 then set the value to the property.
3318 This leaves a hole opened for:
3320 • manual (de)serialization of GBoxed types
3321 • (de)serialization of GBoxed properties in classes not
3322 implementing JsonSerializable
3324 In order to serialize and deserialize a GBoxed JSON-GLib should
3325 provide a mechanism similar to the GValue transformation functions:
3326 when registering the boxed type the developer should also be able
3327 to register a serialization and a deserialization functions pair
3330 (GBoxed type, JSON type)
3332 The serialization function would be:
3334 JsonNode *(* JsonBoxedSerializeFunc) (gconstpointer boxed);
3336 And, conversely, the deserialization function would be:
3338 gpointer (* JsonBoxedDeserializeFunc) (JsonNode *node);
3340 Obviously, the whole machinery works only for GBoxed types that
3341 register the serialization and deserialization functions.
3343 .gitignore | 68 ++++++-----
3344 json-glib/json-gobject.c | 264 +++++++++++++++++++++++++++++++++++++++++-
3345 json-glib/json-gobject.h | 37 ++++++
3346 tests/Makefile.am | 8 +-
3347 tests/test-serialize-boxed.c | 263 +++++++++++++++++++++++++++++++++++++++++
3348 5 files changed, 602 insertions(+), 38 deletions(-)
3350 commit 7f6a73a0964b66b15e8b5a9858b9bc76b010f67b
3351 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3352 Date: Tue Oct 27 17:43:38 2009 +0000
3354 node: Add a private NodeType-to-string converter
3356 Useful for debugging and logging purposes.
3358 json-glib/json-node.c | 23 ++++++++++++++++++++++-
3359 json-glib/json-types-private.h | 2 ++
3360 2 files changed, 24 insertions(+), 1 deletions(-)
3362 commit 3f8990f7a4c362590f19e427aae2f68f27303fe6
3363 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3364 Date: Tue Oct 27 17:42:14 2009 +0000
3366 Remove a stray ';' that broke deserializing GStrv
3368 The stray semicolon was preventing the GPtrArray from being
3371 json-glib/json-gobject.c | 2 +-
3372 1 files changed, 1 insertions(+), 1 deletions(-)
3374 commit 8e550ac4dbb5500a40c7adad88868ede40397db7
3375 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3376 Date: Tue Oct 27 17:41:38 2009 +0000
3378 Fix compiler warnings (remove unused variables)
3380 json-glib/json-gobject.c | 3 +--
3381 1 files changed, 1 insertions(+), 2 deletions(-)
3383 commit 3b994a52d9c34f67e4ac52aa4bb0c380789fbd60
3384 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3385 Date: Tue Oct 27 17:40:55 2009 +0000
3387 build: Export MAINTAINER_CFLAGS
3389 Apparently, the MAINTAINER_CFLAGS were ignored.
3392 1 files changed, 1 insertions(+), 0 deletions(-)
3394 commit 0810711a7fbb915ba9397a66e77babb30765d090
3395 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3396 Date: Tue Oct 27 17:40:23 2009 +0000
3398 build: Use AM_PROG_CC_C_O
3400 Use the Automake macro to enable per-target compiler flags.
3403 1 files changed, 1 insertions(+), 1 deletions(-)
3405 commit d664f886372afbe1d54e633240e7b7e06ebc45c8
3406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3407 Date: Tue Oct 27 17:40:03 2009 +0000
3409 Fix compiler warnings (remove unused variables)
3411 tests/test-generator.c | 4 ++--
3412 tests/test-serialize-full.c | 1 -
3413 2 files changed, 2 insertions(+), 3 deletions(-)
3415 commit 83dea3b3dd2281dca206e0873b5fed0a2a3d50de
3416 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3417 Date: Tue Oct 27 14:01:24 2009 +0000
3419 gobject: Support constructor properties
3421 The GObject deserialization code currently skips all the constructor
3422 and constructor-only properties. In order to implement them we can
3423 add a preliminary pass on the JSON object members and build a
3426 As we don't have a GObject instance we cannot really use the
3427 Serializable interface to provide custom parsing for complex data
3428 structures, thus we fall back to the default deserialization code
3431 json-glib/json-gobject.c | 98 ++++++++++++++++++++++++++++++++++++++-----
3432 tests/test-serialize-full.c | 11 +++--
3433 2 files changed, 93 insertions(+), 16 deletions(-)
3435 commit 2616938c7c042fced9be197205a535a8b420534e
3436 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3437 Date: Tue Oct 27 11:57:38 2009 +0000
3439 build: Clean up the build environment
3441 Some of the rules can be moved into their own files to be included
3444 • silent rules (QUIET_*)
3445 • glib-mkenums rules
3446 • glib-genmarshal rules
3448 Also, the test suite rules should be moved from the top-level of
3449 the project into the build/autotools directory and then included
3450 only where it makes sense.
3452 This requires changing most of the build system to use the new
3457 Makefile.decl | 61 -------------------------
3458 build/Makefile.am | 12 ++++-
3459 build/autotools/Makefile.am | 21 +++++++--
3460 build/autotools/Makefile.am.enums | 43 +++++++++++++++++
3461 build/autotools/Makefile.am.gtest | 61 +++++++++++++++++++++++++
3462 build/autotools/Makefile.am.marshal | 45 ++++++++++++++++++
3463 build/autotools/Makefile.am.silent | 17 +++++++
3464 doc/Makefile.am | 12 ++++-
3465 doc/reference/Makefile.am | 5 +-
3466 json-glib/Makefile.am | 86 +++++++++++------------------------
3467 json-glib/tests/Makefile.am | 12 +++--
3468 tests/Makefile.am | 15 +++----
3469 14 files changed, 251 insertions(+), 148 deletions(-)
3471 commit 5406301b0e3bf74c0d7ae47a618c416d5c6dc29d
3472 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3473 Date: Tue Oct 27 11:30:55 2009 +0000
3475 gobject: Serialize properties holding a GObject
3477 Like we deserialize them, we can serialize GObject properties
3478 defined using GParamSpecObject.
3480 json-glib/json-gobject.c | 14 ++++++++++++++
3481 1 files changed, 14 insertions(+), 0 deletions(-)
3483 commit 3a2176ebf96b33716d1b50068ca44b1d3cd9b0c8
3484 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3485 Date: Tue Oct 27 11:29:32 2009 +0000
3487 tests: Use properties to change values
3489 The values inside _init() should match the default values of the
3490 properties as specified by the GParamSpec. If we want to verify
3491 a non-default value we should specify the value when instantiating
3494 tests/test-serialize-simple.c | 4 ++--
3495 1 files changed, 2 insertions(+), 2 deletions(-)
3497 commit 1ff48cdc5d773925bda1ddf8bc904a9ea6a5e643
3498 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3499 Date: Tue Oct 27 11:18:51 2009 +0000
3501 gobject: Split GObject serialization code
3503 Like for the deserialization of a GObject into a JsonObject we
3504 should split out the serialization of a GObject into a JsonObject
3505 part of json_serialize_gobject() into its own private function.
3507 json-glib/json-gobject.c | 113 +++++++++++++++++++++++++---------------------
3508 1 files changed, 61 insertions(+), 52 deletions(-)
3510 commit 27afed8dc89bf9562c3536f0a053d250e70eea4d
3511 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3512 Date: Tue Oct 27 10:30:27 2009 +0000
3514 gobject: Recurse in GParamSpecObject properties
3516 Use the newly added json_gobject_new() internal function to
3517 recurse into properties defined using GParamSpecObject.
3519 The same rules used by json_construct_gobject() apply to the
3520 properties storing a GObject - including JsonSerializable
3523 The test case for serialization and deserialization of a
3524 GObject has been updated to include a property holding a
3527 json-glib/json-gobject.c | 14 +++++++++-
3528 tests/test-serialize-full.c | 58 +++++++++++++++++++++++++++++++++++++-----
3529 2 files changed, 64 insertions(+), 8 deletions(-)
3531 commit 317447b52455c56b0123168ab127ce026d7d0c22
3532 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3533 Date: Tue Oct 27 10:20:42 2009 +0000
3535 gobject: Split JSON to GObject code
3537 If we want to be able to parse a GParamSpecObject property
3538 we need to use the same code as json_construct_gobject(), minus
3541 json-glib/json-gobject.c | 152 +++++++++++++++++++++++++---------------------
3542 1 files changed, 83 insertions(+), 69 deletions(-)
3544 commit cba7db96581343e3cbd8e5eb067026efb8cac24e
3545 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3546 Date: Mon Oct 26 22:36:01 2009 +0000
3548 object: Guarantee insertion order
3550 When iterating over the members of a JsonObject, or when retrieving
3551 the list of members, the insertion order should be preserved by the
3552 JsonObject. This is simply implemented by keeping a mirror list of
3555 Apparently, though JSON does not guarantee any ordering, it is somewhat
3556 expected by JSON (and ECMAScript) users.
3558 json-glib/json-object.c | 67 +++++++++++++++++++++-------------------
3559 json-glib/json-types-private.h | 3 ++
3560 tests/test-generator.c | 3 +-
3561 3 files changed, 40 insertions(+), 33 deletions(-)
3563 commit d5bebce0286aef5c4b4110c16c22a8ef3dc38405
3564 Author: Emmanuele Bassi <ebassi@gnome.org>
3565 Date: Mon Sep 28 18:15:48 2009 +0100
3567 [node] Add HOLDS macros for quick type checking
3569 JsonNode should mimick GValue's API and have macros for easy type checking
3571 doc/reference/json-glib-sections.txt | 7 ++++-
3572 json-glib/json-types.h | 51 ++++++++++++++++++++++++++++++++++
3573 json-glib/tests/node-test.c | 2 +-
3574 3 files changed, 58 insertions(+), 2 deletions(-)
3576 commit 17fc731ed54b754285bac76c7ac23eac6b96bf24
3577 Author: Emmanuele Bassi <ebassi@gnome.org>
3578 Date: Mon Sep 28 14:02:14 2009 +0100
3580 [tests] Add a test case for Object members with empty strings
3582 Both the Object API and the Parser should not choke on members with
3583 empty strings as their value. The Object should just have a member
3584 associated with a JSON_NODE_VALUE node type and an empty string as
3587 json-glib/tests/object-test.c | 13 +++++++++++++
3588 tests/test-parser.c | 1 +
3589 2 files changed, 14 insertions(+), 0 deletions(-)
3591 commit 5181bf24bf3cde743de590ab3ffa0471df9e4799
3592 Author: Emmanuele Bassi <ebassi@gnome.org>
3593 Date: Tue Sep 22 15:42:34 2009 +0100
3595 Post-branch bump to 0.9.1
3597 configure.ac | 4 ++--
3598 1 files changed, 2 insertions(+), 2 deletions(-)
3600 commit 3f83767109979c660469b3b5862fbd04469a8011
3601 Author: Emmanuele Bassi <ebassi@gnome.org>
3602 Date: Tue Sep 22 15:39:46 2009 +0100
3607 configure.ac | 8 ++++++--
3608 2 files changed, 8 insertions(+), 2 deletions(-)
3610 commit bd604338b25884edbd86cf531505259948484323
3611 Author: Emmanuele Bassi <ebassi@gnome.org>
3612 Date: Tue Sep 22 15:34:18 2009 +0100
3614 [parser] Return the right expected token
3616 When parsing a value embedded in a Json Object or Array we need to
3617 return the right expected token so that the generated syntax error
3620 json-glib/json-parser.c | 16 ++++++++++++++--
3621 1 files changed, 14 insertions(+), 2 deletions(-)
3623 commit f99cf3d3d038eff786f85409f3d04736e2068e74
3624 Author: Emmanuele Bassi <ebassi@gnome.org>
3625 Date: Tue Sep 22 15:34:07 2009 +0100
3627 [parser] Whitespace clean up
3629 json-glib/json-parser.c | 11 ++++++-----
3630 1 files changed, 6 insertions(+), 5 deletions(-)
3632 commit 6c20aae2b49a6d64db5e7d1ff3a82950ea9dc58a
3633 Author: Emmanuele Bassi <ebassi@gnome.org>
3634 Date: Mon Sep 7 22:30:11 2009 +0100
3636 [build] Prefer automake-1.11 silent rules to shave
3638 If we have automake-1.11 installed then we should enable the
3639 AM_SILENT_RULES machinery instead of Shave - even though Shave's
3640 output is a lot cleaner.
3643 configure.ac | 20 ++++++++++++++++----
3644 json-glib/Makefile.am | 6 +++++-
3645 3 files changed, 22 insertions(+), 6 deletions(-)
3647 commit 7b4bb80930f12a366d5e5a5eea5b398972cd4891
3648 Author: Emmanuele Bassi <ebassi@gnome.org>
3649 Date: Sun Sep 6 17:31:41 2009 +0100
3651 [node] Add JsonNode.set_parent()
3653 Add the setter for JsonNode:parent, to be used in JsonParser instead
3654 of directly accessing the JsonNode structure.
3656 doc/reference/json-glib-sections.txt | 1 +
3657 json-glib/json-node.c | 18 ++++++++++++++++++
3658 json-glib/json-parser.c | 14 +++++++-------
3659 json-glib/json-types.h | 2 ++
3660 tests/test-parser.c | 10 ++++++++++
3661 5 files changed, 38 insertions(+), 7 deletions(-)
3663 commit c1b76a73e0b2c6e0c7afced10bd6079a0f5b0f5d
3664 Author: Emmanuele Bassi <ebassi@gnome.org>
3665 Date: Sun Sep 6 17:15:46 2009 +0100
3667 [parser] Clean up value parsing
3669 The code that parses a value within an object and an array should
3670 be moved to its own function to avoid duplication.
3672 json-glib/json-parser.c | 199 +++++++++++++++++++----------------------------
3673 tests/test-parser.c | 9 +-
3674 2 files changed, 86 insertions(+), 122 deletions(-)
3676 commit d3f005c27d9a8a46259205f2f8077fb01a6a3609
3677 Author: Emmanuele Bassi <ebassi@gnome.org>
3678 Date: Sun Sep 6 14:44:18 2009 +0100
3680 [docs] Use proper xi:include for indexes
3682 Instead of relying on gtk-doc we can do the proper inclusion of the
3683 API indexes using XInclude, complete with fallbacks.
3685 Also, we should include the additional pages that gtk-doc generates
3686 for us, like the annotations glossary and the object tree.
3688 doc/reference/json-glib-docs.xml | 17 +++++++++++++++++
3689 1 files changed, 17 insertions(+), 0 deletions(-)
3691 commit 7442a3011a860f12cbd40b6687b699b0b648d6b7
3692 Author: Emmanuele Bassi <ebassi@gnome.org>
3693 Date: Wed Sep 2 16:41:51 2009 +0100
3695 [docs] Small documentation fixes
3697 Clean up some notes, and add introspection annotations where needed.
3699 json-glib/json-generator.c | 11 ++++++-----
3700 json-glib/json-gobject.c | 24 ++++++++++++------------
3701 json-glib/json-parser.c | 3 ++-
3702 3 files changed, 20 insertions(+), 18 deletions(-)
3704 commit d7d1e702b1d67fa1ec830a46650a02367ce1dd29
3705 Author: Emmanuele Bassi <ebassi@gnome.org>
3706 Date: Sun Aug 16 05:52:46 2009 +0100
3708 [docs] Remove note about normalization of member names
3710 The normalization of member names inside JsonObject was removed by
3711 commit 8a7e0f381dc7e49745680df92ebb428f18bf4832.
3713 json-glib/json-object.c | 6 +-----
3714 1 files changed, 1 insertions(+), 5 deletions(-)
3716 commit 9362ccc891c914dbcf1be6bd067b0b37ae688057
3717 Author: Emmanuele Bassi <ebassi@gnome.org>
3718 Date: Thu Aug 13 15:10:27 2009 +0100
3720 [docs] Generate new symbols index for 0.6 and 0.8
3722 doc/reference/json-glib-docs.xml | 8 ++++++++
3723 1 files changed, 8 insertions(+), 0 deletions(-)
3725 commit 087bfe83412dca8de1b2dd67c74f490e44ecb96a
3726 Author: Emmanuele Bassi <ebassi@gnome.org>
3727 Date: Thu Aug 13 15:10:07 2009 +0100
3729 [docs] Remove the version number from the title
3731 doc/reference/json-glib-docs.xml | 11 ++++++++---
3732 1 files changed, 8 insertions(+), 3 deletions(-)
3734 commit c7d31d55b50b23c6c1067cb3541f73dddc12127a
3735 Author: Emmanuele Bassi <ebassi@gnome.org>
3736 Date: Thu Aug 13 15:08:56 2009 +0100
3738 [docs] Let gtk-doc build the correct index
3740 Use the --name-space command line argument for gtk-doc to detect the
3741 right namespace of JSON-GLib, and create a useful index.
3743 doc/reference/Makefile.am | 2 +-
3744 1 files changed, 1 insertions(+), 1 deletions(-)
3746 commit be07ba7b983b34231ad2f0fd7fe60ae47b14ce7e
3747 Author: Emmanuele Bassi <ebassi@gnome.org>
3748 Date: Thu Aug 13 14:51:42 2009 +0100
3750 [docs] Rename main file to json-glib-docs.xml
3752 doc/reference/Makefile.am | 36 +++++----
3753 doc/reference/json-glib-docs.sgml | 163 -------------------------------------
3754 doc/reference/json-glib-docs.xml | 163 +++++++++++++++++++++++++++++++++++++
3755 3 files changed, 182 insertions(+), 180 deletions(-)
3757 commit 9661ff342b439b5b398f7bf9ba931d6139d5143d
3758 Author: Emmanuele Bassi <ebassi@gnome.org>
3759 Date: Wed Aug 12 16:09:33 2009 +0100
3761 Post-release version bump to 0.7.7
3764 1 files changed, 1 insertions(+), 1 deletions(-)
3766 commit d5922b42604c09ba7ebcb0adc1566d0a33a99808
3767 Author: Emmanuele Bassi <ebassi@gnome.org>
3768 Date: Wed Aug 12 16:06:40 2009 +0100
3770 [release] 0.7.6 (brown paper bag)
3773 1 files changed, 1 insertions(+), 1 deletions(-)
3775 commit 9a647104ca77d4c4272845fed4bfae028098afd3
3776 Author: Emmanuele Bassi <ebassi@gnome.org>
3777 Date: Wed Aug 12 15:56:00 2009 +0100
3779 Actually use the int64 support in the Scanner
3781 We switched everything to 64 bit integers but then I forgot to
3782 enable the support for actually making the tokenizer store the
3783 parsed integers into a 64 bit value.
3785 Bad Emmanuele, no cookie for you.
3787 json-glib/json-parser.c | 12 ++++++------
3788 json-glib/json-scanner.c | 1 +
3789 2 files changed, 7 insertions(+), 6 deletions(-)
3791 commit f3e0618ee1d8aa90d0ba22e9abe5c7d6b849e0ea
3792 Author: Emmanuele Bassi <ebassi@gnome.org>
3793 Date: Wed Aug 12 14:08:35 2009 +0100
3795 Post-release version bump to 0.7.5
3798 1 files changed, 1 insertions(+), 1 deletions(-)
3800 commit c1c691fc6b58a990ee9bb17504189064051d5a12
3801 Author: Emmanuele Bassi <ebassi@gnome.org>
3802 Date: Wed Aug 12 13:56:08 2009 +0100
3807 1 files changed, 1 insertions(+), 1 deletions(-)
3809 commit 12bc49ea08c50da9a7ed53c475fe873421432ebe
3810 Author: Emmanuele Bassi <ebassi@gnome.org>
3811 Date: Wed Aug 12 14:01:49 2009 +0100
3813 Update the NEWS file
3816 1 files changed, 2 insertions(+), 0 deletions(-)
3818 commit 75b888c26eebf7784c5af045a8c6af353e56b2e9
3819 Author: Emmanuele Bassi <ebassi@gnome.org>
3820 Date: Wed Aug 12 13:59:52 2009 +0100
3822 [build] Use our libtool for the typelib
3824 When compiling the GIR into a .typelib file we can use our own
3825 libtool script; shave will proxy it to the right place.
3827 json-glib/Makefile.am | 20 +++++++++++---------
3828 1 files changed, 11 insertions(+), 9 deletions(-)
3830 commit d84c0f367b06e094ff693d60a724b9f141c33ca9
3831 Author: Emmanuele Bassi <ebassi@gnome.org>
3832 Date: Wed Aug 12 13:48:17 2009 +0100
3834 Disallow single header file inclusion
3836 The correct header file for JSON-GLib is, and has always been,
3837 json-glib.h. Anything else was not supported, as we've been
3838 moving around stuff for a while, now.
3840 This commit enforces the single include file, using the same
3841 policy enacted by other libraries, like: GLib, GTK+ and Clutter.
3843 json-glib/json-enum-types.h.in | 4 ++++
3844 json-glib/json-generator.h | 4 ++++
3845 json-glib/json-glib.h | 6 ++++++
3846 json-glib/json-parser.h | 4 ++++
3847 json-glib/json-types.h | 4 ++++
3848 json-glib/json-version.h.in | 4 ++++
3849 6 files changed, 26 insertions(+), 0 deletions(-)
3851 commit 3adba015e1c1f9edc7b7b2c4364d65f813216225
3852 Author: Emmanuele Bassi <ebassi@gnome.org>
3853 Date: Wed Aug 12 13:46:46 2009 +0100
3855 [introspection] Use json-gobject.h
3857 The json-gobject.h header file includes json-glib.h and all the
3858 GObject-related serialization and deserialization API; we assume
3859 that if you want introspection you should be using this header
3860 and not the plain json-glib.h.
3862 json-glib/Makefile.am | 2 +-
3863 1 files changed, 1 insertions(+), 1 deletions(-)
3865 commit a9386e20bf8e16e17a89dda24781c63bf495aa97
3866 Author: Emmanuele Bassi <ebassi@gnome.org>
3867 Date: Wed Aug 12 13:46:05 2009 +0100
3869 [tests] Include json-glib.h
3871 Do not include json-types.h, use the correct global include.
3873 json-glib/tests/array-test.c | 2 +-
3874 json-glib/tests/node-test.c | 2 +-
3875 json-glib/tests/object-test.c | 2 +-
3876 3 files changed, 3 insertions(+), 3 deletions(-)
3878 commit 8a7e0f381dc7e49745680df92ebb428f18bf4832
3879 Author: Emmanuele Bassi <ebassi@gnome.org>
3880 Date: Wed Aug 12 12:29:34 2009 +0100
3882 Do not sanitize the object member's name
3884 JsonObject sanitizes the name of the member to replace all
3885 characters defined by G_STR_DELIMITERS with '_'. This is
3886 absolutely brain damaged, since a member name can be any
3889 Obviously, if a member name maps to a GObject property is
3890 entirely up to the GObject code to decide whether to sanitize
3891 the member name or not.
3893 json-glib/json-object.c | 35 ++++++-----------------------------
3894 1 files changed, 6 insertions(+), 29 deletions(-)
3896 commit ad638149c2cc1a17c0d2ad1482d932c8940c64e0
3897 Author: Emmanuele Bassi <ebassi@gnome.org>
3898 Date: Wed Aug 12 12:22:44 2009 +0100
3903 1 files changed, 2 insertions(+), 0 deletions(-)
3905 commit d87b18675ac02f42be23bf4070134690b8b9934b
3906 Author: Emmanuele Bassi <ebassi@gnome.org>
3907 Date: Wed Aug 12 12:13:11 2009 +0100
3909 Auto-promote integer types to G_TYPE_INT64
3911 The JSON RFC does not specify the size of the integer type, thus
3912 implicitly falling back to machine-size.
3914 This would all be fine and dandy if some demented Web Developer (and
3915 I use the term "developer" *very much* loosely) did not decide to
3916 use integers to store unique identifiers for objects; obviously, you
3917 can't have more than 2^32-1 status messages in a database with
3918 millions of users who update their status multiple times per day.
3921 Anyway, some languages do a type auto-promotion from Integer to
3922 Long, thus pushing the limit of allowed positive values -- until the
3923 next integer overflow, that is. C, and GLib, do not do that
3924 transparently for us so we need to:
3926 - always use gint64 when parsing a JSON data stream using
3928 - move all the Node, Object and Array APIs to gint64
3929 - auto-promote G_TYPE_INT to G_TYPE_INT64 when setting
3931 - auto-promote and auto-demote G_TYPE_INT properties when
3932 (de)serializing GObjects.
3934 The GLib types used internally by JSON-GLib are, thus:
3936 integer -> G_TYPE_INT64
3937 boolean -> G_TYPE_BOOLEAN
3938 float -> G_TYPE_DOUBLE
3939 string -> G_TYPE_STRING
3941 json-glib/json-array.c | 4 +-
3942 json-glib/json-generator.c | 4 +-
3943 json-glib/json-gobject.c | 58 ++++++++++++++++++++++++++++++---------
3944 json-glib/json-node.c | 61 +++++++++++++++++++++++++++++++++--------
3945 json-glib/json-object.c | 4 +-
3946 json-glib/json-types.h | 12 ++++----
3947 json-glib/tests/array-test.c | 2 +-
3948 json-glib/tests/node-test.c | 14 +++++-----
3949 json-glib/tests/object-test.c | 2 +-
3950 tests/test-generator.c | 4 +-
3951 tests/test-parser.c | 4 +-
3952 tests/test-serialize-full.c | 9 +-----
3953 12 files changed, 121 insertions(+), 57 deletions(-)
3955 commit 7411cadc0fdd9ffc2bd7004c9980913ac857a495
3956 Author: Emmanuele Bassi <ebassi@gnome.org>
3957 Date: Sun Jun 28 23:52:34 2009 +0100
3961 tests/test-parser.c | 94 +++++++++++++++++++++++++-------------------------
3962 1 files changed, 47 insertions(+), 47 deletions(-)
3964 commit 112a8ec8dfd9c46304008b62e8ab256ed7714644
3965 Author: Emmanuele Bassi <ebassi@gnome.org>
3966 Date: Sun Jun 28 23:49:51 2009 +0100
3968 [parser] Advance the tokenizer to avoid an infinite loop
3970 The tokenizer is not advanced when we peek a base value and return.
3971 This causes an endless loop which terminates only if the OOM killer
3972 in the kernel gets the right process.
3974 Thanks to Thomas Weidner for catching and reporting the issue.
3976 json-glib/json-parser.c | 16 +++++++++++-----
3977 1 files changed, 11 insertions(+), 5 deletions(-)
3979 commit 4ecdd6bedb7961f3a33971aa1f2338115a60f7f3
3980 Author: Emmanuele Bassi <ebassi@gnome.org>
3981 Date: Sun Jun 28 23:48:36 2009 +0100
3983 [tests] Verify parsing base values
3985 A JSON document containing just a base value (null, true/false, an
3986 integer, a floating point value or a string) is still a valid JSON
3987 document, and JsonParser must create the correct JsonNode.
3989 tests/test-parser.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++
3990 1 files changed, 59 insertions(+), 0 deletions(-)
3992 commit 9a3b7a020716e23f1330915f1768a7c00bffbeb5
3993 Author: Emmanuele Bassi <ebassi@gnome.org>
3994 Date: Thu Jun 25 10:37:43 2009 +0100
3996 [docs] Fix typo in JsonObject::set_object_member()
3998 The passed value is a pointer to a JsonObject, not to a JsonArray.
4000 json-glib/json-object.c | 2 +-
4001 1 files changed, 1 insertions(+), 1 deletions(-)
4003 commit 68d872f15022217c0ff1cf516aec917d600fd762
4004 Author: Rodrigo Moya <rodrigo@gnome-db.org>
4005 Date: Wed Jun 24 14:07:18 2009 +0200
4007 Use JSON_NODE_OBJECT, not JSON_NODE_ARRAY when creating the node in json_object_set_object_member
4009 Reviewed by Emmanuele Bassi
4011 json-glib/json-object.c | 2 +-
4012 1 files changed, 1 insertions(+), 1 deletions(-)
4014 commit 6e706fb2b7a371f25c169ed25d4b617f2dc05b63
4015 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4016 Date: Sun Jun 21 10:58:24 2009 +0100
4018 [generator] Pre-compute the escape table
4020 Instead of allocating the escape table to be used with g_strescape()
4021 for each string we can have it unrolled already in code.
4023 Thanks to: Christian Persch <chpe@gnome.org>
4027 http://bugzilla.openedhand.com/show_bug.cgi?id=1648
4029 json-glib/json-generator.c | 43 +++++++++++++++++++++++++++++++++----------
4030 1 files changed, 33 insertions(+), 10 deletions(-)
4032 commit a9416b7e2823f1fffe639d90bb352a337815a70e
4033 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4034 Date: Thu Jun 18 11:23:56 2009 +0100
4036 Post-release bump to 0.7.3
4039 1 files changed, 1 insertions(+), 1 deletions(-)
4041 commit 1d13a409bb911141653a75d44e90feac9bfc2862
4042 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4043 Date: Thu Jun 18 11:20:35 2009 +0100
4048 1 files changed, 1 insertions(+), 1 deletions(-)
4050 commit ff97e679522c52be6b5dfe0f851416cdeac7f921
4051 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4052 Date: Thu Jun 18 11:14:37 2009 +0100
4054 [release] Update NEWS
4056 NEWS | 19 +++++++++++++++++++
4057 1 files changed, 19 insertions(+), 0 deletions(-)
4059 commit 182ca9cd9a3fabaa2533d841154856c61c570d08
4060 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4061 Date: Thu Jun 18 11:14:13 2009 +0100
4063 [build] Fixes for passing distcheck
4065 Makefile.am | 17 ++++++++++++-----
4066 build/Makefile.am | 2 ++
4067 build/autotools/Makefile.am | 4 +++-
4068 doc/reference/Makefile.am | 20 +++++++++++---------
4069 json-glib/Makefile.am | 27 ++++++++++++++-------------
4070 5 files changed, 42 insertions(+), 28 deletions(-)
4072 commit 019d8d4c1c56250cd507283c0fc478a38364e92a
4073 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4074 Date: Thu Jun 18 10:05:57 2009 +0100
4076 [build] Let gtk-doc ignore json-types-private.h
4078 The type definitions in json-types-private.h are not meant to be
4079 documented or scanned.
4081 doc/reference/Makefile.am | 1 +
4082 1 files changed, 1 insertions(+), 0 deletions(-)
4084 commit 41649f049637864cfce21f6615c7d8bcaf3f03b8
4085 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4086 Date: Thu Jun 18 10:03:23 2009 +0100
4088 [docs] Update the README file
4090 README | 30 ++++++++++++++++++++----------
4091 1 files changed, 20 insertions(+), 10 deletions(-)
4093 commit 97fc00b1a5e3878074488ee93d9b52570983da1f
4094 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4095 Date: Thu Jun 18 10:03:05 2009 +0100
4097 [build] Use AS_CASE m4 macro, instead of AS_IF
4099 configure.ac | 30 ++++++++++++++++--------------
4100 1 files changed, 16 insertions(+), 14 deletions(-)
4102 commit 610cd260ac50c09809d6273c328ecea5a21f51bb
4103 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4104 Date: Thu Jun 18 10:02:39 2009 +0100
4106 [build] Require automake 1.10
4108 configure.ac | 6 +++---
4109 1 files changed, 3 insertions(+), 3 deletions(-)
4111 commit bddc717b8b6f2f1501c30f78159c20394665d335
4112 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4113 Date: Tue Jun 9 11:48:02 2009 +0100
4115 [build] Add introspection generation
4117 Build the Introspection data when compiling JSON-GLib; this way, the
4118 API should be available to other languages automatically.
4121 build/autotools/Makefile.am | 7 +++-
4122 build/autotools/introspection.m4 | 88 ++++++++++++++++++++++++++++++++++++++
4123 configure.ac | 13 +++--
4124 json-glib/Makefile.am | 30 +++++++++++++
4125 5 files changed, 135 insertions(+), 6 deletions(-)
4127 commit 3ddeb7a8779a4c51453289aa15af130af480eea6
4128 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4129 Date: Tue Jun 9 11:24:54 2009 +0100
4131 [build] Add AS_COMPILER_FLAGS
4133 Use the m4 AS_COMPILER_FLAGS macro to check for the maintainer
4134 compiler flags supported by the C compiler. This should allow the
4135 build to handle gracefully different versions of GCC.
4139 build/autotools/Makefile.am | 2 +-
4140 build/autotools/as-compiler-flag.m4 | 62 +++++++++++++++++++++++++++++++++++
4141 configure.ac | 5 ++-
4142 5 files changed, 70 insertions(+), 2 deletions(-)
4144 commit 9f817eae9fe0d09441fa78b11ef148a3f4affe22
4145 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4146 Date: Tue Jun 9 11:21:19 2009 +0100
4148 [tests] Do not namespace with json-
4150 tests/test-generator.c | 10 +++++-----
4151 tests/test-parser.c | 18 +++++++++---------
4152 2 files changed, 14 insertions(+), 14 deletions(-)
4154 commit bde3da83b1a144fc0eff1db5a2aa790462bb685e
4155 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4156 Date: Tue Jun 9 11:15:53 2009 +0100
4158 [git ignore] Add m4 files under build/
4161 1 files changed, 3 insertions(+), 0 deletions(-)
4163 commit c12786444e0175464295fb9a98c600060bffa0ed
4164 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4165 Date: Tue Jun 9 11:13:30 2009 +0100
4167 Fix license and copyright notices
4169 THere is no such thing as the "Lesser General Public License
4170 version 2": the LGPL v2 is the "Library GPL", and has been
4171 superceded by v2.1 with the new "Lesser GPL" name.
4173 Also, the copyright is now Intel Corp.
4175 json-glib/json-array.c | 8 ++++++--
4176 json-glib/json-generator.c | 8 ++++++--
4177 json-glib/json-generator.h | 8 ++++++--
4178 json-glib/json-glib.h | 23 +++++++++++++++++++++++
4179 json-glib/json-gobject.h | 8 ++++++--
4180 json-glib/json-node.c | 8 ++++++--
4181 json-glib/json-object.c | 9 ++++++---
4182 json-glib/json-parser.c | 8 ++++++--
4183 json-glib/json-parser.h | 8 ++++++--
4184 json-glib/json-version.h.in | 8 ++++++--
4185 10 files changed, 77 insertions(+), 19 deletions(-)
4187 commit 069cdc8c4ea9024b1583f074815e16e9ddf7db7f
4188 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4189 Date: Tue Jun 9 11:05:23 2009 +0100
4191 [node] Make JsonNode completely private
4193 The JsonNode structure has always been meant to be completely
4194 opaque; we indirectly exposed the :type member, but only for
4195 access through the JSON_NODE_TYPE() macro.
4197 Since that macro has become a proxy for the json_node_get_node_type()
4198 function we can safely move everything into a private, uninstalled
4199 header file and let JsonNode be completely opaque to the developer.
4201 json-glib/Makefile.am | 1 +
4202 json-glib/json-array.c | 9 +-----
4203 json-glib/json-generator.c | 2 +
4204 json-glib/json-gobject.c | 2 +
4205 json-glib/json-node.c | 2 +-
4206 json-glib/json-object.c | 9 +-----
4207 json-glib/json-parser.c | 2 +
4208 json-glib/json-types-private.h | 61 ++++++++++++++++++++++++++++++++++++++++
4209 json-glib/json-types.h | 38 +++++++++---------------
4210 json-glib/tests/node-test.c | 8 ++--
4211 10 files changed, 89 insertions(+), 45 deletions(-)
4213 commit 930fdf4c4dff1f5310a946c2a9f5b6860f7c8ba8
4214 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4215 Date: Sun May 17 19:44:41 2009 +0100
4217 Add JsonArray iteration function
4219 Similarly to commit 3057a172 for JsonObject, the newly added
4220 json_array_foreach_element() iterates over a JSON array data
4223 doc/reference/json-glib-sections.txt | 2 +
4224 json-glib/json-array.c | 35 ++++++++++++++++++++++++
4225 json-glib/json-types.h | 21 +++++++++++++++
4226 json-glib/tests/array-test.c | 48 ++++++++++++++++++++++++++++++++++
4227 4 files changed, 106 insertions(+), 0 deletions(-)
4229 commit 3057a1722e27a13b39ddec4754fb6abda1aea199
4230 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4231 Date: Sat May 16 20:09:07 2009 +0100
4233 Add JsonObject iteration function
4235 The json_object_foreach_member() function iterates over a JsonObject
4238 doc/reference/json-glib-sections.txt | 2 +
4239 json-glib/json-object.c | 55 ++++++++++++++++++++++++++++++++
4240 json-glib/json-types.h | 25 +++++++++++++-
4241 json-glib/tests/object-test.c | 57 ++++++++++++++++++++++++++++++++++
4242 4 files changed, 137 insertions(+), 2 deletions(-)
4244 commit 5778210462b8b7a1a5d98466508276f712ea8c47
4245 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4246 Date: Sat May 16 13:53:58 2009 +0100
4248 Update the enum types templates
4250 The autogenerated enumeration types registration code should
4251 be using the same pattern used by the G_DEFINE_TYPE() macros,
4252 with GOnce to enable atomic (and thread-safe) type registration.
4254 json-glib/json-enum-types.c.in | 18 +++++++++++++-----
4255 1 files changed, 13 insertions(+), 5 deletions(-)
4257 commit 43d4bd151cd6979ecc6fdad5fab3e7988117c7be
4258 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4259 Date: Sun Apr 19 00:36:08 2009 +0100
4261 [doap] Add a category element
4263 json-glib.doap | 1 +
4264 1 files changed, 1 insertions(+), 0 deletions(-)
4266 commit 58999bddac74c176fbd8544fa2cd30e2f067d863
4267 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4268 Date: Fri Apr 17 15:45:42 2009 +0100
4270 [node] Add is_null() method
4272 The json_node_is_null() function is just a quick check for
4275 doc/reference/json-glib-sections.txt | 1 +
4276 json-glib/json-node.c | 20 ++++++++++++++++++++
4277 json-glib/json-types.h | 1 +
4278 3 files changed, 22 insertions(+), 0 deletions(-)
4280 commit ba46d8e07a8e2dd50a3b1fff8b8c3303e3686480
4281 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4282 Date: Fri Apr 17 15:38:40 2009 +0100
4284 [node] Make JSON_NODE_TYPE call a function
4286 Second pass at adding type safety to the JsonNode type checks.
4288 The JSON_NODE_TYPE macro now calls the json_node_get_node_type()
4289 function which hides the JsonNode.type structure field and gives
4290 us a little bit more of future compatibility.
4292 json-glib/json-types.h | 2 +-
4293 1 files changed, 1 insertions(+), 1 deletions(-)
4295 commit d1e7d1ecd05687624f7149dad75a5fac9a645e72
4296 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4297 Date: Fri Apr 17 15:36:09 2009 +0100
4299 [node] Add function version of JSON_NODE_TYPE macro
4301 First pass at adding some type safety to the JsonNode type checks,
4302 and at removing every mention of the JsonNode interna fields.
4304 doc/reference/json-glib-sections.txt | 1 +
4305 json-glib/json-node.c | 18 ++++++++++++++++++
4306 json-glib/json-types.h | 5 +++--
4307 3 files changed, 22 insertions(+), 2 deletions(-)
4309 commit f2f43d17254317d35ea0cc8206592ecbcb856b68
4310 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4311 Date: Fri Apr 17 15:22:04 2009 +0100
4313 Intern the remaining type names
4315 JsonArray and JsonSerializable type names should be interned like
4316 the rest of the types.
4318 json-glib/json-array.c | 2 +-
4319 json-glib/json-gobject.c | 3 ++-
4320 2 files changed, 3 insertions(+), 2 deletions(-)
4322 commit bfcc50d5b199e72ed3e5a7556ac2294442e3ac55
4323 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4324 Date: Fri Apr 17 15:19:42 2009 +0100
4326 [docs] Remove newline from the version template
4328 The newline at the end of the version.xml.in file is retained
4329 when using its contents as the version entity in the API reference
4332 doc/reference/version.xml.in | 2 +-
4333 1 files changed, 1 insertions(+), 1 deletions(-)
4335 commit cbc92b72b2d7870a916f24055f8c2aa2371aa4ea
4336 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4337 Date: Fri Apr 17 15:02:44 2009 +0100
4339 [tests] Use the typed accessors in test-generator
4341 Other than using the GValue-based methods we should also be using
4342 the typed JsonNode accessors and the newly added JsonObject and
4343 JsonArray typed accessors.
4345 tests/test-generator.c | 63 +++++++----------------------------------------
4346 1 files changed, 10 insertions(+), 53 deletions(-)
4348 commit e437ce609e333c5b8ede21174dfba032c1bbfb00
4349 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4350 Date: Fri Apr 17 14:49:25 2009 +0100
4352 Add convenience accessors to JsonArray
4354 Like commit 5bb6ea91 did for JsonObject, we should add typed
4355 convenience accessors to JsonArray in order to cut down the
4356 amount of nodes needed when parsing and generating JSON data
4359 As for JsonObject, the amount of types is small enough to avoid
4360 the combinatorial API explosion.
4362 doc/reference/json-glib-sections.txt | 22 ++-
4363 json-glib/json-array.c | 386 ++++++++++++++++++++++++++++++++++
4364 json-glib/json-types.h | 57 ++++--
4365 3 files changed, 447 insertions(+), 18 deletions(-)
4367 commit 4819ca625d1b73270797f913495a3835297950c2
4368 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4369 Date: Fri Apr 17 11:44:01 2009 +0100
4371 Update after the json_object_add_member() deprecation
4373 Since json_object_add_member() has been deprecated and it's using
4374 a gcc compiler attribute to loudly complain while compiling the
4375 library, we should restore the sanity and use json_object_set_member()
4378 json-glib/json-gobject.c | 2 +-
4379 json-glib/json-parser.c | 6 +++---
4380 json-glib/tests/node-test.c | 2 +-
4381 json-glib/tests/object-test.c | 4 ++--
4382 tests/test-generator.c | 26 +++++++++++++-------------
4383 tests/test-serialize-complex.c | 4 ++--
4384 tests/test-serialize-full.c | 4 ++--
4385 7 files changed, 24 insertions(+), 24 deletions(-)
4387 commit 5bb6ea91accb1d35f0ea4dae8f2b8f71bdbd134d
4388 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4389 Date: Fri Apr 17 11:35:57 2009 +0100
4391 Deprecate add_member() and add set_member() and friends
4393 The add_member() method of JsonObject has wee bit weird semantics: if
4394 the member to be added already exists it prints a scary warning and
4395 returns - and yet it calls g_hash_table_replace() internally as if it
4396 overwrites the member.
4398 So, instead of changing semantics midway we can:
4400 - add a json_object_set_member() which adds a new member and
4401 overwrites existing members
4403 - deprecate json_object_add_member()
4405 While we're at it, we can add convenience wrappers for set_member()
4406 and get_member() that don't require us toying with nodes; luckily,
4407 since the amount of valid types we can add to a JsonObject is limited,
4408 this does not lead to a combinatorial API explosion.
4410 doc/reference/json-glib-sections.txt | 17 ++
4411 json-glib/json-object.c | 489 ++++++++++++++++++++++++++++++++--
4412 json-glib/json-types.h | 83 +++++--
4413 3 files changed, 555 insertions(+), 34 deletions(-)
4415 commit 2a768cb5e553afc4a9ac0d9bf1dc36a183821983
4416 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4417 Date: Thu Apr 16 19:57:11 2009 +0100
4419 [doap] Add GNOME extensions
4421 The GNOME project provides an extension to DOAP that allows the
4422 description of the maintainer/author of a project to specify the
4425 json-glib.doap | 3 +++
4426 1 files changed, 3 insertions(+), 0 deletions(-)
4428 commit 17822292acb4d1c9b4f414ea0e4b858809d3b858
4429 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4430 Date: Thu Apr 16 18:18:45 2009 +0100
4432 [doap] Add 0.6 releases
4434 Describe the releases of the 0.6 cycle.
4436 json-glib.doap | 18 ++++++++++++++++++
4437 1 files changed, 18 insertions(+), 0 deletions(-)
4439 commit 470f3a4299153362deea260c806d9b87870af3de
4440 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4441 Date: Thu Apr 16 18:03:31 2009 +0100
4443 Add JSON-GLib DOAP description
4445 Use DOAP (Description Of A Project) to describe JSON-GLib. The
4446 GNOME Cgit instance will pick up the DOAP file and update itself.
4448 json-glib.doap | 30 ++++++++++++++++++++++++++++++
4449 1 files changed, 30 insertions(+), 0 deletions(-)
4451 commit 764a3f79fe0d8d13e24bd921a16a46f4603bcbf1
4452 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4453 Date: Thu Apr 16 11:28:24 2009 +0100
4455 Add MAINTAINERS file
4457 Every GNOME project needs a MAINTAINERS file.
4460 1 files changed, 3 insertions(+), 0 deletions(-)
4462 commit f9956b4eadcfc9bbd5c0bc4b861ff782779e8a9a
4463 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4464 Date: Tue Apr 14 00:09:35 2009 +0100
4466 [node] Do not overwrite when copying
4468 Bug 1353 - Copying JSON_NODE_VALUE nodes unreliable at best
4470 When copying a JsonNode to another we do an implicit memcpy using:
4474 Which works well enough with pointers, but makes a mess out of the
4477 We should just copy the type of the original JsonNode and leave the
4478 rest to the switch() block.
4480 In order to catch potential regressions, we also need a more
4481 thorough test unit for the JsonNode copy operation.
4483 json-glib/json-node.c | 2 +-
4484 json-glib/tests/node-test.c | 45 +++++++++++++++++++++++++++++++++++++++++-
4485 2 files changed, 44 insertions(+), 3 deletions(-)
4487 commit e2c65a75d68aafa26f2084928e732961e48beb99
4488 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4489 Date: Mon Apr 13 23:46:52 2009 +0100
4491 [build] Improve the build system
4493 Clean up the configure.ac and Makefile.am files to use something
4494 that is not entirely made of FAIL.
4496 Also, use Shave to sanitize the libtool and compiler incantations
4497 and restore sanity to the build system.
4501 build/Makefile.am | 1 +
4502 build/autotools/Makefile.am | 3 +
4503 build/autotools/shave-libtool.in | 69 +++++++++++++++++++++++++++++
4504 build/autotools/shave.in | 79 +++++++++++++++++++++++++++++++++
4505 build/autotools/shave.m4 | 77 ++++++++++++++++++++++++++++++++
4506 configure.ac | 88 +++++++++++++++++++++----------------
4507 json-glib/Makefile.am | 89 +++++++++++++++++++------------------
4508 9 files changed, 339 insertions(+), 81 deletions(-)
4510 commit 8080df63b4b4eae3b59d1214fc67f48149f49773
4511 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4512 Date: Mon Apr 13 22:25:42 2009 +0100
4514 [parser] Prevent leaks on error codepaths
4516 Static analysis of the code showed some potential leaks inside
4517 error paths for JsonParser.
4519 Thanks to: Gordon Williams <gordon.williams@collabora.co.uk>
4521 json-glib/json-parser.c | 38 +++++++++++++++++++++++++++++++++-----
4522 1 files changed, 33 insertions(+), 5 deletions(-)
4524 commit ca329a7d5c1185cdf15fb85891693eca30295de1
4525 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4526 Date: Mon Apr 13 22:30:05 2009 +0100
4528 [docs] Show an example of assignment
4530 Since I decided to rant about assignments in JSON definitions,
4531 I also need to show what an assignment looks like.
4533 json-glib/json-parser.c | 17 ++++++++++++-----
4534 1 files changed, 12 insertions(+), 5 deletions(-)
4536 commit b28d5894060aac1239e23665f42be3946b5450e7
4537 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4538 Date: Mon Apr 13 22:29:36 2009 +0100
4542 Add more spaces and remove the ` from the error message.
4544 json-glib/json-parser.c | 18 ++++++++++++------
4545 1 files changed, 12 insertions(+), 6 deletions(-)
4547 commit a19a51df9e95e36edf949e68581731bd31959081
4548 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4549 Date: Mon Apr 13 22:08:21 2009 +0100
4551 [tests] Use 'static' when registering enum types
4553 Bug 1393 - Regression tests fails on OpenBSD
4555 When registering a GEnumClass we need to set the GEnumValue array
4556 as static const because g_enum_register_static() does not contain
4557 the word "static" just for fun.
4559 Reported by: Jasper <jasper@humppa.nl>
4561 tests/test-serialize-full.c | 2 +-
4562 1 files changed, 1 insertions(+), 1 deletions(-)
4564 commit e583a9ec95f3d157091ec1e1a2ac8c493f0e23b2
4565 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4566 Date: Mon Apr 13 22:04:10 2009 +0100
4568 [build] Use gnome-autogen script
4570 When setting up the build environment we should use the tools that
4571 GNOME provides instead of calling autoreconf.
4573 autogen.sh | 21 ++++++++-------------
4574 1 files changed, 8 insertions(+), 13 deletions(-)
4576 commit 1d92c73bc05423872581d513f355783d4864edd5
4577 Author: Emmanuele Bassi <ebassi@gnome.org>
4578 Date: Fri Nov 28 17:24:15 2008 +0000
4580 Abstract the loading code into its own function
4582 The load_from_file() method must set the is_filename/filename fields
4583 of the JsonParserPrivate structure, so that the error handler can
4584 use them to print out the file, as well as the line in case of
4587 Since load_from_data() needs to unset those two fields, to avoid
4588 printing invalid/stale information, we need to have a generic "load"
4589 function that can be invoked by both load_from_data() and
4590 load_from_file(), and leave the JsonParser object set up to those
4593 Hence, a private json_parser_load() has been added, moving most of
4594 the code out of json_parser_load_from_data(). This function does not
4595 perform type checks and requires that the length of the memory buffer
4596 containing the JSON data stream is already a positive integer.
4598 json-glib/json-parser.c | 175 +++++++++++++++++++++++++++-------------------
4599 1 files changed, 103 insertions(+), 72 deletions(-)
4601 commit 6e7958785096806b3ffa60a4937642d713a051f2
4602 Author: Emmanuele Bassi <ebassi@gnome.org>
4603 Date: Fri Nov 28 17:19:17 2008 +0000
4605 Display the filename inside error messages
4607 Instead of just relaying the line number both when parsing files
4608 and memory buffers, JsonParser should also print out the file name
4609 in case it is available.
4611 The error message format should be make-like and emacs-friendly,
4614 filename:line_number: error message
4616 so that editors and development environments can parse the errors
4619 This commit adds the filename string, and a boolean flag for checking
4620 whether the filename is set, inside the JsonParser private data
4621 structure. The boolean flag is checked inside the JsonScanner error
4622 handler when populating the GError or when printing the warning
4625 json-glib/json-parser.c | 28 ++++++++++++++++++++++++++--
4626 1 files changed, 26 insertions(+), 2 deletions(-)
4628 commit a5bea353dead0bd69f9664df86050fc829a2dcd5
4629 Author: Emmanuele Bassi <ebassi@gnome.org>
4630 Date: Mon Nov 3 16:01:03 2008 +0000
4632 Bump to 0.7.1 after stable branch
4634 configure.ac | 6 +++---
4635 1 files changed, 3 insertions(+), 3 deletions(-)
4637 commit cf4c7360c69c0fe7587ec2456cd10839e1d0c1d6
4638 Author: Emmanuele Bassi <ebassi@gnome.org>
4639 Date: Mon Nov 3 15:51:21 2008 +0000
4641 Correctly terminate a string array
4643 When converting from a JsonArray of strings to a GStrv we need to
4644 add a NULL at the end of the GPtrArray we use to perform the
4647 This two lines patch fixes the issue.
4651 Patch by: Kouhei Sutou <kou@cozmixng.org>
4653 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
4655 json-glib/json-gobject.c | 4 +++-
4656 1 files changed, 3 insertions(+), 1 deletions(-)
4658 commit 9b94bc7f99063f45a2725861369f36b53ec3d440
4659 Author: Emmanuele Bassi <ebassi@openedhand.com>
4660 Date: Fri Jun 13 11:56:46 2008 +0100
4662 Sync up with the current stable release numbers
4664 configure.ac | 4 ++--
4665 1 files changed, 2 insertions(+), 2 deletions(-)
4667 commit 4dd392342003147d55eee98db50e11d344b287d4
4668 Author: Emmanuele Bassi <ebassi@openedhand.com>
4669 Date: Fri Jun 13 11:27:50 2008 +0100
4671 Fix a variable shadowing
4673 json-glib/json-generator.c | 3 ++-
4674 1 files changed, 2 insertions(+), 1 deletions(-)
4676 commit a02a42ef47e61456747e511556097b903f07d68a
4677 Merge: fdbad1c bc5c722
4678 Author: Emmanuele Bassi <ebassi@openedhand.com>
4679 Date: Fri Jun 13 11:23:08 2008 +0100
4681 Merge the fix for bug #965
4683 Merge branch 'bug-965'
4685 commit bc5c7225535ef447743ac59ecdba8c237549a108
4686 Author: Emmanuele Bassi <ebassi@openedhand.com>
4687 Date: Fri Jun 13 11:22:35 2008 +0100
4689 Conditionally compile the test suite
4691 If the --disable-glibtest command line switch has been given to the
4692 configure script, the test suite should be disabled and not built.
4694 This commit disables recursion in the tests/ and json-glib/tests
4695 when the ENABLE_GLIB_TEST Makefile conditional has been set.
4697 Makefile.am | 6 +++++-
4698 configure.ac | 3 +++
4699 json-glib/Makefile.am | 2 ++
4700 3 files changed, 10 insertions(+), 1 deletions(-)
4702 commit fdbad1cfd6ad6da9fab631f945ab8d2e85228fdf
4703 Author: Emmanuele Bassi <ebassi@openedhand.com>
4704 Date: Fri Jun 13 11:06:15 2008 +0100
4706 Escape to special characters in JsonGenerator
4708 When using json-glib to write a blog system, some deserialized objects
4709 were not been interpreted by javascript because there were line breaks
4710 in generated strings.
4712 Patch from Lincoln de Sousa.
4714 Bug #958 - JsonGenerator does not escape special characters
4716 Signed-off-by: Emmanuele Bassi <ebassi@openedhand.com>
4718 json-glib/json-generator.c | 17 ++++++++++++++++-
4719 1 files changed, 16 insertions(+), 1 deletions(-)
4721 commit 81c02ef3db6901655f8a7117e5e2675d37096daf
4722 Author: Emmanuele Bassi <ebassi@openedhand.com>
4723 Date: Sun May 18 11:56:04 2008 +0100
4725 Remove the include for json-scanner.h
4727 The json-scanner.h header file is not shipped with JSON-GLib anymore.
4729 json-glib/json-glib.h | 1 -
4730 1 files changed, 0 insertions(+), 1 deletions(-)
4732 commit 9713843a4294b3e35a29125bf2bf1867a6443f27
4733 Author: Emmanuele Bassi <ebassi@openedhand.com>
4734 Date: Tue May 6 11:48:25 2008 +0100
4736 Remove debian packaging
4738 debian/changelog | 5 ---
4740 debian/control | 61 ---------------------------------------
4741 debian/copyright | 27 -----------------
4742 debian/libjson-glib-dev.install | 3 --
4743 debian/libjson-glib-doc.install | 1 -
4744 debian/libjson-glib-doc.links | 1 -
4745 debian/libjson-glib0.install | 1 -
4746 debian/rules | 12 -------
4747 9 files changed, 0 insertions(+), 112 deletions(-)
4749 commit d67000ab6c5ae6710f48f0517c98600af7cdaa0e
4750 Author: Emmanuele Bassi <ebassi@openedhand.com>
4751 Date: Mon May 5 23:17:58 2008 +0100
4753 Update changelog for the debian packages
4755 debian/changelog | 3 +--
4756 1 files changed, 1 insertions(+), 2 deletions(-)
4758 commit 0830873edc5203655f04868184cedb428b6d2d54
4759 Author: Emmanuele Bassi <ebassi@openedhand.com>
4760 Date: Mon May 5 23:16:38 2008 +0100
4762 Update git ignore file
4764 .gitignore | 72 ++++++++++++++++++-----------------------------------------
4765 1 files changed, 22 insertions(+), 50 deletions(-)
4767 commit eb1cd29f78ff52e3ec3b063716fb86b5f2c5ae4a
4768 Author: Emmanuele Bassi <ebassi@openedhand.com>
4769 Date: Mon May 5 23:13:17 2008 +0100
4771 Remove Vala bindings
4773 Vala bindings are maintained out of tree, directly inside the Vala
4774 repository and official packages, so there's no point in duplicating
4778 configure.ac | 15 -----
4779 contrib/Makefile.am | 6 --
4780 contrib/json-glib-1.0.deps | 1 -
4781 contrib/json-glib-1.0.vapi | 139 --------------------------------------------
4782 contrib/json-object.vala | 46 ---------------
4783 contrib/json-test.vala | 122 --------------------------------------
4784 7 files changed, 1 insertions(+), 334 deletions(-)
4786 commit 094acd1663210e803a8dab496f6de8066ef11f44
4787 Author: Emmanuele Bassi <ebassi@openedhand.com>
4788 Date: Mon May 5 12:44:29 2008 +0100
4793 1 files changed, 1 insertions(+), 1 deletions(-)
4795 commit a725bac9a287883f2d4f32130c7faedb121f754b
4796 Author: Emmanuele Bassi <ebassi@openedhand.com>
4797 Date: Mon May 5 12:39:01 2008 +0100
4801 configure.ac | 4 ++--
4802 1 files changed, 2 insertions(+), 2 deletions(-)
4804 commit cd598180b12a212525427a8cddf11bc0ed4f1836
4805 Author: Emmanuele Bassi <ebassi@openedhand.com>
4806 Date: Mon May 5 12:38:50 2008 +0100
4808 Update NEWS for 0.6.0
4811 1 files changed, 5 insertions(+), 0 deletions(-)
4813 commit 26479ec3c342889a2ee822bdf73f2e5fb6e170d7
4814 Merge: 8b5b5f6 7ff9134
4815 Author: Emmanuele Bassi <ebassi@openedhand.com>
4816 Date: Mon May 5 12:35:16 2008 +0100
4818 Add debian packaging to the master branch
4820 Merge branch 'debian-packaging'
4822 commit 8b5b5f6a4fdfb219897d75893889014f44ba4bb0
4823 Author: Emmanuele Bassi <ebassi@openedhand.com>
4824 Date: Mon May 5 12:34:35 2008 +0100
4826 Add json-scanner.h to the EXTRA_DIST content
4828 Fix a distcheck error because json-scanner.h is not packaged inside
4831 json-glib/Makefile.am | 1 +
4832 1 files changed, 1 insertions(+), 0 deletions(-)
4834 commit 705a73eb3dfa2323ec86c1d299b567a15acde7a6
4835 Author: Emmanuele Bassi <ebassi@openedhand.com>
4836 Date: Mon May 5 12:24:22 2008 +0100
4838 Style fixes for the configure output
4840 configure.ac | 10 +++++-----
4841 1 files changed, 5 insertions(+), 5 deletions(-)
4843 commit e017d392a281594e350a8d74c142cbe014753d7e
4844 Author: Emmanuele Bassi <ebassi@openedhand.com>
4845 Date: Mon May 5 12:24:00 2008 +0100
4847 Fix typo in the libtool flags arguments
4849 The correct syntax for passing the versioning information to
4850 libtool is '-version-info', not '-versio-info'.
4853 1 files changed, 1 insertions(+), 1 deletions(-)
4855 commit 2051be2f7185733bbc62d10ec096538fec924638
4856 Author: Emmanuele Bassi <ebassi@openedhand.com>
4857 Date: Mon May 5 12:22:59 2008 +0100
4859 Add the Bugzilla URL to AC_INIT
4861 JSON-GLib has a bugzilla product on bugzilla.openedhand.com. By adding
4862 the URL to the configure.ac template, the configure script will print
4863 it when invoked with the --help command line switch.
4865 configure.ac | 7 ++++++-
4866 1 files changed, 6 insertions(+), 1 deletions(-)
4868 commit 4cb8a9078172c5f56ac5d56417b8656a7053df4a
4869 Author: Emmanuele Bassi <ebassi@openedhand.com>
4870 Date: Mon May 5 12:21:40 2008 +0100
4874 Make autogen.sh test for the location of the current directory, and
4875 warn if the checkout is not complete.
4877 If gtk-doc is not installed (for instance, on an embedded minimal
4878 set up), do not fail and just provide a stub gtk-doc.make.
4880 autogen.sh | 28 +++++++++++++++++++++++++---
4881 1 files changed, 25 insertions(+), 3 deletions(-)
4883 commit 1571fcddd6f2a245f4bb6ad64f82d24fc9c4cec0
4884 Author: Emmanuele Bassi <ebassi@openedhand.com>
4885 Date: Thu May 1 23:00:28 2008 +0100
4887 Test the deserialization of arrays of strings
4889 Arrays of strings are handled automatically by the GObject
4890 deserialization and serialization code. We need to test that
4891 they are correctly parsed and assigned to the instance.
4893 tests/test-serialize-full.c | 29 +++++++++++++++++++++++++++--
4894 1 files changed, 27 insertions(+), 2 deletions(-)
4896 commit 4c11d0969a44bb70acf6463ef6305999ff443be2
4897 Author: Emmanuele Bassi <ebassi@openedhand.com>
4898 Date: Thu May 1 22:58:55 2008 +0100
4900 Use an array to hold the strings in a vector
4902 Instead of building a GString by concatenating every string inside
4903 an array to deserialize the array into a string vector property,
4904 use a GPtrArray. This is far more efficient (no reallocations are
4905 necessary, as we know the size of the array) and safe (the separator
4906 used to build the string buffer and then split it might exist in
4907 one of the original strings).
4909 json-glib/json-gobject.c | 15 +++++----------
4910 1 files changed, 5 insertions(+), 10 deletions(-)
4912 commit 7ff91344d21b0c26d3a3a2834dbf09286cb1f904
4913 Author: Emmanuele Bassi <ebassi@openedhand.com>
4914 Date: Thu May 1 16:08:15 2008 +0100
4916 Remove control re-generation rule
4918 We don't have a template control, so there's not need to clean it
4919 up and regenerate it.
4921 This is why copying existing debian/rules templates is not a good
4922 idea unless you read the Debian packaging rules.
4924 debian/rules | 3 ---
4925 1 files changed, 0 insertions(+), 3 deletions(-)
4927 commit e75321e64f17d69beac0c2e131572fe081680b08
4928 Author: Emmanuele Bassi <ebassi@openedhand.com>
4929 Date: Thu May 1 15:58:31 2008 +0100
4931 Add debian packaging files
4933 The debian packaging files are obviously needed to generate Debian
4934 packages for JSON-GLib.
4936 debian/changelog | 6 ++++
4938 debian/control | 61 +++++++++++++++++++++++++++++++++++++++
4939 debian/copyright | 27 +++++++++++++++++
4940 debian/libjson-glib-dev.install | 3 ++
4941 debian/libjson-glib-doc.install | 1 +
4942 debian/libjson-glib-doc.links | 1 +
4943 debian/libjson-glib0.install | 1 +
4944 debian/rules | 15 +++++++++
4945 9 files changed, 116 insertions(+), 0 deletions(-)
4947 commit 30f9d47ecf43a17610cd9c0074ff832bfa37593c
4948 Author: Emmanuele Bassi <ebassi@openedhand.com>
4949 Date: Thu Apr 24 15:47:11 2008 +0100
4951 Test the equality of the serialize string length
4953 tests/test-serialize-simple.c | 3 +++
4954 1 files changed, 3 insertions(+), 0 deletions(-)
4956 commit 07c2b916dadb4b40fbaabf49f0e80941993cc2cf
4957 Author: Emmanuele Bassi <ebassi@openedhand.com>
4958 Date: Thu Apr 24 15:02:33 2008 +0100
4960 Export only the public symbols
4962 All the symbols starting with an underscore or with something that
4963 is not "json" are to considered private, and thus are not global
4964 to the shared object.
4966 json-glib/Makefile.am | 6 +++++-
4967 1 files changed, 5 insertions(+), 1 deletions(-)
4969 commit 179899e5da801fda0981a1d446ba420efd4021c1
4970 Author: Emmanuele Bassi <ebassi@openedhand.com>
4971 Date: Thu Apr 24 14:55:51 2008 +0100
4973 Update git ignore file
4976 1 files changed, 4 insertions(+), 0 deletions(-)
4978 commit b0daf7e3a2529dd9950d77a96a10233d68778f32
4979 Author: Emmanuele Bassi <ebassi@openedhand.com>
4980 Date: Thu Apr 24 14:54:05 2008 +0100
4982 Include the newly added json-enum-types.h header
4984 When including json-glib/json-glib.h we get everything json-glib
4985 expose as a public symbol.
4987 json-glib/json-glib.h | 1 +
4988 1 files changed, 1 insertions(+), 0 deletions(-)
4990 commit c7a7f429565195fe7aba56a254abf3637cf6fa8a
4991 Author: Emmanuele Bassi <ebassi@openedhand.com>
4992 Date: Thu Apr 24 14:52:54 2008 +0100
4994 Ignore the enumeration types header and the stamp file
4996 We don't need gtk-doc to look at those files; the enumeration
4997 types are already documented, and the get_type() function and
5000 doc/reference/Makefile.am | 2 ++
5001 1 files changed, 2 insertions(+), 0 deletions(-)
5003 commit 053bf43c813799c5f59e9241217fe31c560b5885
5004 Author: Emmanuele Bassi <ebassi@openedhand.com>
5005 Date: Thu Apr 24 14:52:07 2008 +0100
5007 Install the autogenerated enum types header
5009 The enumeration GTypes are public and meant to be used by
5010 language bindings and other users of the library.
5012 json-glib/Makefile.am | 1 +
5013 1 files changed, 1 insertions(+), 0 deletions(-)
5015 commit 5977d95866cd9763e97a47d6c9909e6a2fbf0ed1
5016 Author: Emmanuele Bassi <ebassi@openedhand.com>
5017 Date: Thu Apr 24 14:50:34 2008 +0100
5019 Autogenerate the GTypes for the enumerations
5021 json-glib/Makefile.am | 70 +++++++++++++++++++++++++++++++++----------------
5022 1 files changed, 47 insertions(+), 23 deletions(-)
5024 commit 356413e8840a614914b84f40b1d8476ba036ded4
5025 Author: Emmanuele Bassi <ebassi@openedhand.com>
5026 Date: Thu Apr 24 14:49:45 2008 +0100
5028 Add enumeration types templates for glib-mkenums
5030 The templates for glib-mkenums keep the Makefile.am sane and
5031 editable by mere mortals.
5033 json-glib/json-enum-types.c.in | 31 +++++++++++++++++++++++++++++++
5034 json-glib/json-enum-types.h.in | 26 ++++++++++++++++++++++++++
5035 2 files changed, 57 insertions(+), 0 deletions(-)
5037 commit 7d57ffc03783defbfeb26e21a14e3df32555c29d
5038 Author: Emmanuele Bassi <ebassi@openedhand.com>
5039 Date: Mon Apr 21 10:57:05 2008 +0100
5041 Update git ignore file
5044 1 files changed, 1 insertions(+), 0 deletions(-)
5046 commit 7d259e03b9a556d155ade87417ab26830c3e7684
5047 Author: Emmanuele Bassi <ebassi@openedhand.com>
5048 Date: Sun Apr 20 22:43:32 2008 +0100
5050 Validate the variable name in the assignment test
5052 Make sure that not only we report that there is an assignment
5053 and that the returned variable is not NULL, but also that the
5054 returned variable name is correct.
5056 tests/test-parser.c | 16 ++++++++++------
5057 1 files changed, 10 insertions(+), 6 deletions(-)
5059 commit 6899bca0dcf72dac0cad9dcf1a7cd10159d471e5
5060 Author: Emmanuele Bassi <ebassi@openedhand.com>
5061 Date: Sat Apr 19 23:22:29 2008 +0100
5063 Add more cases for the nested array parsing unit
5065 Try more combinations of elements inside an array with a nested
5068 tests/test-parser.c | 2 ++
5069 1 files changed, 2 insertions(+), 0 deletions(-)
5071 commit 81addb645ac5fad28619bb660624902abe981377
5072 Author: Emmanuele Bassi <ebassi@openedhand.com>
5073 Date: Sat Apr 19 23:18:54 2008 +0100
5075 Add verbose messages
5077 The unicode escaping unit should have the same verbosity as the
5080 tests/test-parser.c | 4 ++++
5081 1 files changed, 4 insertions(+), 0 deletions(-)
5083 commit 22a0db88c14895f98db76bca3cb078fbd3a2b07d
5084 Author: Emmanuele Bassi <ebassi@openedhand.com>
5085 Date: Sat Apr 19 23:09:32 2008 +0100
5087 Whitespace fixes in the licensing notice
5089 json-glib/json-scanner.h | 2 +-
5090 1 files changed, 1 insertions(+), 1 deletions(-)
5092 commit 676592cef006de16d966a1ca0469ccd0556f0e4b
5093 Author: Emmanuele Bassi <ebassi@openedhand.com>
5094 Date: Sat Apr 19 23:09:20 2008 +0100
5096 Documentation fixes in JsonNode
5098 json-glib/json-node.c | 6 +++---
5099 1 files changed, 3 insertions(+), 3 deletions(-)
5101 commit bf2249a1855b6bebe0b3528b4d5321a1ebe4b9e7
5102 Author: Emmanuele Bassi <ebassi@openedhand.com>
5103 Date: Sat Apr 19 23:08:20 2008 +0100
5105 Do not copy node data if it's not there
5107 If the source JsonNode does not contain data yet, do not try
5110 json-glib/json-node.c | 17 +++++++++++++----
5111 1 files changed, 13 insertions(+), 4 deletions(-)
5113 commit c191b2f8a8159457db3333390be10d6c7c0d4336
5114 Author: Emmanuele Bassi <ebassi@openedhand.com>
5115 Date: Sat Apr 19 23:05:03 2008 +0100
5117 Ignore json-scanner.h and its types
5119 When generating the documentation, ignore the JsonScanner header
5120 as it will not be installed.
5122 Also, we moved JsonTokenType from json-parser.h to json-scanner.h,
5123 where it belongs, so we can remove it from the (private) subsection
5124 of the json-parser section.
5126 doc/reference/Makefile.am | 7 ++++++-
5127 doc/reference/json-glib-sections.txt | 1 -
5128 2 files changed, 6 insertions(+), 2 deletions(-)
5130 commit ffbd9063556a061ba3e7e4223b924ae4766adfbd
5131 Author: Emmanuele Bassi <ebassi@openedhand.com>
5132 Date: Sat Apr 19 23:01:26 2008 +0100
5134 Do not install the JsonScanner header
5136 The JsonScanner tokenizer is an internal copy of GScanner: it should
5137 not be used outside JSON-GLib - JsonParser is the public API for
5140 json-glib/Makefile.am | 5 +++--
5141 1 files changed, 3 insertions(+), 2 deletions(-)
5143 commit df2a310a6ed0a3b32415f53076ff4c053b3fd925
5144 Author: Emmanuele Bassi <ebassi@openedhand.com>
5145 Date: Sat Apr 19 22:59:28 2008 +0100
5147 Fix the external gtk-doc references
5149 Gtk-doc can try and resolve the external symbols using the data
5150 currently installed in other locations.
5152 Since we are using GLib and GObject it would be nice to backlink
5153 to them inside our API reference.
5155 doc/reference/Makefile.am | 7 ++++---
5156 1 files changed, 4 insertions(+), 3 deletions(-)
5158 commit 6a3d8266efe505b29555db21658c241eba20fe2d
5159 Author: Emmanuele Bassi <ebassi@openedhand.com>
5160 Date: Sat Apr 19 22:57:05 2008 +0100
5162 Add GLIB_PREFIX variable
5164 The gtk-doc-fixref script needs to know the location of the
5165 libraries documentation; in order to get it, we can ask the
5166 pkg-config file of the library for its prefix.
5168 configure.ac | 5 +++++
5169 1 files changed, 5 insertions(+), 0 deletions(-)
5171 commit 4e5ec69cce8ab27f965985ba69ea11224ae39ffd
5172 Author: Emmanuele Bassi <ebassi@openedhand.com>
5173 Date: Sat Apr 19 22:28:21 2008 +0100
5175 Update the description and dependencies
5178 1 files changed, 6 insertions(+), 1 deletions(-)
5180 commit f65a5d5e30a1242a899149b732d1139891876014
5181 Author: Emmanuele Bassi <ebassi@openedhand.com>
5182 Date: Sat Apr 19 18:05:45 2008 +0100
5187 1 files changed, 1 insertions(+), 1 deletions(-)
5189 commit ab0da7c61bde715e99dd16027b198c7760b30922
5190 Author: Emmanuele Bassi <ebassi@openedhand.com>
5191 Date: Sat Apr 19 18:01:57 2008 +0100
5193 Update for 0.5.0 release
5195 NEWS | 14 ++++++++++++++
5196 1 files changed, 14 insertions(+), 0 deletions(-)
5198 commit 203927c71231cf6cec6d88161211702b7105df2d
5199 Author: Emmanuele Bassi <ebassi@openedhand.com>
5200 Date: Sat Apr 19 17:20:50 2008 +0100
5205 1 files changed, 1 insertions(+), 1 deletions(-)
5207 commit 76921ac27534aa0a25b39790ce4d99cf6e19a20c
5208 Author: Emmanuele Bassi <ebassi@openedhand.com>
5209 Date: Sat Apr 19 17:19:30 2008 +0100
5211 Verify the correct handling of Unicode escaping
5213 Check that JsonParser correctly handles Unicode characters escaped
5214 using the \uXXXX notation, as per RFC.
5216 tests/test-parser.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++
5217 1 files changed, 67 insertions(+), 0 deletions(-)
5219 commit 379a2fe972c6e7436be9f345fe018bf4fe575354
5220 Author: Emmanuele Bassi <ebassi@openedhand.com>
5221 Date: Sat Apr 19 17:16:28 2008 +0100
5223 Add support for parsing \uXXXX into Unicode
5225 JsonScanner was forked from GScanner in order to support the
5226 JSON-specific Unicode escaping.
5228 JsonScanner now intercepts the \u escape character and, if it
5229 is followed by a hexadecimal value, it will retrieve the
5230 Unicode character encoded in the following 4 values and insert
5231 the character itself in the buffer.
5233 This allows full compatibility with JSON.
5235 json-glib/json-scanner.c | 56 +++++++++++++++++++++++++++++++++++++++++-----
5236 1 files changed, 50 insertions(+), 6 deletions(-)
5238 commit 9429ecaa88cdb6705189b6970481911f11339ff6
5239 Merge: d313aa1 445a3f7
5240 Author: Emmanuele Bassi <ebassi@openedhand.com>
5241 Date: Sat Apr 19 15:33:15 2008 +0100
5243 Merge master branch back for testing JsonScanner
5245 Merge branch 'master' into json-scanner
5247 commit 445a3f71d046abed4ff99e0ab4cd9cc8e047f5be
5248 Author: Emmanuele Bassi <ebassi@openedhand.com>
5249 Date: Sat Apr 12 13:21:21 2008 +0100
5251 Allow null nodes to return a value without a warning
5253 Value nodes might contain 'null' as a valid value, so the fast accessors
5254 should not barf out when encountering a JSON_NODE_NULL instead of the
5255 expected JSON_NODE_VALUE.
5257 json-glib/json-node.c | 21 +++++++++++++++------
5258 1 files changed, 15 insertions(+), 6 deletions(-)
5260 commit 4e826d9f209a8f68023bae54c91b2bbbb202a54a
5261 Merge: 98b6e5e 2a579b5
5262 Author: Emmanuele Bassi <ebassi@openedhand.com>
5263 Date: Thu Apr 3 16:32:53 2008 +0100
5265 Merge branch 'test-framework'
5267 commit 2a579b51f38df1c009201703279a3e6cb4f57eea
5268 Author: Emmanuele Bassi <ebassi@openedhand.com>
5269 Date: Thu Apr 3 16:31:48 2008 +0100
5271 Wrap the test report information section inside an info element
5273 Makefile.decl | 6 ++++--
5274 1 files changed, 4 insertions(+), 2 deletions(-)
5276 commit 8e2e539d02b84e0fe452174f3dfab06f35a4e6a1
5277 Author: Emmanuele Bassi <ebassi@openedhand.com>
5278 Date: Sun Mar 9 20:52:29 2008 +0000
5280 Add value testing to the JsonNode unit
5282 Test the GValue API for storing fundamental types into a JsonNode.
5284 json-glib/tests/node-test.c | 29 +++++++++++++++++++++++++++++
5285 1 files changed, 29 insertions(+), 0 deletions(-)
5287 commit 646b90e79d3424a332064a6a1e9fc62d1ce99386
5288 Author: Emmanuele Bassi <ebassi@openedhand.com>
5289 Date: Wed Mar 5 17:43:06 2008 +0000
5291 Add package and version information to the test-report XML
5293 Makefile.decl | 2 ++
5294 1 files changed, 2 insertions(+), 0 deletions(-)
5296 commit b8943381b0df44d9e6e21ae8321df2376c8458a8
5297 Author: Emmanuele Bassi <ebassi@openedhand.com>
5298 Date: Wed Mar 5 16:03:24 2008 +0000
5300 Add JsonObject test unit
5302 Use a similar test unit as the JsonArray one, testing creation, empty
5303 objects, addition and removal of members.
5306 json-glib/tests/Makefile.am | 17 +++++++----
5307 json-glib/tests/object-test.c | 62 +++++++++++++++++++++++++++++++++++++++++
5308 3 files changed, 75 insertions(+), 6 deletions(-)
5310 commit 7eab612d9b200aef197fa1dffa4f89b936c76b1f
5311 Author: Emmanuele Bassi <ebassi@openedhand.com>
5312 Date: Wed Mar 5 15:46:41 2008 +0000
5314 Add element removal unit to the Array test
5316 Remove the json_array_remove_element() call from the add-element test unit
5317 and set up a separate test case for the element removal. This keeps the
5320 json-glib/tests/array-test.c | 12 ++++++++++++
5321 1 files changed, 12 insertions(+), 0 deletions(-)
5323 commit 6aa1ddb891594e0f567bc3ebeb3bf5d3ab8e7e0c
5324 Author: Emmanuele Bassi <ebassi@openedhand.com>
5325 Date: Tue Mar 4 13:07:08 2008 +0000
5327 Clean the test-report XML output, if found
5330 1 files changed, 1 insertions(+), 1 deletions(-)
5332 commit 6eee8282d327614380854d572b2680f40b2faaf5
5333 Author: Emmanuele Bassi <ebassi@openedhand.com>
5334 Date: Tue Mar 4 12:37:52 2008 +0000
5336 Update gitignore file
5338 .gitignore | 18 ++++++++----------
5339 1 files changed, 8 insertions(+), 10 deletions(-)
5341 commit d5cb48681c68c3d53d8ec331ef37fb60820a9421
5342 Author: Emmanuele Bassi <ebassi@openedhand.com>
5343 Date: Tue Mar 4 12:30:48 2008 +0000
5345 Build test-serialize-full
5347 Complete the porting of the old test suite into the new, GTest based one.
5349 The new test suite is automatically run with make test; make test-report
5350 will generate an XML report of the test.
5352 The API coverage for the data types is part of the json-glib/tests
5353 directory and will be expanded later.
5355 tests/Makefile.am | 8 ++++-
5356 tests/test-serialize-full.c | 56 ++++++++++++++++++++++++++----------------
5357 2 files changed, 41 insertions(+), 23 deletions(-)
5359 commit 1f6307ea2d7dc6ebe279d08b9f95f3074fbdd462
5360 Author: Emmanuele Bassi <ebassi@openedhand.com>
5361 Date: Tue Mar 4 12:18:19 2008 +0000
5363 Rename test-08 into test-serialize-full
5365 The test-08 case was the last numbered test unit.
5367 tests/test-08.c | 337 -------------------------------------------
5368 tests/test-serialize-full.c | 337 +++++++++++++++++++++++++++++++++++++++++++
5369 2 files changed, 337 insertions(+), 337 deletions(-)
5371 commit cdb194e8d64343e8bcb00e046c5fbeefd677b02a
5372 Author: Emmanuele Bassi <ebassi@openedhand.com>
5373 Date: Tue Mar 4 12:17:29 2008 +0000
5375 Rename test-07 into test-serialize-complex
5377 The new test-serialize-complex adds a test unit for the JsonSerializable
5378 interface; the TestObject implements the serialization interface to
5379 create a JSON data type from a boxed GType.
5381 tests/Makefile.am | 4 +
5382 tests/test-07.c | 252 --------------------------------------
5383 tests/test-serialize-complex.c | 261 ++++++++++++++++++++++++++++++++++++++++
5384 3 files changed, 265 insertions(+), 252 deletions(-)
5386 commit 4c766a029d8f6a2d06b749527020fd93fc4a4f99
5387 Author: Emmanuele Bassi <ebassi@openedhand.com>
5388 Date: Tue Mar 4 12:12:37 2008 +0000
5390 Fix compilation of test-serialize-simple and add it to the test suite
5392 The new test-serialize-simple tests the GObject integration for
5393 serializing simple GObjects into JSON.
5395 tests/Makefile.am | 4 ++++
5396 tests/test-serialize-simple.c | 5 +++--
5397 2 files changed, 7 insertions(+), 2 deletions(-)
5399 commit 325185c5955f8942ddf8d55a9e3b5d6a8c2723d1
5400 Author: Emmanuele Bassi <ebassi@openedhand.com>
5401 Date: Tue Mar 4 12:10:23 2008 +0000
5403 Rename test-06 to test-serialize-simple
5405 tests/test-06.c | 162 -----------------------------------------
5406 tests/test-serialize-simple.c | 162 +++++++++++++++++++++++++++++++++++++++++
5407 2 files changed, 162 insertions(+), 162 deletions(-)
5409 commit cbea4698c1b7284d8004fff659a7354fb3af29ee
5410 Author: Emmanuele Bassi <ebassi@openedhand.com>
5411 Date: Tue Mar 4 12:09:44 2008 +0000
5413 Move test-06 to GTest API
5415 First pass into replacing the last three numbered tests into named
5418 tests/test-06.c | 28 ++++++++++++++++++----------
5419 1 files changed, 18 insertions(+), 10 deletions(-)
5421 commit 5cc1d3d6061830de403ccbc10c2414f29cd1cf82
5422 Author: Emmanuele Bassi <ebassi@openedhand.com>
5423 Date: Tue Mar 4 10:52:51 2008 +0000
5425 Coalesce JsonGenerator test cases into a single test unit
5427 Like we did for JsonParser, JsonGenerator has now a test unit checking the
5428 output of a DOM built and dumped into a buffer.
5430 For the arrays is quite easy to verify that the output is correct;
5431 unfortunately, JsonObject does not guarantee any ordering on the members,
5432 with it being an associative array. Hence, for the object test case we
5433 just compare the length of the output.
5435 tests/Makefile.am | 4 +
5436 tests/test-04.c | 238 ----------------------------
5437 tests/test-05.c | 227 ---------------------------
5438 tests/test-generator.c | 399 ++++++++++++++++++++++++++++++++++++++++++++++++
5439 4 files changed, 403 insertions(+), 465 deletions(-)
5441 commit e100c69a4fca046cbeb6db3fc8ba49160796d87c
5442 Author: Emmanuele Bassi <ebassi@openedhand.com>
5443 Date: Tue Mar 4 10:44:56 2008 +0000
5445 Append to EXTRA_DIST, since it was defined elsewhere
5447 contrib/Makefile.am | 2 +-
5448 1 files changed, 1 insertions(+), 1 deletions(-)
5450 commit 98b6e5e2f151c4ee800754675bf01e585fee850b
5451 Author: Emmanuele Bassi <ebassi@openedhand.com>
5452 Date: Tue Mar 4 07:05:01 2008 +0000
5456 README | 36 ++++++++++++++++++++++++++++++++++++
5457 1 files changed, 36 insertions(+), 0 deletions(-)
5459 commit 1a078c783a5a03b3367ce59eb25248dd6e23b5c6
5460 Author: Emmanuele Bassi <ebassi@openedhand.com>
5461 Date: Tue Mar 4 07:05:01 2008 +0000
5465 README | 36 ++++++++++++++++++++++++++++++++++++
5466 1 files changed, 36 insertions(+), 0 deletions(-)
5468 commit 44891ea1040ceae95a994b646174696de7779ea1
5469 Author: Emmanuele Bassi <ebassi@openedhand.com>
5470 Date: Tue Mar 4 06:44:59 2008 +0000
5472 Update gitignore file
5474 .gitignore | 11 +++++------
5475 1 files changed, 5 insertions(+), 6 deletions(-)
5477 commit 3ea189acf52ea39653c6505c136f1f45a660a24c
5478 Author: Emmanuele Bassi <ebassi@openedhand.com>
5479 Date: Tue Mar 4 06:34:11 2008 +0000
5481 Add validation to the simple object test values
5483 Like for the simple arrays test case, add validation of the values types
5484 for the members of the simple objects test case.
5486 tests/test-parser.c | 31 ++++++++++++++++++++++++-------
5487 1 files changed, 24 insertions(+), 7 deletions(-)
5489 commit 40b3e9330f482e002aea90b0c1a4b9db2adffff0
5490 Author: Emmanuele Bassi <ebassi@openedhand.com>
5491 Date: Tue Mar 4 06:27:24 2008 +0000
5493 Add validation of the simple array test values
5495 Instead of just checking that the array contains something, the simple-array
5496 test case should validate the contents of the array.
5498 The test now uses a struct defining:
5500 - the size of the array
5501 - an element to check
5502 - the type of the node for the element
5503 - the type of the value for the node
5505 All the fields are checked for a match. This makes the simple arrays test
5508 tests/test-parser.c | 40 +++++++++++++++++++++++++++++++---------
5509 1 files changed, 31 insertions(+), 9 deletions(-)
5511 commit 7e6dab14302b94979672acf81eec8710ea95e288
5512 Author: Emmanuele Bassi <ebassi@openedhand.com>
5513 Date: Sun Mar 2 17:44:27 2008 +0000
5515 Add array-test to the JSON-GLib types unit tests
5517 This simple unit will test the JsonArray API, as part of the coverage
5518 test for the JSON-GLib types.
5520 json-glib/tests/Makefile.am | 10 ++++++--
5521 json-glib/tests/array-test.c | 50 ++++++++++++++++++++++++++++++++++++++++++
5522 2 files changed, 57 insertions(+), 3 deletions(-)
5524 commit 441ee88a6e024fc5ab2cf8355adad1fecc276088
5525 Author: Emmanuele Bassi <ebassi@openedhand.com>
5526 Date: Sun Mar 2 15:09:05 2008 +0000
5528 Coalesce test-03 into test-parser
5530 The third test under the tests/ directory was the last JsonParser test,
5531 dealing with object parsing. Now, test-parser is complete and contains
5532 all the JsonParser test cases. It still needs further testing to
5533 verify the DOM created by the parser object.
5535 tests/test-02.c | 225 ---------------------------------------------------
5536 tests/test-03.c | 214 ------------------------------------------------
5537 tests/test-parser.c | 167 ++++++++++++++++++++++++++++++++++++--
5538 3 files changed, 161 insertions(+), 445 deletions(-)
5540 commit 71db86d84a5544d603b03721891e0ad14f92178d
5541 Author: Emmanuele Bassi <ebassi@openedhand.com>
5542 Date: Sun Mar 2 14:58:58 2008 +0000
5544 Update the tests build to be a testing unit
5546 Instead of having stand alone tests, use the GTest framework and start
5547 coalescing multiple test cases into one.
5549 The tests directory will be used for JsonParser, JsonGenerator and
5550 the JSON-GObject integration API, by reusing the previous test cases
5551 and remolding them into a more interesting test framework.
5553 tests/Makefile.am | 39 +++++----------------------------------
5554 1 files changed, 5 insertions(+), 34 deletions(-)
5556 commit 1e6aa16a2a6432cf96d0a86d4650c13e63c67e43
5557 Author: Emmanuele Bassi <ebassi@openedhand.com>
5558 Date: Sun Mar 2 14:56:56 2008 +0000
5560 Remove old, empty string test
5562 tests/test-01.c | 57 -------------------------------------------------------
5563 1 files changed, 0 insertions(+), 57 deletions(-)
5565 commit 989c807fd61cc65c1e4058c5d0794ae2fe438ba1
5566 Author: Emmanuele Bassi <ebassi@openedhand.com>
5567 Date: Sun Mar 2 14:56:28 2008 +0000
5569 Rename JsonParser test, and coaelesce basic parser and array tests
5571 Instead of using a single test for empty strings and another test for
5572 arrays, merge the two into a single test unit, using the GTest API.
5574 The JsonObject parsing test will also be merged later.
5576 tests/test-parser.c | 262 +++++++++++++++++++++++++++++++++++++++++++++++++++
5577 1 files changed, 262 insertions(+), 0 deletions(-)
5579 commit f1e1c0e7796903abb725e8216fc54f53573ecdc9
5580 Author: Emmanuele Bassi <ebassi@openedhand.com>
5581 Date: Sun Mar 2 10:51:09 2008 +0000
5583 Port the empty string test to the GLib testing framework
5585 The old test-01 program tested the JsonParser with an empty string; instead
5586 of relying on the exit code and error messages on screen, it shoul use the
5589 This is the first test of the old test suite to be ported to the new test
5592 tests/test-01.c | 44 +++++++++++++++++++++++++++++++++++---------
5593 1 files changed, 35 insertions(+), 9 deletions(-)
5595 commit cb5b3d5fa6244b0d20258203bd9df7e3148af57b
5596 Author: Emmanuele Bassi <ebassi@openedhand.com>
5597 Date: Sun Mar 2 10:50:17 2008 +0000
5599 Add a JsonNode copy test unit
5601 The test unit copies a NULL JsonNode and checks that the copy and the
5602 original nodes are equivalent.
5604 json-glib/tests/node-test.c | 15 +++++++++++++++
5605 1 files changed, 15 insertions(+), 0 deletions(-)
5607 commit 40c757835e329fe01f8f22aba74d2e47f3a5e55c
5608 Author: Emmanuele Bassi <ebassi@openedhand.com>
5609 Date: Sun Mar 2 10:49:52 2008 +0000
5611 Update Makefile templates to include the testing framework
5613 contrib/Makefile.am | 2 ++
5614 doc/Makefile.am | 2 ++
5615 doc/reference/Makefile.am | 1 +
5616 tests/Makefile.am | 38 ++++++++++++++++++++++++++++++++------
5617 4 files changed, 37 insertions(+), 6 deletions(-)
5619 commit 75939c2b43430583150b18f0a8e82e3d60a4f4f1
5620 Author: Emmanuele Bassi <ebassi@openedhand.com>
5621 Date: Sat Mar 1 19:35:47 2008 +0000
5623 Update gitignore file
5626 1 files changed, 4 insertions(+), 0 deletions(-)
5628 commit e4be0d896359cc1d0ba99dd81a66855389ebd5df
5629 Author: Emmanuele Bassi <ebassi@openedhand.com>
5630 Date: Sat Mar 1 19:30:41 2008 +0000
5632 Add initial test suite support using GLib's new testing framework
5634 GLib 2.15 added a new test unit framework to the GLib API. It allows
5635 integrating unit testing into GLib and GObject based libraries and
5638 It requires a specially crafter Makefile holding a set of declarations,
5639 which must be included into the project own Makefile templates; then
5640 it is possible to drop tests inside a subdirectory, which will be built
5641 after the library or application, and executed upon "make check".
5643 At the moment, there is a simple test for the JsonNode API, with a
5644 single unit for the "null" node type.
5647 Makefile.decl | 57 +++++++++++++++++++++++++++++++++++++++++++
5649 json-glib/Makefile.am | 9 ++++++-
5650 json-glib/tests/Makefile.am | 15 +++++++++++
5651 json-glib/tests/node-test.c | 27 ++++++++++++++++++++
5652 6 files changed, 112 insertions(+), 3 deletions(-)
5654 commit d313aa1e9e472834252ec173c0409eba11ebcff9
5655 Author: Emmanuele Bassi <ebassi@openedhand.com>
5656 Date: Fri Feb 29 16:40:33 2008 +0000
5661 1 files changed, 1 insertions(+), 0 deletions(-)
5663 commit 8a2bb3c4400b9df6cd864eb29920a7767e8170c7
5664 Author: Emmanuele Bassi <ebassi@openedhand.com>
5665 Date: Fri Feb 29 16:37:18 2008 +0000
5667 Sanitize JsonScanner code
5669 Use a closure instead of (*eugh*) an array of gpointers and casting
5672 Also, use the Slice allocator for the ScannerKey structs.
5674 json-glib/json-scanner.c | 42 ++++++++++++++++++++----------------------
5675 1 files changed, 20 insertions(+), 22 deletions(-)
5677 commit 42f7800c5b1c30ff187fc824a9bb39565033488e
5678 Author: Emmanuele Bassi <ebassi@openedhand.com>
5679 Date: Fri Feb 29 16:01:48 2008 +0000
5681 Update JsonParser to fix compilation
5683 JsonParser now uses JsonScanner, the internal copy of GScanner.
5685 json-glib/json-parser.c | 33 +++++++++++++++++----------------
5686 1 files changed, 17 insertions(+), 16 deletions(-)
5688 commit 314f24fd0c8c6b024c93b1d8d275f9049ef22951
5689 Author: Emmanuele Bassi <ebassi@openedhand.com>
5690 Date: Fri Feb 29 16:00:55 2008 +0000
5692 Completely internalize the JsonScanner
5694 Rename all the API and the data types to the Json namespace, so we can
5695 use the internal copy instead of GScanner.
5697 json-glib/json-scanner.c | 637 +++++++++++++++++++++++-----------------------
5698 json-glib/json-scanner.h | 6 +-
5699 2 files changed, 327 insertions(+), 316 deletions(-)
5701 commit 65708000ab02d0a4080b662bb409ac4b79101488
5702 Author: Emmanuele Bassi <ebassi@openedhand.com>
5703 Date: Fri Feb 29 16:00:30 2008 +0000
5705 Add JsonScanner to the build
5707 json-glib/Makefile.am | 2 ++
5708 1 files changed, 2 insertions(+), 0 deletions(-)
5710 commit 8e27ac27a9b22361296564d740301c2c49b387f8
5711 Author: Emmanuele Bassi <ebassi@openedhand.com>
5712 Date: Fri Feb 29 15:59:57 2008 +0000
5714 Bump up autotools requirements
5716 Do not require an ancient version of automake, and settle for one slightly
5719 configure.ac | 4 ++--
5720 1 files changed, 2 insertions(+), 2 deletions(-)
5722 commit a475b0896d5760c893a099c9411f9790e5c492ba
5723 Author: Emmanuele Bassi <ebassi@openedhand.com>
5724 Date: Fri Feb 29 12:24:14 2008 +0000
5726 Update the JsonScanner default configuration
5728 json-glib/json-scanner.c | 84 +++++++++++++++++++--------------------------
5729 1 files changed, 36 insertions(+), 48 deletions(-)
5731 commit 10ac1734b326700257ef318d9a2000c538b5cd38
5732 Author: Emmanuele Bassi <ebassi@openedhand.com>
5733 Date: Fri Feb 29 12:22:02 2008 +0000
5735 Use JsonScanner API into JsonParser
5737 Rename the GScanner function calls into JsonScanner, to see what we
5738 actually need to have public.
5740 Also, remove the configuration: JsonScanner will provide us with one.
5742 json-glib/json-parser.c | 127 ++++++++++++++++------------------------------
5743 1 files changed, 44 insertions(+), 83 deletions(-)
5745 commit 4a4095c360fc29f766e8baba3529a78b6d736b19
5746 Author: Emmanuele Bassi <ebassi@openedhand.com>
5747 Date: Fri Feb 29 12:21:20 2008 +0000
5749 Add json-scanner.h to the exported headers
5751 json-glib/json-glib.h | 1 +
5752 1 files changed, 1 insertions(+), 0 deletions(-)
5754 commit 469a22e4f1fac6b4fd8110823322b7fbfa9b6552
5755 Author: Emmanuele Bassi <ebassi@openedhand.com>
5756 Date: Fri Feb 29 12:13:54 2008 +0000
5758 Include JsonScanner into JsonParser
5760 json-glib/json-parser.c | 1 +
5761 1 files changed, 1 insertions(+), 0 deletions(-)
5763 commit 8537549a5a65f3111a4436b69499664c167b1534
5764 Author: Emmanuele Bassi <ebassi@openedhand.com>
5765 Date: Fri Feb 29 12:10:16 2008 +0000
5767 Move JsonTokenType into JsonScanner
5769 The GTokenType extension enumeration belongs with the tokenizer.
5771 json-glib/json-parser.h | 15 ++-------------
5772 1 files changed, 2 insertions(+), 13 deletions(-)
5774 commit 1ddd45d36a3a25aa86a95c60e0c29e83687971bd
5775 Author: Emmanuele Bassi <ebassi@openedhand.com>
5776 Date: Fri Feb 29 12:06:19 2008 +0000
5778 Copy GScanner into JSON-GLib as JsonScanner
5780 Instead of writing our tokenizer we can fork GScanner and make a
5781 specialized version for JSON (as per RFC), luckily the licenses
5782 are compatible (LGPLv2.1 with "any later" clause).
5784 GScanner does not support Unicode "\uNNNN" escaping and we need to
5785 ensure UTF-8 strings as well.
5787 The API will mostly be the same, but the generic bits not used by
5788 JsonParser will be hidden: this is, after all, a specialized
5791 json-glib/json-scanner.c | 1809 ++++++++++++++++++++++++++++++++++++++++++++++
5792 json-glib/json-scanner.h | 167 +++++
5793 2 files changed, 1976 insertions(+), 0 deletions(-)
5795 commit 3a9ec8f1ca9bf525875c3fbfaf1ab2f3c708bf36
5796 Author: Emmanuele Bassi <ebassi@openedhand.com>
5797 Date: Tue Jan 29 19:13:15 2008 +0000
5799 Update the JSON-GLib Vala bindings
5801 Add a dependencies file, so that valac can simply use the json-glib-1.0
5802 package and correcly chain up all the dependencies needed (at the moment,
5805 Update the vapi file to match with the GLib bindings with regards to the
5806 out length parameters and some weak pointers. The only way to properly
5807 solve the weak assignments issue would be to make JsonNode, JsonObject
5808 and JsonArray proper GObjects, or at least add reference counting to
5809 JsonNode. Not going to happend in 0.6, but it's worth adding it to the
5812 contrib/json-glib-1.0.deps | 1 +
5813 contrib/json-glib-1.0.vapi | 14 +++++-----
5814 contrib/json-test.vala | 62 +++++++++++++++++++++----------------------
5815 3 files changed, 38 insertions(+), 39 deletions(-)
5817 commit e8a59f086f43e5abd5414033ea8c9a886eb112ed
5818 Author: Emmanuele Bassi <ebassi@openedhand.com>
5819 Date: Tue Jan 29 19:12:35 2008 +0000
5821 Remove % from the pkg-config file rule
5823 Rules starting with '%' are a make-isms, and automake 1.10 complains a
5827 1 files changed, 1 insertions(+), 1 deletions(-)
5829 commit b6963328f3d8d8e85ca0b21f9bdeca77b5611019
5830 Author: Emmanuele Bassi <ebassi@openedhand.com>
5831 Date: Tue Jan 29 18:19:16 2008 +0000
5833 Remove json_parser_peek_root from the gtk-doc sections
5835 The json_parser_peek_root() function has been removed, and so we do not
5836 its symbol in the json-glib-sections.txt file anymore.
5838 doc/reference/json-glib-sections.txt | 1 -
5839 1 files changed, 0 insertions(+), 1 deletions(-)
5841 commit 48079c2f580171235eecc298b0193022a67e0b79
5842 Author: Emmanuele Bassi <ebassi@openedhand.com>
5843 Date: Tue Jan 29 18:18:01 2008 +0000
5845 Update after the JsonParser::get_root change
5847 Do not free the root node returned by the get_root() method in the
5848 JSON-GObject API and in the JsonParser tests.
5850 json-glib/json-gobject.c | 4 +---
5851 tests/test-01.c | 2 +-
5852 tests/test-02.c | 2 --
5853 tests/test-03.c | 2 --
5854 4 files changed, 2 insertions(+), 8 deletions(-)
5856 commit a86a300fdc256ad4270881cf9b7b97367cd87c87
5857 Author: Emmanuele Bassi <ebassi@openedhand.com>
5858 Date: Tue Jan 29 18:14:49 2008 +0000
5860 Revert JsonParser::get_root semantics
5862 The get_root() method should not return a copy of the parsed node: it is
5863 up to the developer copying it, if it needs to be kept around across multiple
5866 This commit reverts the 0b6b09c0 commit, by removing the peek_root() method
5867 and restoring the previous get_root() method behaviour.
5869 json-glib/json-parser.c | 26 ++------------------------
5870 json-glib/json-parser.h | 1 -
5871 2 files changed, 2 insertions(+), 25 deletions(-)
5873 commit 9a167068edcde51b50a15bab4ee8623994eb9c04
5874 Author: Emmanuele Bassi <ebassi@openedhand.com>
5875 Date: Mon Jan 28 11:02:30 2008 +0000
5877 Use the normalized member name in has_member
5879 The json_object_has_member() used the passed in member name, instead of
5880 the correctly normalized one.
5882 json-glib/json-object.c | 2 +-
5883 1 files changed, 1 insertions(+), 1 deletions(-)
5885 commit f2f08d282ac6bc69ba9029d065979b1332abd5a5
5886 Author: Emmanuele Bassi <ebassi@openedhand.com>
5887 Date: Sun Jan 27 21:26:51 2008 +0000
5889 Extract the parser state clearing into its own function
5891 The JsonParser object clears its state upon starting the parsing sequence
5892 or during the instance destruction process. It's worth moving the free
5893 and unref calls into their own function to be called by the load_from_data()
5894 and dispose methods. As further optimisation, inlining them should be
5897 json-glib/json-parser.c | 51 +++++++++++++++++++++++++++-------------------
5898 1 files changed, 30 insertions(+), 21 deletions(-)
5900 commit 629d4a54913c578d7b612f10d9b04addc8e0c7fb
5901 Author: Emmanuele Bassi <ebassi@openedhand.com>
5902 Date: Tue Dec 25 21:44:03 2007 +0000
5904 Wrap config.h include with conditionals
5906 Including the autotools generated config.h should always be conditional
5907 on the HAVE_CONFIG_H definitions.
5909 json-glib/json-array.c | 2 ++
5910 json-glib/json-generator.c | 2 ++
5911 json-glib/json-gobject.c | 2 ++
5912 json-glib/json-node.c | 3 +++
5913 json-glib/json-object.c | 2 ++
5914 5 files changed, 11 insertions(+), 0 deletions(-)
5916 commit e172e9ccec88999e7d8433df08d8d92568537cf7
5917 Author: Emmanuele Bassi <ebassi@openedhand.com>
5918 Date: Tue Dec 25 21:41:44 2007 +0000
5920 Kill off a few indirections
5922 Use an intermediary pointer to avoid a lot of pointer dereferences
5924 json-glib/json-parser.c | 25 ++++++++++++++-----------
5925 1 files changed, 14 insertions(+), 11 deletions(-)
5927 commit 61a6a144a2182946be4fb975d05e1c26d814c323
5928 Author: Emmanuele Bassi <ebassi@openedhand.com>
5929 Date: Tue Dec 25 11:55:36 2007 +0000
5931 Some miscellaneous fixes to the Vala bindings
5933 Expose the properties as members and remove the accessor methods in case
5934 it's obvious that they are just function proxies.
5936 Also, start binding the basic GObject API, even though no serializable
5937 support is ready, yet.
5939 contrib/json-glib-1.0.vapi | 21 ++++++++++--
5940 contrib/json-object.vala | 10 ++++-
5941 contrib/json-test.vala | 81 ++++++++++++++++++++++++++++++++------------
5942 3 files changed, 85 insertions(+), 27 deletions(-)
5944 commit 8ec0c93715f6f43e4829a6f3ac534f9ec05e0363
5945 Author: Emmanuele Bassi <ebassi@openedhand.com>
5946 Date: Tue Dec 25 11:53:04 2007 +0000
5948 Provide a default implementation of JsonSerializable
5950 The JsonSerializable interface can provide a default implementation, using
5951 the powers of GTypeInterface. This means that classes implementing the
5952 interface can opt to implement both, either or none of the JsonSerializable
5953 methods, and still be able to retain some basic functionality for the methods
5954 they decide not to implement.
5956 json-glib/json-gobject.c | 208 ++++++++++++++++++++++++++-------------------
5957 1 files changed, 120 insertions(+), 88 deletions(-)
5959 commit 5bb6dd7b77dcd0d1996f484990223287d2144ff3
5960 Author: Emmanuele Bassi <ebassi@openedhand.com>
5961 Date: Tue Dec 25 11:51:20 2007 +0000
5963 Plug a leak when loading a new buffer with the same parser
5965 When the same JsonParser loads a different buffer it needs to clear out the
5966 current state; this means clearing the variable_name string it saves when
5967 the passed JSON stream is a JavaScript assignment.
5969 json-glib/json-parser.c | 2 ++
5970 1 files changed, 2 insertions(+), 0 deletions(-)
5972 commit a90a842f269314c4423de9d84d03391a8efbd7b5
5973 Author: Emmanuele Bassi <ebassi@openedhand.com>
5974 Date: Tue Dec 25 11:49:20 2007 +0000
5976 Use gssize for the buffer length parameter
5978 Since we allow a negative value, meaning "take the whole string", for the
5979 length parameter, when need a signed size_t. This also fixes the bug where
5980 we implicitly always computed the buffer length and discarded the passed
5983 json-glib/json-parser.c | 10 +++++-----
5984 json-glib/json-parser.h | 2 +-
5985 2 files changed, 6 insertions(+), 6 deletions(-)
5987 commit 7229b9bf0bd15c6c1e5b695f8e291218a041ab45
5988 Author: Emmanuele Bassi <ebassi@openedhand.com>
5989 Date: Tue Dec 25 11:47:10 2007 +0000
5991 Initialise to zero when creating/copying a JsonNode
5993 Avoid feeding garbage to the callers by using g_slice_new0().
5995 json-glib/json-node.c | 9 +++++----
5996 1 files changed, 5 insertions(+), 4 deletions(-)
5998 commit ba7282dd23e2980203208cb73942535bfefa5906
5999 Author: Emmanuele Bassi <ebassi@openedhand.com>
6000 Date: Tue Dec 25 11:45:56 2007 +0000
6002 Do not leak the intermediate strings when generating JSON
6004 Found this very dumb leak while using Valgrind.
6006 json-glib/json-generator.c | 6 ++++++
6007 1 files changed, 6 insertions(+), 0 deletions(-)
6009 commit 193aca9aabbfc3db8e1faca0a65b19ac7ba96341
6010 Author: Emmanuele Bassi <ebassi@openedhand.com>
6011 Date: Tue Dec 25 11:44:18 2007 +0000
6013 Do not free the pointer to the boxed type we get when serialising
6015 The pointer returned by g_value_get_boxed() is just a pointer to the internal
6016 copy inside GValue, and it's not ours to free, as Valgrind gently pointed
6019 tests/test-07.c | 2 --
6020 1 files changed, 0 insertions(+), 2 deletions(-)
6022 commit a6fae2d61b1cfefa742574761edc19c8d6f702f5
6023 Author: Emmanuele Bassi <ebassi@openedhand.com>
6024 Date: Thu Nov 22 16:00:35 2007 +0000
6026 Add a simple Vala serialization example
6028 We don't provide the Serializable interface at the moment, because it
6029 is too much C-oriented. This example shows how to serialize a class in
6030 Vala to a JSON string.
6032 contrib/json-object.vala | 40 ++++++++++++++++++++++++++++++++++++++++
6033 1 files changed, 40 insertions(+), 0 deletions(-)
6035 commit ea6cc8756f70d488eae128e4a01f63ce2766cc3a
6036 Author: Emmanuele Bassi <ebassi@openedhand.com>
6037 Date: Thu Nov 22 15:59:25 2007 +0000
6039 Omit the lenght argument now that we provide a default
6041 contrib/json-test.vala | 2 +-
6042 1 files changed, 1 insertions(+), 1 deletions(-)
6044 commit 9492f3439dd491bb5afadfe6b2bd49a72ec9bb1e
6045 Author: Emmanuele Bassi <ebassi@openedhand.com>
6046 Date: Thu Nov 22 15:58:23 2007 +0000
6048 Fix the Vala bindings
6050 Miscellaneous fixes for the Vala bindings of JSON-GLib:
6051 * add missing return values for a couple of methods
6052 * decorate the Object and Array constructors with their C names
6053 * correctly transfer the ownership when adding members/elements
6054 * add the non-null value marker for strings
6055 * provide default values for the length argument in from_data()/to_data()
6057 contrib/json-glib-1.0.vapi | 20 +++++++++++---------
6058 1 files changed, 11 insertions(+), 9 deletions(-)
6060 commit a255b4f5eb8769c444a9ac3a4cc7404fccd44ee3
6061 Author: Emmanuele Bassi <ebassi@openedhand.com>
6062 Date: Thu Nov 22 00:01:37 2007 +0000
6064 Recurse into the contrib directory only if Vala is available
6066 If Vala is not available then there's no point in getting into the
6067 contrib directory. This might change in the future, so we already
6068 have the HAVE_VALA conditional for the Makefiles.
6070 Makefile.am | 8 +++++++-
6071 configure.ac | 3 +++
6072 2 files changed, 10 insertions(+), 1 deletions(-)
6074 commit aa8911ca4d63bfb3dd34997f9a745d70d12673af
6075 Author: Emmanuele Bassi <ebassi@openedhand.com>
6076 Date: Wed Nov 21 20:44:08 2007 +0000
6078 Update the test case for the Vala bindings
6080 contrib/json-test.vala | 4 ++--
6081 1 files changed, 2 insertions(+), 2 deletions(-)
6083 commit 7083e9e6733611b5313f0708c4b93b9726ef26d0
6084 Author: Emmanuele Bassi <ebassi@openedhand.com>
6085 Date: Wed Nov 21 20:43:35 2007 +0000
6087 Wrap the newly added API in the Vala bindings
6089 Add the Json.Object.dup_member() and Json.Array.dup_element() functions.
6090 Also, export the JSON_NODE_TYPE() macro as Json.Node.type() method.
6092 contrib/json-glib-1.0.vapi | 8 ++++++--
6093 1 files changed, 6 insertions(+), 2 deletions(-)
6095 commit 9d4588e97a88960a4dd6a28debb3cb0f8d75f098
6096 Author: Emmanuele Bassi <ebassi@openedhand.com>
6097 Date: Wed Nov 21 20:42:07 2007 +0000
6099 Add symbols of the newly committed API
6101 doc/reference/json-glib-sections.txt | 3 +++
6102 1 files changed, 3 insertions(+), 0 deletions(-)
6104 commit cf2eceeb69ccbda4f2ff583ee7869c7fd3cda603
6105 Author: Emmanuele Bassi <ebassi@openedhand.com>
6106 Date: Wed Nov 21 20:41:42 2007 +0000
6108 Add API to retrieve copies of the nodes inside objects and arrays
6110 Getting copies of the nodes might work better for high level languages
6111 binding the JSON-GLib API, because they can manage the lifetime of the
6112 returned values using their own rules.
6114 json-glib/json-array.c | 29 +++++++++++++++++++++++++++++
6115 json-glib/json-object.c | 29 +++++++++++++++++++++++++++++
6116 json-glib/json-types.h | 4 ++++
6117 3 files changed, 62 insertions(+), 0 deletions(-)
6119 commit 5a4a8761af0562fbee8e1a56ce1771a20c1ad8e3
6120 Author: Emmanuele Bassi <ebassi@openedhand.com>
6121 Date: Wed Nov 21 20:07:12 2007 +0000
6123 Fix leaks in the test suite
6125 Dispose the root node when using the JsonParser and JsonGenerator
6126 objects after the change in sematics for their accessors.
6128 tests/test-01.c | 2 +-
6129 tests/test-02.c | 2 ++
6130 tests/test-03.c | 2 ++
6131 tests/test-04.c | 8 ++++++++
6132 tests/test-05.c | 6 ++++++
6133 5 files changed, 19 insertions(+), 1 deletions(-)
6135 commit ac699263493e09eeb203f9bf88c0a8296f9e4a8f
6136 Author: Emmanuele Bassi <ebassi@openedhand.com>
6137 Date: Wed Nov 21 20:06:06 2007 +0000
6139 Free the root node obtained using json_parser_get_root()
6141 Update json_construct_gobject() to the change of behaviour in the
6142 root node getter function of JsonParser.
6144 json-glib/json-gobject.c | 2 ++
6145 1 files changed, 2 insertions(+), 0 deletions(-)
6147 commit 0b6b09c0fe2fdd21b18593192e7213d1b0098f12
6148 Author: Emmanuele Bassi <ebassi@openedhand.com>
6149 Date: Wed Nov 21 20:05:07 2007 +0000
6151 Change json_parser_get_root() semantics
6153 The json_parser_get_root() returns a pointer to the root node. This does
6154 not conform to the API naming convention inherited from GLib, where
6155 functions returning an internal pointer are called "peek" and function
6156 returning a copy are called "get".
6158 Thus, json_parser_get_root() will now return a copy of the root node and
6159 it is left to the developer to free the returned JsonNode.
6161 A function returning the pointer has also been added, and it's called
6162 json_parser_peek_root().
6164 json-glib/json-parser.c | 26 ++++++++++++++++++++++++--
6165 json-glib/json-parser.h | 2 ++
6166 2 files changed, 26 insertions(+), 2 deletions(-)
6168 commit 5f110dc5ad338497c95418b9ad1b267c95fb8ded
6169 Author: Emmanuele Bassi <ebassi@openedhand.com>
6170 Date: Wed Nov 21 18:39:04 2007 +0000
6172 Add JSON-GLib Vala bindings
6174 Add bindings for the basic JSON-GLib API. GObject API will arrive later.
6177 configure.ac | 12 +++++
6178 contrib/Makefile.am | 4 ++
6179 contrib/json-glib-1.0.vapi | 118 ++++++++++++++++++++++++++++++++++++++++++++
6180 contrib/json-test.vala | 87 ++++++++++++++++++++++++++++++++
6181 5 files changed, 222 insertions(+), 1 deletions(-)
6183 commit 557a60b4e0f1fd6fc0fa79efc60f9bfd777e0670
6184 Author: Emmanuele Bassi <ebassi@openedhand.com>
6185 Date: Wed Nov 21 14:52:15 2007 +0000
6187 Use a unicode character for the indent-char property of JsonGenerator
6189 The indent character should be any Unicode character available instead
6192 json-glib/json-generator.c | 16 ++++++++--------
6193 tests/test-05.c | 6 +++++-
6194 2 files changed, 13 insertions(+), 9 deletions(-)
6196 commit 5fc37f8f2a1594821623419f75ceaa4b95fe07cf
6197 Author: Emmanuele Bassi <ebassi@openedhand.com>
6198 Date: Wed Nov 21 01:39:00 2007 +0000
6200 Add the indent-char property to JsonGenerator
6202 The JsonGenerator:indent-char can be used to control the character that
6203 indents the lines when pretty printing.
6205 json-glib/json-generator.c | 54 ++++++++++++++++++++++++++++++++-----------
6206 1 files changed, 40 insertions(+), 14 deletions(-)
6208 commit 58133b51152ca76b8cb5c93b5991f9b1a565e9a9
6209 Author: Emmanuele Bassi <ebassi@openedhand.com>
6210 Date: Wed Nov 21 01:20:20 2007 +0000
6212 Use G_TYPE_DOUBLE when dumping a value.
6214 JsonNode of type value for floating point numbers is G_TYPE_DOUBLE
6215 and not G_TYPE_FLOAT anymore.
6217 json-glib/json-generator.c | 4 ++--
6218 1 files changed, 2 insertions(+), 2 deletions(-)
6220 commit 80006db7bcea2bd8c44a648a64ba3da6a05a6fd1
6221 Author: Emmanuele Bassi <ebassi@openedhand.com>
6222 Date: Tue Nov 20 18:30:42 2007 +0000
6224 Test correct deserialization of enum values
6226 Update the GObject deserialization test suite to check for the correct
6227 deserialization of the enum/flags values.
6229 tests/test-08.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------
6230 1 files changed, 53 insertions(+), 7 deletions(-)
6232 commit 1110e098fa879abf7f67f24af2a1b736ce359dd6
6233 Author: Emmanuele Bassi <ebassi@openedhand.com>
6234 Date: Tue Nov 20 18:20:33 2007 +0000
6236 Allow deserialization of strings into enums/flags
6238 If the target value is a G_TYPE_ENUM or a G_TYPE_FLAGS we can effectively
6239 deserialize a string into the corresponding value (or bit mask) using
6240 the introspection API for the GEnum and GFlags types.
6242 This code is taken from ClutterScript and it was adapted from GtkBuilder.
6244 json-glib/json-gobject.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++
6245 1 files changed, 170 insertions(+), 0 deletions(-)
6247 commit 2674ce68e574cebeca147944cf748b41fbe27507
6248 Author: Emmanuele Bassi <ebassi@openedhand.com>
6249 Date: Tue Nov 13 11:34:05 2007 +0000
6254 1 files changed, 1 insertions(+), 1 deletions(-)
6256 commit c1547eb3aba6f09b3ce4c23bd66a798e03b35a34
6257 Author: Emmanuele Bassi <ebassi@openedhand.com>
6258 Date: Tue Nov 13 11:29:19 2007 +0000
6264 2 files changed, 10 insertions(+), 1 deletions(-)
6266 commit 03325e108e40d5deba979852ee402d7d6579ac81
6267 Author: Emmanuele Bassi <ebassi@openedhand.com>
6268 Date: Tue Nov 13 11:20:34 2007 +0000
6270 Fix variable shadowing for distcheck
6272 json-glib/json-parser.c | 4 ++--
6273 1 files changed, 2 insertions(+), 2 deletions(-)
6275 commit afeec9b40468d289351c78007b5122ff716bb977
6276 Author: Emmanuele Bassi <ebassi@openedhand.com>
6277 Date: Tue Nov 13 11:16:51 2007 +0000
6279 Add 0.4 symbols index
6281 doc/reference/json-glib-docs.sgml | 4 ++++
6282 1 files changed, 4 insertions(+), 0 deletions(-)
6284 commit 32023e03ca9c976e66b9af949d4aea36e1d4d874
6285 Author: Emmanuele Bassi <ebassi@openedhand.com>
6286 Date: Tue Nov 13 10:59:14 2007 +0000
6288 Change "responsible" to "asked" in the (de)serialization functions docs
6290 We provide fallbacks in case a JsonSerializable object does not translate
6291 a property into a JSON object member and vice versa.
6293 json-glib/json-gobject.c | 15 ++++++++-------
6294 1 files changed, 8 insertions(+), 7 deletions(-)
6296 commit c669a28d37795be68f3a51e9353f6f9d8e695a52
6297 Author: Emmanuele Bassi <ebassi@openedhand.com>
6298 Date: Tue Nov 13 10:55:23 2007 +0000
6300 Add new symbols to the documentation
6302 doc/reference/json-glib-sections.txt | 7 ++++++-
6303 1 files changed, 6 insertions(+), 1 deletions(-)
6305 commit b83a2bfa96885837ca48bacb6492fd68a2b5b564
6306 Merge: 1f9b3e5 198ed83
6307 Author: Emmanuele Bassi <ebassi@openedhand.com>
6308 Date: Tue Nov 13 10:51:58 2007 +0000
6310 Merge branch 'gobject-deserialize' into work
6312 commit 198ed839424dc7791d22dede152f4d7abc16a8b2
6313 Author: Emmanuele Bassi <ebassi@openedhand.com>
6314 Date: Tue Nov 13 10:51:31 2007 +0000
6316 Use the fallback value-to-node generator even for serializables
6318 To avoid reimplementing the same code all over again, if the implementation
6319 of the serialize_property virtual function of JsonSerializable returns NULL
6320 we will fall back to the simple value-to-node generator we provide for
6321 non-serializable classes.
6323 json-glib/json-gobject.c | 17 +++++++++++------
6324 tests/test-07.c | 13 +------------
6325 2 files changed, 12 insertions(+), 18 deletions(-)
6327 commit 10e937a68bd802a4f5948d900aa2201344cfc138
6328 Author: Emmanuele Bassi <ebassi@openedhand.com>
6329 Date: Tue Nov 13 10:46:02 2007 +0000
6331 Add test unit for the GObject deserialization
6334 tests/Makefile.am | 4 +-
6335 tests/test-08.c | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++
6336 3 files changed, 296 insertions(+), 1 deletions(-)
6338 commit 7b93db7ad996b29a6c576db33803029dc94e16fc
6339 Author: Emmanuele Bassi <ebassi@openedhand.com>
6340 Date: Tue Nov 13 10:45:23 2007 +0000
6342 Fix a couple of dumb typos in the GObject deserialization code
6344 We need to skip if the CONSTRUCT_ONLY flag is set, not unset. We also need
6345 to copy the value from the JSON node into the target GValue, not the other
6348 json-glib/json-gobject.c | 6 ++++--
6349 1 files changed, 4 insertions(+), 2 deletions(-)
6351 commit 9e61004365982017bfe9b76889e2a7d1a0320350
6352 Author: Emmanuele Bassi <ebassi@openedhand.com>
6353 Date: Tue Nov 13 10:11:34 2007 +0000
6355 Update git ignore file
6358 1 files changed, 2 insertions(+), 0 deletions(-)
6360 commit 4b496c7d906c81dceafe6a5f442b55b6e161f762
6361 Author: Emmanuele Bassi <ebassi@openedhand.com>
6362 Date: Tue Nov 13 10:11:00 2007 +0000
6364 Add node-to-property simple fallback parser for deserialization
6366 The fallback parser for json_construct_gobject() is invoked if the GType
6367 does not implement the JsonSerializable interface, or if the interface
6368 was not handling the property.
6370 It will natively convert integers, booleans, strings and double precision
6371 floating point values; it also handles string vectors in form of arrays.
6373 json-glib/json-gobject.c | 94 +++++++++++++++++++++++++++++++++++++++++----
6374 1 files changed, 85 insertions(+), 9 deletions(-)
6376 commit a7c39c910e08093ee0d0723685005623f26b9eae
6377 Author: Emmanuele Bassi <ebassi@openedhand.com>
6378 Date: Tue Nov 13 09:28:57 2007 +0000
6380 Add the JsonGenerator:root property
6382 JsonGenerator now has a :root property, so it can be constructed using
6383 just g_object_new():
6385 generator = g_object_new (JSON_TYPE_GENERATOR,
6391 This means that the root node is copied inside the generator, instead of
6392 just taking ownership (it was quite confusing). The documentation now
6393 clearly states what happens, and that you can safely free the node after
6394 feeding it to the JsonGenerator.
6396 json-glib/json-generator.c | 30 ++++++++++++++++++++++++++++--
6397 1 files changed, 28 insertions(+), 2 deletions(-)
6399 commit 6132d7325c33e26740b4c955d8ccbe53fd817cd8
6400 Author: Emmanuele Bassi <ebassi@openedhand.com>
6401 Date: Tue Nov 13 09:26:02 2007 +0000
6403 Fix member name in json_node_get_value_type()
6405 JsonNode payload is inside a union.
6407 json-glib/json-node.c | 2 +-
6408 1 files changed, 1 insertions(+), 1 deletions(-)
6410 commit f051b948714e4928a7d7f903e891639ce4ba82fd
6411 Author: Emmanuele Bassi <ebassi@openedhand.com>
6412 Date: Tue Nov 13 09:17:22 2007 +0000
6414 Add a GType for JsonNode
6416 We need a GType for nodes if we want to add JsonNode properties or signal
6417 marshallers to a GObject class. We could use pointers, but we'd loose type
6418 safety, so it's a no-no.
6420 json-glib/json-node.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
6421 json-glib/json-types.h | 8 ++++++--
6422 2 files changed, 54 insertions(+), 2 deletions(-)
6424 commit 1f9b3e50282f8aa4a421c83ad596f6186ef82ec9
6425 Author: Emmanuele Bassi <ebassi@openedhand.com>
6426 Date: Sat Nov 10 15:12:20 2007 +0000
6428 When parsing a full assignment, also swallow any trailing semi-colon
6430 There's no end to web developers insanity when they can twist and turn a
6431 perfectly simple and elegant notation into something that allows lazyness
6434 json-glib/json-parser.c | 12 +++++++++++-
6435 tests/test-02.c | 1 +
6436 2 files changed, 12 insertions(+), 1 deletions(-)
6438 commit 261d05a4cdcc1f64824615cdc81b4b467d0a5f57
6439 Author: Emmanuele Bassi <ebassi@openedhand.com>
6440 Date: Sat Nov 10 02:15:44 2007 +0000
6442 Add support for parsing assignments
6444 Some JSON web APIs return a full JavaScript assignment instead of just
6445 the data structure (and I'm looking at you, Tumblr). This is done in clear
6446 violation of the grammar published in the RFC 4627, and it's evidently
6447 done because most web developers are too lazy for doing a
6449 var foo = eval('(' + text ')');
6451 and want everything defined for them. JsonParser will blissfully ignore
6452 the left-hand part of the assignment but, in the interest of the developer
6453 who cares, will record: 1. that the parsed statement was in fact an
6454 assignment and 2. the name of the variable used.
6456 The function json_parser_has_assignment() can be used to query both the
6457 presence of an assignment and the variable name at the same time.
6459 doc/reference/json-glib-sections.txt | 1 +
6460 json-glib/json-parser.c | 80 +++++++++++++++++++++++++++++++++-
6461 json-glib/json-parser.h | 5 ++
6462 tests/test-02.c | 5 ++
6463 4 files changed, 89 insertions(+), 2 deletions(-)
6465 commit 45c697263364a975fd6a54373f999f2932436b6f
6466 Author: Emmanuele Bassi <ebassi@openedhand.com>
6467 Date: Sat Nov 10 01:26:46 2007 +0000
6469 Initial implementation of GObject deserialization function
6471 The json_construct_gobject() function takes a GType and a JSON data stream
6472 and constructs a new instance for the given type. If the type is a
6473 JsonSerializable, it will use the JsonSerializable interface for parsing
6474 the JsonNodes of each object member.
6476 This is the initial implementation of the function: the JsonNode-to-GValue
6477 fallback parser is just a stub.
6479 doc/reference/json-glib-sections.txt | 1 +
6480 json-glib/json-gobject.c | 182 +++++++++++++++++++++++++++++++---
6481 json-glib/json-gobject.h | 8 +-
6482 3 files changed, 177 insertions(+), 14 deletions(-)
6484 commit 4eade1089355ebcf0614d0cfbc9c441513b7d97a
6485 Author: Emmanuele Bassi <ebassi@openedhand.com>
6486 Date: Mon Oct 29 22:23:36 2007 +0000
6488 Fix objects test suite to match the arrays one
6490 tests/test-03.c | 8 ++++----
6491 1 files changed, 4 insertions(+), 4 deletions(-)
6493 commit 3948d83795d68d665b8b969c08b6c40498eb2661
6494 Author: Emmanuele Bassi <ebassi@openedhand.com>
6495 Date: Mon Oct 29 22:23:07 2007 +0000
6497 More sanity checks for objects
6499 Add a check for commas after complex data types inside object members.
6501 json-glib/json-parser.c | 8 +++++++-
6502 1 files changed, 7 insertions(+), 1 deletions(-)
6504 commit 6182457fa305a1f159e9009d3fbef42a93f2768e
6505 Author: Emmanuele Bassi <ebassi@openedhand.com>
6506 Date: Mon Oct 29 22:17:44 2007 +0000
6508 Fix the test suite for arrays
6510 Fix a typo in test number 7 (missing comma to separate the C strings) and
6511 use G_TYPE_DOUBLE instead of G_TYPE_FLOAT for the floating point values.
6513 tests/test-02.c | 8 ++++----
6514 1 files changed, 4 insertions(+), 4 deletions(-)
6516 commit 25cdc18be8acdad54561f919c5805ad4fa9b3ac9
6517 Author: Emmanuele Bassi <ebassi@openedhand.com>
6518 Date: Mon Oct 29 22:16:31 2007 +0000
6520 Add more sanity checks to the parser
6522 Catch missing commas after an array element or an object member.
6524 json-glib/json-parser.c | 10 ++++++++++
6525 1 files changed, 10 insertions(+), 0 deletions(-)
6527 commit 812422e4ed4df83374cdda6d94637448ab94dfef
6528 Author: Emmanuele Bassi <ebassi@openedhand.com>
6529 Date: Mon Oct 29 18:18:34 2007 +0000
6531 Backport fixes from Clutter trunk
6533 The copy of JSON-GLib in Clutter trunk has two fixes for the JsonParser
6536 * support for negative numbers (ints and floats);
6537 * correct parse error propagation
6539 which should make the JsonParser hopefully complete.
6541 json-glib/json-parser.c | 123 +++++++++++++++++++++++++++++++++++++++--------
6542 1 files changed, 103 insertions(+), 20 deletions(-)
6544 commit 72d007d865a822875dfa311698fb2d13f5d3df69
6545 Author: Emmanuele Bassi <ebassi@openedhand.com>
6546 Date: Mon Oct 29 18:16:24 2007 +0000
6548 Check if the payload is set in json_node_free()
6550 Before calling json_object_unref() or json_array_unref() in json_node_free()
6551 we need to check if the payload of JsonNode is set to avoid a critical.
6553 json-glib/json-node.c | 6 ++++--
6554 1 files changed, 4 insertions(+), 2 deletions(-)
6556 commit 59a66484befba457eda2ee7a9540f2b33ff04031
6557 Author: Emmanuele Bassi <ebassi@openedhand.com>
6558 Date: Tue Oct 16 23:20:22 2007 +0100
6560 Add test unit for the JsonSerializable interface
6562 This should have been done before relasing 0.2.0. Well, that's what
6563 point releases are for.
6565 tests/Makefile.am | 4 +-
6566 tests/test-07.c | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++
6567 2 files changed, 268 insertions(+), 1 deletions(-)
6569 commit 34515af7bb1d69317b9e52d0ced92beaf6770e7d
6570 Author: Emmanuele Bassi <ebassi@openedhand.com>
6571 Date: Tue Oct 16 23:19:35 2007 +0100
6573 We need the actual implementation of the JsonSerializable GType function
6575 A placeholder, while syntactically correct, won't do.
6577 json-glib/json-gobject.c | 6 ++++++
6578 1 files changed, 6 insertions(+), 0 deletions(-)
6580 commit 0656c4bee8e14c375481c89a62f0e6e95be758ce
6581 Author: Emmanuele Bassi <ebassi@openedhand.com>
6582 Date: Tue Oct 16 23:18:47 2007 +0100
6584 Fix the compiler fixes
6586 This is what happens when you fix a compiler warning about a shadowing
6587 variable and you don't run the test suite to check the results.
6589 json-glib/json-generator.c | 10 ++++++----
6590 1 files changed, 6 insertions(+), 4 deletions(-)
6592 commit 88794df33e08cb409f71d1aaf702cd509b600954
6593 Author: Emmanuele Bassi <ebassi@openedhand.com>
6594 Date: Tue Oct 16 19:53:27 2007 +0100
6599 1 files changed, 1 insertions(+), 1 deletions(-)
6601 commit 0ce3bf30d84aedcf5f8f75e6c1112d91dcc1d654
6602 Author: Emmanuele Bassi <ebassi@openedhand.com>
6603 Date: Tue Oct 16 19:49:42 2007 +0100
6608 1 files changed, 1 insertions(+), 1 deletions(-)
6610 commit 77248800533f3dabfb09dfa8ba32e3084ea62d5f
6611 Author: Emmanuele Bassi <ebassi@openedhand.com>
6612 Date: Tue Oct 16 19:43:27 2007 +0100
6614 Fix DISTCHECK configure flags
6617 1 files changed, 1 insertions(+), 1 deletions(-)
6619 commit 70be36c97a8cd598af061eb9ac5a9a5852858682
6620 Author: Emmanuele Bassi <ebassi@openedhand.com>
6621 Date: Tue Oct 16 19:42:05 2007 +0100
6623 Fix compilation errors with extra maintainer CFLAGS
6625 json-glib/json-array.c | 2 +-
6626 json-glib/json-generator.c | 16 ++++++++--------
6627 json-glib/json-parser.c | 4 ++--
6628 3 files changed, 11 insertions(+), 11 deletions(-)
6630 commit 57c39582818b8a6579fed327f5c6e2fc34e93694
6631 Author: Emmanuele Bassi <ebassi@openedhand.com>
6632 Date: Tue Oct 16 19:41:18 2007 +0100
6634 Drop -Wextra from the maintainer CFLAGS
6636 Some autogenerated code caused -Werror to croak, so -Wextra has to go.
6639 1 files changed, 1 insertions(+), 1 deletions(-)
6641 commit 9c690da734ee4513f19841f93a08ae35bbaa65b1
6642 Author: Emmanuele Bassi <ebassi@openedhand.com>
6643 Date: Tue Oct 16 18:20:19 2007 +0100
6645 Autogenerate the ChangeLog when disting
6647 Makefile.am | 5 +++++
6648 1 files changed, 5 insertions(+), 0 deletions(-)
6650 commit 95fc9c4fb5af82c766d2f4f515b361028bc348e7
6651 Author: Emmanuele Bassi <ebassi@openedhand.com>
6652 Date: Tue Oct 16 18:20:01 2007 +0100
6654 Fix EXTRA_DIST files for distcheck
6656 json-glib/Makefile.am | 16 +++++++++-------
6657 1 files changed, 9 insertions(+), 7 deletions(-)
6659 commit 87a36b8a5e23f3cf80730627f9b89061934a5bbf
6660 Author: Emmanuele Bassi <ebassi@openedhand.com>
6661 Date: Tue Oct 16 17:40:06 2007 +0100
6663 Add the JsonSerializable interface
6665 The JsonSerializable interface allows implementations to override the
6666 GObject-to-JSON serialization process, by providing two virtual methods
6667 to control the (de)serialization of GObject properties. This way it's
6668 possible to serialize GObjects with properties holding complex data types.
6670 doc/reference/json-glib-sections.txt | 15 +++
6671 json-glib/json-gobject.c | 188 ++++++++++++++++++++++++++++------
6672 json-glib/json-gobject.h | 51 +++++++++
6673 json-glib/json-types.h | 1 +
6674 4 files changed, 224 insertions(+), 31 deletions(-)
6676 commit 85cb0f44c4c7297a75141999674f3eb0fdf6a308
6677 Author: Emmanuele Bassi <ebassi@openedhand.com>
6678 Date: Tue Oct 16 17:25:08 2007 +0100
6680 Add a method for getting all the nodes from a JsonObject
6682 To map json_array_get_elements(), a json_object_get_values() method has
6683 been added which returns the list of JsonNodes contained by a JsonObject.
6685 doc/reference/json-glib-sections.txt | 1 +
6686 json-glib/json-object.c | 41 ++++++++++++++++++++++++++++++++++
6687 json-glib/json-types.h | 1 +
6688 3 files changed, 43 insertions(+), 0 deletions(-)
6690 commit 474ecf1cc6aae35b184edffc75fc8626c3f12f61
6691 Author: Emmanuele Bassi <ebassi@openedhand.com>
6692 Date: Tue Oct 16 16:40:57 2007 +0100
6694 Add a note in the JsonObject documentation for the member name normalization
6696 json-glib/json-object.c | 6 +++++-
6697 1 files changed, 5 insertions(+), 1 deletions(-)
6699 commit 93e26b94d9bb1909f3b16a4b0500f27660d7e621
6700 Author: Emmanuele Bassi <ebassi@openedhand.com>
6701 Date: Tue Oct 16 16:37:01 2007 +0100
6703 Normalize every member name before using it
6705 Every member name is stored inside the internal hash table of JsonObject
6706 using a normalized string: every delimiter found matching G_STR_DELIMITERS
6707 is automatically transformed in an underscore ('_').
6709 This means that "member-name" and "member_name" are completely equivalent
6712 json-glib/json-object.c | 31 ++++++++++++++++++++++++++-----
6713 1 files changed, 26 insertions(+), 5 deletions(-)
6715 commit 73a7671dedfd3bb9bc1a8c197a68dcef90e627f7
6716 Author: Emmanuele Bassi <ebassi@openedhand.com>
6717 Date: Mon Oct 15 10:28:39 2007 +0100
6719 Provide an internal g_hash_table_get_keys() and bump down GLib dependency
6721 Even though GLib 2.14 is now available, many systems still come out with
6722 GLib 2.12. Since we are using just a single 2.14 function for retrieving
6723 the members from a JsonObject, we can provide an internal version of that
6724 function and hideit behind a pre-processor macro.
6727 json-glib/json-object.c | 25 +++++++++++++++++++++++++
6728 2 files changed, 26 insertions(+), 1 deletions(-)
6730 commit 28928a2f1cbe83a2f1bf699c915daa6eca80f587
6731 Author: Emmanuele Bassi <ebassi@openedhand.com>
6732 Date: Mon Oct 15 10:25:09 2007 +0100
6734 Add API for removing nodes from arrays and objects
6736 Write and document json_object_remove_member() and json_array_remove_element()
6737 which can be used to remove a JsonNode from a JsonObject or a JsonArray
6738 respectively. This way, the JsonObject and JsonArray are API-complete and
6739 the object model can be manipulated in code.
6741 doc/reference/json-glib-sections.txt | 2 +
6742 json-glib/json-array.c | 18 +++++
6743 json-glib/json-object.c | 17 +++++
6744 json-glib/json-types.h | 120 +++++++++++++++++----------------
6745 4 files changed, 99 insertions(+), 58 deletions(-)
6747 commit b3ecd6e2fbdd58250427f406c43d60b8cb8d2644
6748 Author: Emmanuele Bassi <ebassi@openedhand.com>
6749 Date: Wed Oct 10 12:03:59 2007 +0100
6751 Parse bare root values
6753 If the root node contains just a bare value (true, false, null, fundamental
6754 type) then it's still valid JSON.
6756 Also, use the commodity JsonNode API to avoid using values in the parser
6759 json-glib/json-parser.c | 79 +++++++++++++++++-----------------------------
6760 1 files changed, 29 insertions(+), 50 deletions(-)
6762 commit a7839a06da53d32eb372b4813e5883a04e1c36b7
6763 Author: Emmanuele Bassi <ebassi@openedhand.com>
6764 Date: Tue Oct 9 20:52:56 2007 +0100
6766 Add the forgotten JsonGenerator type function
6768 doc/reference/json-glib.types | 1 +
6769 1 files changed, 1 insertions(+), 0 deletions(-)
6771 commit daeef3345c3a7f3325cea8c945f0e1d814defcc1
6772 Author: Emmanuele Bassi <ebassi@openedhand.com>
6773 Date: Mon Oct 8 18:29:44 2007 +0100
6775 Add json_node_dup_string()
6777 The newly added json_node_dup_string() is a convenience function for
6778 getting a copy of the string contained inside a JsonNode.
6780 doc/reference/json-glib-sections.txt | 1 +
6781 json-glib/json-node.c | 20 ++++++++++++++++++++
6782 json-glib/json-types.h | 1 +
6783 3 files changed, 22 insertions(+), 0 deletions(-)
6785 commit b12efcec57fff6e7637fc924fc50333b97eb2594
6786 Author: Emmanuele Bassi <ebassi@openedhand.com>
6787 Date: Sun Oct 7 00:47:32 2007 +0100
6789 Fix documentation about the ownership of the nodes
6791 When adding a JsonNode to a JsonObject or a JsonArray, the containers
6792 take ownership of the node.
6794 json-glib/json-array.c | 7 +++++--
6795 json-glib/json-object.c | 13 ++++++++-----
6796 2 files changed, 13 insertions(+), 7 deletions(-)
6798 commit bd5a60ca658257752993ccea47950b97cdc45246
6799 Author: Emmanuele Bassi <ebassi@openedhand.com>
6800 Date: Fri Oct 5 18:24:27 2007 +0100
6802 Add convenience accessors for fundamental types in JsonNode
6804 This commit adds some convenience accessors for setting and
6805 getting fundamental types in and from a JsonNode, to avoid
6806 jumping through all the GValue hoops.
6808 doc/reference/json-glib-sections.txt | 8 ++
6809 json-glib/json-node.c | 201 ++++++++++++++++++++++++++++++++++
6810 json-glib/json-types.h | 12 ++
6811 3 files changed, 221 insertions(+), 0 deletions(-)
6813 commit ad95c8bf8e4103058d42ae71f47e6980e3b52c34
6814 Author: Emmanuele Bassi <ebassi@openedhand.com>
6815 Date: Fri Oct 5 18:23:15 2007 +0100
6817 Use doubles when parsing, not floats
6819 GScanner advertise the floating point values as floats, but it really
6820 uses doubles. Hence, we need to use G_TYPE_DOUBLE when saving the
6821 parsed constants into a GValue.
6823 json-glib/json-parser.c | 8 ++++----
6824 1 files changed, 4 insertions(+), 4 deletions(-)
6826 commit 220838e4e61c5a8fd9cf627da7309acf44fa82f0
6827 Author: Emmanuele Bassi <ebassi@openedhand.com>
6828 Date: Fri Oct 5 16:39:10 2007 +0100
6830 Add line/position getters to JsonParser
6832 Add two methods to JsonParser to retrieve the currently parsed line
6833 and position within that line. These methods works only while parsing,
6834 so within the signal handlers and inside subclasses.
6836 doc/reference/json-glib-sections.txt | 6 ++++
6837 json-glib/json-parser.c | 46 +++++++++++++++++++++++++++++++--
6838 json-glib/json-parser.h | 21 +++++++++------
6839 3 files changed, 61 insertions(+), 12 deletions(-)
6841 commit ea5ee264a5b82fd1d09fa84ec81e17c4ea0d0c4a
6842 Author: Emmanuele Bassi <ebassi@openedhand.com>
6843 Date: Fri Oct 5 15:13:21 2007 +0100
6845 Document the newly added signals
6847 json-glib/json-parser.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++
6848 json-glib/json-parser.h | 10 ++++++-
6849 2 files changed, 73 insertions(+), 1 deletions(-)
6851 commit fa9d1676da588306be5a14bcab100ad58a41b799
6852 Author: Emmanuele Bassi <ebassi@openedhand.com>
6853 Date: Fri Oct 5 11:59:44 2007 +0100
6855 Add more signals to the JsonParser class
6857 JsonParser should emit signals in critical places, like: start/end of
6858 the parsing process; start and end of a JsonObject and a JsonArray;
6859 completion of every member and element of a JsonObject and a JsonArray.
6860 These signals require the addition of some custom marshaller.
6862 json-glib/json-marshal.list | 4 ++
6863 json-glib/json-parser.c | 118 +++++++++++++++++++++++++++++++++++++++++-
6864 json-glib/json-parser.h | 25 ++++++++-
6865 3 files changed, 141 insertions(+), 6 deletions(-)
6867 commit aa2b31234f7cfac63b870e8d9d74e682b3121d4a
6868 Author: Emmanuele Bassi <ebassi@openedhand.com>
6869 Date: Fri Oct 5 11:57:53 2007 +0100
6871 Implement the GType functions for JsonObject and JsonArray
6873 The type functions for the JsonObject and JsonArray types were declared,
6874 albeit with the wrong return value, but not implemented. This commit
6875 fixed the return value and implements them.
6877 JsonObject and JsonArray are boxed types because we don't need them to
6878 be GObjects (no signals, no inheritance and their implementation must be
6879 completely opaque for the developer).
6881 json-glib/json-array.c | 13 +++++++++++++
6882 json-glib/json-object.c | 13 +++++++++++++
6883 json-glib/json-types.h | 4 ++--
6884 3 files changed, 28 insertions(+), 2 deletions(-)
6886 commit bd41854505f47d2176ea4cfba8083ce998c482cc
6887 Author: Emmanuele Bassi <ebassi@openedhand.com>
6888 Date: Tue Oct 2 12:13:23 2007 +0100
6890 Document the GObject integration API into the API reference
6892 doc/reference/json-glib-docs.sgml | 6 ++++++
6893 doc/reference/json-glib-sections.txt | 6 ++++++
6894 2 files changed, 12 insertions(+), 0 deletions(-)
6896 commit cea3f69f2cde1cb4e6ea9242f6014b31864ad80f
6897 Author: Emmanuele Bassi <ebassi@openedhand.com>
6898 Date: Tue Oct 2 12:12:49 2007 +0100
6900 Add test case for GObject integration
6903 tests/Makefile.am | 4 +-
6904 tests/test-06.c | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++
6905 3 files changed, 159 insertions(+), 1 deletions(-)
6907 commit 3666613e47b66d67a28bc06c6dcf678fe97eae50
6908 Author: Emmanuele Bassi <ebassi@openedhand.com>
6909 Date: Tue Oct 2 12:11:55 2007 +0100
6911 Add GObject serialization support for JSON-GLib
6913 This commit adds json-gobject.h and json_serialize_gobject() to
6914 JSON-GLib, to serialize a GObject instance into a JSON data stream.
6917 json-glib/Makefile.am | 2 +
6918 json-glib/json-gobject.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++
6919 json-glib/json-gobject.h | 33 +++++++++
6920 4 files changed, 205 insertions(+), 0 deletions(-)
6922 commit 8398253c76cf5dda23891b49b1aaa49e57d95a8d
6923 Author: Emmanuele Bassi <ebassi@openedhand.com>
6924 Date: Tue Oct 2 10:03:00 2007 +0100
6926 Complete the tests suite with the object deserialization
6928 Add a test unit for JSON object generation using JsonGenerator. The
6929 empty, simple (1-depth) and complex (nested object and array) cases
6932 The complex object generation is taken from the RFC 4627, Examples
6936 tests/Makefile.am | 4 +-
6937 tests/test-05.c | 217 +++++++++++++++++++++++++++++++++++++++++++++++++++++
6938 3 files changed, 222 insertions(+), 1 deletions(-)
6940 commit 2b25dbfa802f9af6e76fbe72140b687535cae8e5
6941 Author: Emmanuele Bassi <ebassi@openedhand.com>
6942 Date: Tue Oct 2 08:07:56 2007 +0100
6946 JsonGenerator can now create objects and array-nested objects, with and without
6947 pretty printing. The test suite has been updated accordingly.
6949 json-glib/json-generator.c | 125 ++++++++++++++++++++++++++++++++++++++++++-
6950 tests/test-04.c | 68 ++++++++++++++++++++++++
6951 2 files changed, 190 insertions(+), 3 deletions(-)
6953 commit 326cdead6f1c7b1bbaae0961d28bfe5ca3af0a1a
6954 Author: Emmanuele Bassi <ebassi@openedhand.com>
6955 Date: Mon Oct 1 23:07:18 2007 +0100
6957 Add nested arrays support
6959 JsonGenerator now supports nested arrays, both with and without pretty
6960 printing. The tests suite has been updated accordingly.
6962 json-glib/json-generator.c | 10 +++++++
6963 tests/test-04.c | 61 ++++++++++++++++++++++++++++++++++++++++++++
6964 2 files changed, 71 insertions(+), 0 deletions(-)
6966 commit 6f4dd6b154a150e8b4221800b61f85e5c4277d1b
6967 Author: Emmanuele Bassi <ebassi@openedhand.com>
6968 Date: Mon Oct 1 22:58:04 2007 +0100
6970 Simple arrays generation
6972 JsonGenerator now can create simple arrays, with "pretty" enabled and disabled.
6973 Simple arrays are just one-level, value-only arrays.
6975 The test unit has been updated to exercise this new feature.
6977 json-glib/json-generator.c | 160 ++++++++++++++++++++++++++++++++++++++++++--
6978 tests/test-04.c | 86 ++++++++++++++++++++++--
6979 2 files changed, 234 insertions(+), 12 deletions(-)
6981 commit 7f0232eaab0af434e2e086c83b68395146e410f9
6982 Author: Emmanuele Bassi <ebassi@openedhand.com>
6983 Date: Mon Oct 1 22:22:12 2007 +0100
6985 Update list of git ignored files
6987 .gitignore | 5 +++++
6988 1 files changed, 5 insertions(+), 0 deletions(-)
6990 commit 47b34271f989cb5f2ba01a633d003adb6052cbd1
6991 Author: Emmanuele Bassi <ebassi@openedhand.com>
6992 Date: Mon Oct 1 22:20:23 2007 +0100
6994 Add initial test unit for the JsonGenerator object
6996 tests/Makefile.am | 4 +++-
6997 tests/test-04.c | 29 +++++++++++++++++++++++++++++
6998 2 files changed, 32 insertions(+), 1 deletions(-)
7000 commit 8edb4ef3232428ac9e548ae6c1dfa2328bf7198c
7001 Author: Emmanuele Bassi <ebassi@openedhand.com>
7002 Date: Mon Oct 1 22:19:28 2007 +0100
7004 Add missing json-generator.h header
7006 json-glib/json-glib.h | 1 +
7007 1 files changed, 1 insertions(+), 0 deletions(-)
7009 commit f09acae8e0d6ceba5d13de75551491835a7e71de
7010 Author: Emmanuele Bassi <ebassi@openedhand.com>
7011 Date: Mon Oct 1 19:49:43 2007 +0100
7013 Document the new public functions
7015 Now that we moved the constructors and setters for the JSON data types into
7016 the public symbols we need to document them to get back to 100% doc coverage.
7018 doc/reference/json-glib-sections.txt | 26 ++++++++++-
7019 json-glib/json-array.c | 22 ++++++++++
7020 json-glib/json-node.c | 78 ++++++++++++++++++++++++++++++++++
7021 json-glib/json-object.c | 15 +++++++
7022 json-glib/json-types.h | 2 +
7023 5 files changed, 141 insertions(+), 2 deletions(-)
7025 commit 228a5e4efe65995778847f48d2be43f3df988e10
7026 Author: Emmanuele Bassi <ebassi@openedhand.com>
7027 Date: Mon Oct 1 18:01:20 2007 +0100
7029 Move data types ctors and setters into the public headers
7031 Now that we are providing a generator class we need to provide the
7032 constructors and setters for JsonNode, JsonObject and JsonArray. This
7033 also means that the json-private.h header is now useless, so we can
7034 remove it from the build and repository.
7036 json-glib/Makefile.am | 2 +-
7037 json-glib/json-array.c | 1 -
7038 json-glib/json-generator.c | 1 -
7039 json-glib/json-node.c | 1 -
7040 json-glib/json-object.c | 1 -
7041 json-glib/json-parser.c | 1 -
7042 json-glib/json-private.h | 35 -----------------------------------
7043 json-glib/json-types.h | 36 ++++++++++++++++++++++++++++++------
7044 8 files changed, 31 insertions(+), 47 deletions(-)
7046 commit bfa60e9ef9da71e3c0d171f81cd08e8eac749061
7047 Author: Emmanuele Bassi <ebassi@openedhand.com>
7048 Date: Mon Oct 1 17:48:34 2007 +0100
7050 Add stub class for JsonGenerator
7052 JsonGenerator is an object that creates JSON data streams from a data
7053 model tree. This commit adds the JsonGenerator class to the build and
7056 doc/reference/json-glib-docs.sgml | 1 +
7057 doc/reference/json-glib-sections.txt | 25 ++++
7058 json-glib/Makefile.am | 2 +
7059 json-glib/json-generator.c | 255 ++++++++++++++++++++++++++++++++++
7060 json-glib/json-generator.h | 82 +++++++++++
7061 5 files changed, 365 insertions(+), 0 deletions(-)
7063 commit 41849494890f1f51bc7c4429f0ee7b5d168da302
7064 Author: Emmanuele Bassi <ebassi@openedhand.com>
7065 Date: Mon Oct 1 16:37:14 2007 +0100
7067 Fix ids inside the main documentation index
7069 doc/reference/json-glib-docs.sgml | 4 ++--
7070 1 files changed, 2 insertions(+), 2 deletions(-)
7072 commit c3f8ea960ef7f8733969d9fb0f71531bc7449a16
7073 Author: Emmanuele Bassi <ebassi@openedhand.com>
7074 Date: Mon Oct 1 16:25:47 2007 +0100
7076 Complete API reference of JSON-GLib
7078 With this commit, we reach 100% coverage.
7080 json-glib/json-parser.h | 19 +++++++++++++++++++
7081 json-glib/json-types.h | 20 ++++++++++++++++++++
7082 2 files changed, 39 insertions(+), 0 deletions(-)
7084 commit 2211e4e60b90b92d868c9b5f6b61e133d2435b4d
7085 Author: Emmanuele Bassi <ebassi@openedhand.com>
7086 Date: Mon Oct 1 16:25:11 2007 +0100
7088 Implement json_node_get_parent()
7090 It seems that the parent accessor fell through. This commit implements
7091 the declared json_node_get_parent() function.
7093 json-glib/json-node.c | 16 ++++++++++++++++
7094 1 files changed, 16 insertions(+), 0 deletions(-)
7096 commit 29feafc236f888021b817fdfe0cfe685f5e3b65e
7097 Author: Emmanuele Bassi <ebassi@openedhand.com>
7098 Date: Mon Oct 1 16:16:15 2007 +0100
7100 Add licensing informations to the source code
7102 json-glib/json-array.c | 29 ++++++++++++++++++++++++
7103 json-glib/json-node.c | 52 ++++++++++++++++++++++++++++++++++++------
7104 json-glib/json-object.c | 34 ++++++++++++++++++++++++---
7105 json-glib/json-parser.c | 28 +++++++++++++++++++++-
7106 json-glib/json-parser.h | 19 +++++++++++++++
7107 json-glib/json-types.h | 35 +++++++++++++++++++++++++++++
7108 json-glib/json-version.h.in | 19 +++++++++++++++
7109 7 files changed, 202 insertions(+), 14 deletions(-)
7111 commit 6eb1a5e94957d3555e7de5f6744a8777cd89efaf
7112 Author: Emmanuele Bassi <ebassi@openedhand.com>
7113 Date: Mon Oct 1 15:55:04 2007 +0100
7115 Fix a stray newline in the documentation
7117 doc/reference/json-glib-docs.sgml | 3 +--
7118 1 files changed, 1 insertions(+), 2 deletions(-)
7120 commit a5ecf553082816a1ce6c4354ff23e8addf8d9c80
7121 Author: Emmanuele Bassi <ebassi@openedhand.com>
7122 Date: Mon Oct 1 15:52:54 2007 +0100
7124 Update git ignore file
7126 .gitignore | 22 ++++++++++++++++++++++
7127 1 files changed, 22 insertions(+), 0 deletions(-)
7129 commit 9bdee4c01adef7e9d7ed18d5dd94671057f1459b
7130 Author: Emmanuele Bassi <ebassi@openedhand.com>
7131 Date: Mon Oct 1 15:50:49 2007 +0100
7133 Add API reference for JSON-GLib
7135 Use gtk-doc to build the various bits and pieces of the API reference
7138 doc/Makefile.am | 1 +
7139 doc/reference/Makefile.am | 2 +-
7140 doc/reference/json-glib-docs.sgml | 153 ++++++++++++++++++++++++++++++++++
7141 doc/reference/json-glib-sections.txt | 92 ++++++++++++++++++++
7142 doc/reference/json-glib.types | 1 +
7143 json-glib/json-node.c | 2 +-
7144 json-glib/json-version.h.in | 8 ++
7145 7 files changed, 257 insertions(+), 2 deletions(-)
7147 commit 2e362edd46f11f2fd1fa327877372b902b70c280
7148 Author: Emmanuele Bassi <ebassi@openedhand.com>
7149 Date: Mon Oct 1 14:57:39 2007 +0100
7151 Add more test cases for the object parsing
7153 tests/test-03.c | 3 +++
7154 1 files changed, 3 insertions(+), 0 deletions(-)
7156 commit 79423943a8588a8ed6d5bedbc038255111897261
7157 Author: Emmanuele Bassi <ebassi@openedhand.com>
7158 Date: Mon Oct 1 14:57:25 2007 +0100
7160 Swallow the comma earlier in the parser
7162 The comma is used as a member and element separator, so it should be
7163 swallowed by the parser as soon as possible.
7165 json-glib/json-parser.c | 25 ++++++++++++++++---------
7166 1 files changed, 16 insertions(+), 9 deletions(-)
7168 commit e711b883dba88d68b6986d87f14a06361cf54be7
7169 Author: Emmanuele Bassi <ebassi@openedhand.com>
7170 Date: Mon Oct 1 14:46:31 2007 +0100
7175 1 files changed, 3 insertions(+), 0 deletions(-)
7177 commit 591989c80b16fe68bdd79bcc7759a4249fdaf129
7178 Author: Emmanuele Bassi <ebassi@openedhand.com>
7179 Date: Mon Oct 1 14:45:42 2007 +0100
7183 Add JSON object parsing testing to the test units.
7185 tests/Makefile.am | 8 +-
7186 tests/test-02.c | 73 +++++++++++++++++-
7187 tests/test-03.c | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++
7188 3 files changed, 285 insertions(+), 7 deletions(-)
7190 commit ba3a6e6afed0d4fe3853b8e7400516557a20f775
7191 Author: Emmanuele Bassi <ebassi@openedhand.com>
7192 Date: Mon Oct 1 14:44:51 2007 +0100
7194 Add JSON object parsing
7196 This commit completes the JsonParser class by adding the ability to
7197 parse JSON objects, either alone or inside arrays. JsonParser is now
7200 json-glib/json-parser.c | 235 ++++++++++++++++++++++++++++++++++++++++++++---
7201 1 files changed, 220 insertions(+), 15 deletions(-)
7203 commit fd89ad3d7127e68df06345fa52863e73ada93689
7204 Author: Emmanuele Bassi <ebassi@openedhand.com>
7205 Date: Mon Oct 1 14:43:12 2007 +0100
7207 Declare json_node_take_object() and json_node_take_array()
7209 JsonParser uses the take variant of JsonNode setters for objects and arrays
7210 since it's the one creating the objects. This way, we avoid leaks and the
7211 extra complexity of unreffing the newly created complex containers after
7212 setting them into the JsonNodes.
7214 json-glib/json-private.h | 4 ++++
7215 1 files changed, 4 insertions(+), 0 deletions(-)
7217 commit b2ee98f9b0baac019540020e177189b6a3780b83
7218 Author: Emmanuele Bassi <ebassi@openedhand.com>
7219 Date: Mon Oct 1 13:01:32 2007 +0100
7221 Chain up nodes to their parent
7223 When parsing a JSON node we need to correctly set up the parent node
7224 of the newly created ones.
7226 json-glib/json-parser.c | 6 +++++-
7227 1 files changed, 5 insertions(+), 1 deletions(-)
7229 commit 88b11be5eec1da769328e93189bc2f3316c9cd0a
7230 Author: Emmanuele Bassi <ebassi@openedhand.com>
7231 Date: Mon Oct 1 12:57:46 2007 +0100
7233 Add JsonNode, a generic container for JSON types
7235 This huge commit removes JsonData and adds JsonNode, the generic container
7236 for fundamental and complex data types extracted from a JSON stream. The
7237 contents of a JsonNode can be extracted from it in form of a GValue for
7238 fundamental types (integers, floats, strings, booleans) or in form of
7239 JsonObject and JsonArray objects. JsonObject and JsonArray now accept
7240 JsonNodes instead of GValues.
7242 The JsonParser object builds the data model tree when parsing a JSON stream;
7243 the tree can be recursed by getting the root node and walking it using the
7244 GValue API for the fundamental types and the objects/arrays API for complex
7247 The API has been updated and the tests now recurse through the generated
7250 json-glib/Makefile.am | 2 +-
7251 json-glib/json-array.c | 64 +++++------
7252 json-glib/json-data.c | 93 ----------------
7253 json-glib/json-node.c | 269 ++++++++++++++++++++++++++++++++++++++++++++++
7254 json-glib/json-object.c | 44 ++------
7255 json-glib/json-parser.c | 87 +++++++++++----
7256 json-glib/json-parser.h | 2 +-
7257 json-glib/json-private.h | 38 +++----
7258 json-glib/json-types.h | 55 ++++++----
7259 tests/test-01.c | 2 +-
7260 tests/test-02.c | 112 ++++++++++++++++++-
7261 11 files changed, 533 insertions(+), 235 deletions(-)
7263 commit c11ebd32f73a1e21d6097bf9eba8e12f7e35497a
7264 Author: Emmanuele Bassi <ebassi@openedhand.com>
7265 Date: Fri Sep 21 21:07:12 2007 +0100
7267 Add JsonData, an opaque container for JSON data types
7269 JsonData is like GValue, but it stores JSON data types (objects and
7270 arrays) and allows us to retrieve them safely. This way we can actually
7271 know the type of the objects returned by the parser and by the other
7272 object walking functions.
7274 json-glib/Makefile.am | 1 +
7275 json-glib/json-data.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++
7276 json-glib/json-private.h | 7 +++
7277 json-glib/json-types.h | 49 +++++++++++++++++-------
7278 4 files changed, 136 insertions(+), 14 deletions(-)
7280 commit f661c7e1a04c2fb198279030c9dd812f357240a3
7281 Author: Emmanuele Bassi <ebassi@openedhand.com>
7282 Date: Fri Sep 21 21:05:12 2007 +0100
7284 Skip the token check after parsing a nested array
7286 Since there cannot be any other token except for the comma, which we
7287 eat anyway, there's no point in going through the switch() check
7288 after we have finished parsing a nested array.
7290 json-glib/json-parser.c | 2 ++
7291 1 files changed, 2 insertions(+), 0 deletions(-)
7293 commit ae3a66e6a90b6cfd71cb8c41c0d752fd1b0a67cc
7294 Author: Emmanuele Bassi <ebassi@openedhand.com>
7295 Date: Fri Sep 21 20:15:52 2007 +0100
7297 Update gitignore file
7299 .gitignore | 7 +++++++
7300 1 files changed, 7 insertions(+), 0 deletions(-)
7302 commit 7875c5f573fdc6c2a39e958d2032f4c26d1f91ff
7303 Author: Emmanuele Bassi <ebassi@openedhand.com>
7304 Date: Fri Sep 21 20:14:49 2007 +0100
7306 Start the test suite
7308 Add the first two test units:
7310 - test-01.c: build/empty test unit
7311 - test-02.c: array test unit
7313 Every test unit must follow the same naming policy, so we can add
7314 a run-tests script later on and a pre-commit hook to invoke it
7315 and catch regressions automagically.
7317 tests/Makefile.am | 12 ++++++++++++
7318 tests/test-01.c | 31 +++++++++++++++++++++++++++++++
7319 tests/test-02.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
7320 3 files changed, 95 insertions(+), 0 deletions(-)
7322 commit 81ad2e5c61db2391d2d98a6b5df1247e3abf16ec
7323 Author: Emmanuele Bassi <ebassi@openedhand.com>
7324 Date: Fri Sep 21 20:12:02 2007 +0100
7328 Add the array parsing code. The parser identifies and builds nested
7329 levels of arrays, but the storage is not quite right. That is a problem
7330 of the parser object, though, so this can be considered a first raw
7331 pass at the problem.
7333 json-glib/json-parser.c | 114 ++++++++++++++++++++++++++++++++++++++++-------
7334 1 files changed, 97 insertions(+), 17 deletions(-)
7336 commit b433703db6722785e33f968830e23c5806230ac2
7337 Author: Emmanuele Bassi <ebassi@openedhand.com>
7338 Date: Fri Sep 21 12:16:15 2007 +0100
7340 Add RFC 4627 text, where JSON is defined
7342 doc/rfc4627.txt | 563 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
7343 1 files changed, 563 insertions(+), 0 deletions(-)
7345 commit c77af0ec13e3e11cdb784510e6a75125bb8ef667
7346 Author: Emmanuele Bassi <ebassi@openedhand.com>
7347 Date: Fri Sep 21 12:08:09 2007 +0100
7349 Top-levels in JSON can only be objects or arrays
7351 JSON is an object serialisation format (thanks, RFC4627), so it can
7352 only express objects and/or arrays as top-levels.
7354 json-glib/json-parser.c | 24 ++++++++++++++----------
7355 1 files changed, 14 insertions(+), 10 deletions(-)
7357 commit 0ff67fb63c5e021b88d6a3d17c5e34dc95ac2676
7358 Author: Emmanuele Bassi <ebassi@openedhand.com>
7359 Date: Fri Sep 21 11:58:00 2007 +0100
7361 Update gitignore file
7364 1 files changed, 4 insertions(+), 0 deletions(-)
7366 commit d98d8c3d245192abe6ec5a531c9d0d678b07d061
7367 Author: Emmanuele Bassi <ebassi@openedhand.com>
7368 Date: Fri Sep 21 11:54:40 2007 +0100
7370 Add stubs to JsonParser for actually parsing a JSON stream
7372 Initial commit for getting JsonParser to work. Because GScanner API
7373 is old and mostly sucks, we need to do some magic with signals.
7375 If json_parser_load_from_data() fails, the passed GError will be set
7376 with a JSON_PARSER_ERROR code and message; unfortunately, we can't get
7377 the nice error message out of GScanner. We can, however, override the
7378 default message handler and make it emit a signal on the JsonParser
7381 So, to make a long story short: the GError passed to the load_from_data()
7382 method is filled with a short error message; the *real* error message
7383 is passed to the ::error signal handlers so they can actually use it.
7385 GScanner should really get a way to retrieve the last error message.
7387 json-glib/json-parser.c | 266 ++++++++++++++++++++++++++++++++++++++++++++++-
7388 json-glib/json-parser.h | 28 +++++-
7389 2 files changed, 290 insertions(+), 4 deletions(-)
7391 commit cd1040e2fb6f6da50aaf72017746b33234c39704
7392 Author: Emmanuele Bassi <ebassi@openedhand.com>
7393 Date: Fri Sep 21 11:08:06 2007 +0100
7395 Add marshallers generation to the build
7397 Use glib-genmarshal to generate the marshallers we need. For the
7398 time being, we just need a (void,pointer).
7400 json-glib/Makefile.am | 30 +++++++++++++++++++++++++-----
7401 json-glib/json-marshal.list | 1 +
7402 2 files changed, 26 insertions(+), 5 deletions(-)
7404 commit 821ac3e602f936318f9a2c3b831f135408ca5d74
7405 Author: Emmanuele Bassi <ebassi@openedhand.com>
7406 Date: Thu Sep 20 20:41:09 2007 +0100
7410 .gitignore | 29 +++++++++++++++++++++++++++++
7411 1 files changed, 29 insertions(+), 0 deletions(-)
7413 commit c5bfb22f964b8f1feecdc8fb29d8a74b36861d32
7414 Author: Emmanuele Bassi <ebassi@openedhand.com>
7415 Date: Thu Sep 20 17:33:28 2007 +0100
7417 Initial import of JSON-GLib
7419 JSON-GLib is a JSON parser library written with GLib and GObject.
7421 JSON is the JavaScript Object Notation, and it's used to define objects
7422 and object hierarchies in a human-readable way.
7425 COPYING | 504 ++++++++++++++++++++++++++++++++++++++++++
7430 configure.ac | 119 ++++++++++
7431 doc/reference/Makefile.am | 82 +++++++
7432 doc/reference/version.xml.in | 1 +
7433 json-glib.pc.in | 11 +
7434 json-glib/Makefile.am | 52 +++++
7435 json-glib/json-array.c | 176 +++++++++++++++
7436 json-glib/json-glib.h | 8 +
7437 json-glib/json-object.c | 201 +++++++++++++++++
7438 json-glib/json-parser.c | 152 +++++++++++++
7439 json-glib/json-parser.h | 57 +++++
7440 json-glib/json-private.h | 26 +++
7441 json-glib/json-types.h | 32 +++
7442 json-glib/json-version.h.in | 65 ++++++
7443 19 files changed, 1551 insertions(+), 0 deletions(-)