aboutsummaryrefslogtreecommitdiffstats
path: root/serd
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-12-29 17:36:15 -0500
committerDavid Robillard <d@drobilla.net>2019-12-19 20:57:55 -0500
commitb1e79af3188b1caf2051fca20fba6464e4ce62d4 (patch)
tree9c8d230bd6392440c7779aebdb8e133b0a6f4faa /serd
parenta20bfec928afe3be17765f7b044ecd7244502689 (diff)
downloadserd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.tar.gz
serd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.tar.bz2
serd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.zip
Add Env to Sink
This isn't technically necessary for any sink, but is a pattern common to every sink implementation in serd, so having it here reduces boilerplate and parameters in user code.
Diffstat (limited to 'serd')
-rw-r--r--serd/serd.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/serd/serd.h b/serd/serd.h
index 2613ed6f..f18968e7 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -1095,10 +1095,11 @@ serd_env_write_prefixes(const SerdEnv* env, const SerdSink* sink);
serd_sink_set_*_func functions to set handlers for various events.
@param handle Opaque handle that will be passed to sink functions.
+ @param env Environment for sink, updated as base uri or prefixes change.
*/
SERD_API
SerdSink*
-serd_sink_new(void* handle);
+serd_sink_new(void* handle, SerdEnv* env);
/**
Free `sink`.
@@ -1108,6 +1109,13 @@ void
serd_sink_free(SerdSink* sink);
/**
+ Return the env used by `writer`.
+*/
+SERD_API
+const SerdEnv*
+serd_sink_get_env(const SerdSink* sink);
+
+/**
Set a function to be called when the base URI changes.
*/
SERD_API
@@ -1336,13 +1344,6 @@ const SerdSink*
serd_writer_get_sink(SerdWriter* writer);
/**
- Return the env used by `writer`.
-*/
-SERD_API
-SerdEnv*
-serd_writer_get_env(SerdWriter* writer);
-
-/**
A convenience sink function for writing to a string.
This function can be used as a SerdSink to write to a SerdBuffer which is