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-path.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-path.h')
| -rw-r--r-- | json-glib/json-path.h | 6 |
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); |
