summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2014-03-06 14:35:49 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2014-03-18 16:27:59 +0000
commit794664746dcbe8894255f9615357dd51f7f836c3 (patch)
tree05bc7f153bd80a904111d2aee0ada361bc32bc8f /json-glib/json-parser.h
parent50bf9cd2f6bc9fb21d9793377f0fd534732d215d (diff)
downloadjson-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.h13
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);