diff options
| author | Emmanuele Bassi <ebassi@gnome.org> | 2013-07-11 17:04:13 +0100 |
|---|---|---|
| committer | Emmanuele Bassi <ebassi@gnome.org> | 2013-07-20 11:11:51 +0100 |
| commit | 3fd47359707dfc15277cef505d4008c10d8455e9 (patch) | |
| tree | 36ff73b84f46ccaaf001d452bc369ea5fc5d7f4e | |
| parent | a9327484746820a5a2b8c1acf4a78470b004f0a0 (diff) | |
| download | json-glib-3fd47359707dfc15277cef505d4008c10d8455e9.tar.gz | |
Use new macros when compiling against new GLib
If we're being compiled against a newer version of GLib, we should use
the new macros that add instance private data.
Since this is a stable branch, we cannot bump the GLib requirement; so
we use version checks to conditionally compile the new code.
| -rw-r--r-- | json-glib/json-builder.c | 15 | ||||
| -rw-r--r-- | json-glib/json-generator.c | 15 | ||||
| -rw-r--r-- | json-glib/json-parser.c | 12 | ||||
| -rw-r--r-- | json-glib/json-reader.c | 10 |
4 files changed, 45 insertions, 7 deletions
diff --git a/json-glib/json-builder.c b/json-glib/json-builder.c index d2f5391..82e3ec7 100644 --- a/json-glib/json-builder.c +++ b/json-glib/json-builder.c @@ -48,8 +48,11 @@ #include "json-builder.h" -#define JSON_BUILDER_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_BUILDER, JsonBuilderPrivate)) +#if GLIB_CHECK_VERSION (2, 37, 3) +# define JSON_BUILDER_GET_PRIVATE(obj) ((JsonBuilderPrivate *) json_builder_get_instance_private ((JsonBuilder *) (obj))) +#else +# define JSON_BUILDER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_BUILDER, JsonBuilderPrivate)) +#endif struct _JsonBuilderPrivate { @@ -104,7 +107,11 @@ json_builder_state_free (JsonBuilderState *state) } } -G_DEFINE_TYPE (JsonBuilder, json_builder, G_TYPE_OBJECT); +#if GLIB_CHECK_VERSION (2, 37, 3) +G_DEFINE_TYPE_WITH_PRIVATE (JsonBuilder, json_builder, G_TYPE_OBJECT) +#else +G_DEFINE_TYPE (JsonBuilder, json_builder, G_TYPE_OBJECT) +#endif static void json_builder_free_all_state (JsonBuilder *builder) @@ -142,7 +149,9 @@ json_builder_class_init (JsonBuilderClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); +#if !GLIB_CHECK_VERSION (2, 37, 3) g_type_class_add_private (klass, sizeof (JsonBuilderPrivate)); +#endif gobject_class->finalize = json_builder_finalize; } diff --git a/json-glib/json-generator.c b/json-glib/json-generator.c index 097f2a9..04beaf4 100644 --- a/json-glib/json-generator.c +++ b/json-glib/json-generator.c @@ -41,8 +41,11 @@ #include "json-marshal.h" #include "json-generator.h" -#define JSON_GENERATOR_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_GENERATOR, JsonGeneratorPrivate)) +#if GLIB_CHECK_VERSION (2, 37, 3) +# define JSON_GENERATOR_GET_PRIVATE(obj) ((JsonGeneratorPrivate *) json_generator_get_instance_private ((JsonGenerator *) (obj))) +#else +# define JSON_GENERATOR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_GENERATOR, JsonGeneratorPrivate)) +#endif struct _JsonGeneratorPrivate { @@ -109,7 +112,11 @@ static const char json_exceptions[] = { static GParamSpec *generator_props[PROP_LAST] = { NULL, }; -G_DEFINE_TYPE (JsonGenerator, json_generator, G_TYPE_OBJECT); +#if GLIB_CHECK_VERSION (2, 37, 3) +G_DEFINE_TYPE_WITH_PRIVATE (JsonGenerator, json_generator, G_TYPE_OBJECT) +#else +G_DEFINE_TYPE (JsonGenerator, json_generator, G_TYPE_OBJECT) +#endif static gchar * json_strescape (const gchar *str) @@ -193,7 +200,9 @@ json_generator_class_init (JsonGeneratorClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); +#if !GLIB_CHECK_VERSION (2, 37, 3) g_type_class_add_private (klass, sizeof (JsonGeneratorPrivate)); +#endif /** * JsonGenerator:pretty: diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c index 593258c..1600e90 100644 --- a/json-glib/json-parser.c +++ b/json-glib/json-parser.c @@ -45,7 +45,11 @@ #include "json-parser.h" #include "json-scanner.h" -#define JSON_PARSER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_PARSER, JsonParserPrivate)) +#if GLIB_CHECK_VERSION (2, 37, 3) +# define JSON_PARSER_GET_PRIVATE(obj) ((JsonParserPrivate *) json_parser_get_instance_private ((JsonParser *) (obj))) +#else +# define JSON_PARSER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JSON_TYPE_PARSER, JsonParserPrivate)) +#endif struct _JsonParserPrivate { @@ -102,7 +106,11 @@ static guint parser_signals[LAST_SIGNAL] = { 0, }; G_DEFINE_QUARK (json-parser-error-quark, json_parser_error) +#if GLIB_CHECK_VERSION (2, 37, 3) +G_DEFINE_TYPE_WITH_PRIVATE (JsonParser, json_parser, G_TYPE_OBJECT) +#else G_DEFINE_TYPE (JsonParser, json_parser, G_TYPE_OBJECT) +#endif static guint json_parse_array (JsonParser *parser, JsonScanner *scanner, @@ -156,7 +164,9 @@ json_parser_class_init (JsonParserClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); +#if !GLIB_CHECK_VERSION (2, 37, 3) g_type_class_add_private (klass, sizeof (JsonParserPrivate)); +#endif gobject_class->dispose = json_parser_dispose; gobject_class->finalize = json_parser_finalize; diff --git a/json-glib/json-reader.c b/json-glib/json-reader.c index b2a9f7f..6b7751f 100644 --- a/json-glib/json-reader.c +++ b/json-glib/json-reader.c @@ -109,7 +109,11 @@ enum static GParamSpec *reader_properties[PROP_LAST] = { NULL, }; +#if GLIB_CHECK_VERSION (2, 37, 3) +G_DEFINE_TYPE_WITH_PRIVATE (JsonReader, json_reader, G_TYPE_OBJECT) +#else G_DEFINE_TYPE (JsonReader, json_reader, G_TYPE_OBJECT) +#endif G_DEFINE_QUARK (json-reader-error-quark, json_reader_error) @@ -170,7 +174,9 @@ json_reader_class_init (JsonReaderClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); +#if !GLIB_CHECK_VERSION (2, 37, 3) g_type_class_add_private (klass, sizeof (JsonReaderPrivate)); +#endif /** * JsonReader:root: @@ -197,8 +203,12 @@ json_reader_class_init (JsonReaderClass *klass) static void json_reader_init (JsonReader *self) { +#if GLIB_CHECK_VERSION (2, 37, 3) + self->priv = json_reader_get_instance_private (self); +#else self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, JSON_TYPE_READER, JsonReaderPrivate); +#endif } /** |
