aboutsummaryrefslogtreecommitdiffstats
path: root/src/sink.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-12-29 17:36:15 -0500
committerDavid Robillard <d@drobilla.net>2018-12-31 11:37:49 -0500
commit904d3d9b0bcdbb1507adccdde831db0d5f7ae251 (patch)
treebe485f9684819534972a40ced925138f5e4d850c /src/sink.c
parentbeb2eba61195d6ef838cd3bfd363ae74785aaff9 (diff)
downloadserd-904d3d9b0bcdbb1507adccdde831db0d5f7ae251.tar.gz
serd-904d3d9b0bcdbb1507adccdde831db0d5f7ae251.tar.bz2
serd-904d3d9b0bcdbb1507adccdde831db0d5f7ae251.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 'src/sink.c')
-rw-r--r--src/sink.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sink.c b/src/sink.c
index 0f6faf85..b7e93768 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -24,11 +24,13 @@
#include <stdlib.h>
SerdSink*
-serd_sink_new(void* handle)
+serd_sink_new(void* handle, SerdEnv* env)
{
SerdSink* sink = (SerdSink*)calloc(1, sizeof(SerdSink));
sink->handle = handle;
+ sink->env = env;
+
return sink;
}
@@ -38,6 +40,12 @@ serd_sink_free(SerdSink* sink)
free(sink);
}
+SerdEnv*
+serd_sink_get_env(SerdSink* sink)
+{
+ return sink->env;
+}
+
SerdStatus
serd_sink_set_base_func(SerdSink* sink, SerdBaseSink base_func)
{