diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2014-03-06 14:35:49 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2014-03-18 16:27:59 +0000 |
commit | 794664746dcbe8894255f9615357dd51f7f836c3 (patch) | |
tree | 05bc7f153bd80a904111d2aee0ada361bc32bc8f /json-glib/json-parser.h | |
parent | 50bf9cd2f6bc9fb21d9793377f0fd534732d215d (diff) | |
download | json-glib-794664746dcbe8894255f9615357dd51f7f836c3.tar.gz |
Use compiler annotations to determine symbol visibility
Instead of relying on a separate file that requires being update every
time we add a new public function we should use compiler annotations to
let the linker know which symbols are public and exported.
In order to achieve this we have to:
* check for the visibility=hidden attribute
* add -fvisibility=hidden to the linker flags
* add a macro to annotate all public symbols
While we're at it, we should copy the versioned symbols macro layout
already used by GLib, GTK+, and other G* libraries, including the
ability to express the range of allowed versions of JSON-GLib that
third party code can compile against.
Diffstat (limited to 'json-glib/json-parser.h')
-rw-r--r-- | json-glib/json-parser.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/json-glib/json-parser.h b/json-glib/json-parser.h index 9988915..8666548 100644 --- a/json-glib/json-parser.h +++ b/json-glib/json-parser.h @@ -28,7 +28,6 @@ #error "Only <json-glib/json-glib.h> can be included directly." #endif -#include <glib-object.h> #include <gio/gio.h> #include <json-glib/json-types.h> @@ -141,34 +140,46 @@ struct _JsonParserClass void (* _json_reserved8) (void); }; +JSON_AVAILABLE_IN_1_0 GQuark json_parser_error_quark (void); +JSON_AVAILABLE_IN_1_0 GType json_parser_get_type (void) G_GNUC_CONST; +JSON_AVAILABLE_IN_1_0 JsonParser *json_parser_new (void); +JSON_AVAILABLE_IN_1_0 gboolean json_parser_load_from_file (JsonParser *parser, const gchar *filename, GError **error); +JSON_AVAILABLE_IN_1_0 gboolean json_parser_load_from_data (JsonParser *parser, const gchar *data, gssize length, GError **error); +JSON_AVAILABLE_IN_1_0 gboolean json_parser_load_from_stream (JsonParser *parser, GInputStream *stream, GCancellable *cancellable, GError **error); +JSON_AVAILABLE_IN_1_0 void json_parser_load_from_stream_async (JsonParser *parser, GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +JSON_AVAILABLE_IN_1_0 gboolean json_parser_load_from_stream_finish (JsonParser *parser, GAsyncResult *result, GError **error); +JSON_AVAILABLE_IN_1_0 JsonNode * json_parser_get_root (JsonParser *parser); +JSON_AVAILABLE_IN_1_0 guint json_parser_get_current_line (JsonParser *parser); +JSON_AVAILABLE_IN_1_0 guint json_parser_get_current_pos (JsonParser *parser); +JSON_AVAILABLE_IN_1_0 gboolean json_parser_has_assignment (JsonParser *parser, gchar **variable_name); |