summaryrefslogtreecommitdiff
path: root/json-glib/json-path.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-path.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-path.h')
-rw-r--r--json-glib/json-path.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/json-glib/json-path.h b/json-glib/json-path.h
index 272c298..b8ffb91 100644
--- a/json-glib/json-path.h
+++ b/json-glib/json-path.h
@@ -76,17 +76,23 @@ typedef struct _JsonPath JsonPath;
*/
typedef struct _JsonPathClass JsonPathClass;
+JSON_AVAILABLE_IN_1_0
GType json_path_get_type (void) G_GNUC_CONST;
+JSON_AVAILABLE_IN_1_0
GQuark json_path_error_quark (void);
+JSON_AVAILABLE_IN_1_0
JsonPath * json_path_new (void);
+JSON_AVAILABLE_IN_1_0
gboolean json_path_compile (JsonPath *path,
const char *expression,
GError **error);
+JSON_AVAILABLE_IN_1_0
JsonNode * json_path_match (JsonPath *path,
JsonNode *root);
+JSON_AVAILABLE_IN_1_0
JsonNode * json_path_query (const char *expression,
JsonNode *root,
GError **error);