aboutsummaryrefslogtreecommitdiffstats
path: root/serd
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-03 19:42:30 +0200
committerDavid Robillard <d@drobilla.net>2018-12-31 11:37:47 -0500
commit39fabf4d292f674f4d669b98e446e66d8ef11aa0 (patch)
tree3e01779fc95be27d91d560e243560854109722cd /serd
parent7dafd649f8a089fed52e90a4f8bdbd5e21ba31a3 (diff)
downloadserd-39fabf4d292f674f4d669b98e446e66d8ef11aa0.tar.gz
serd-39fabf4d292f674f4d669b98e446e66d8ef11aa0.tar.bz2
serd-39fabf4d292f674f4d669b98e446e66d8ef11aa0.zip
Add sink interface
Diffstat (limited to 'serd')
-rw-r--r--serd/serd.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/serd/serd.h b/serd/serd.h
index d108e120..009540b2 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -937,6 +937,64 @@ serd_env_foreach(const SerdEnv* env,
/**
@}
+ @name Sink
+ @{
+*/
+
+/**
+ Set the base URI.
+
+ Simple wrapper for the `SerdBaseSink` of `sink`.
+*/
+SERD_API
+SerdStatus
+serd_sink_set_base(SerdSink* sink, const SerdNode* uri);
+
+/**
+ Set a namespace prefix.
+
+ Simple wrapper for the `SerdPrefixSink` of `sink`.
+*/
+SERD_API
+SerdStatus
+serd_sink_set_prefix(SerdSink* sink, const SerdNode* name, const SerdNode* uri);
+
+/**
+ Write a statement.
+
+ Simple wrapper for the `SerdStatementSink` of `sink`.
+*/
+SERD_API
+SerdStatus
+serd_sink_write_statement(SerdSink* sink,
+ SerdStatementFlags flags,
+ const SerdStatement* statement);
+
+/**
+ Write a statement from individual nodes.
+
+ Simple wrapper for the `SerdStatementSink` of `sink`.
+*/
+SERD_API
+SerdStatus
+serd_sink_write(SerdSink* sink,
+ SerdStatementFlags flags,
+ const SerdNode* subject,
+ const SerdNode* predicate,
+ const SerdNode* object,
+ const SerdNode* graph);
+
+/**
+ Mark the end of an anonymous node.
+
+ Simple wrapper for the `SerdEndSink` of `sink`.
+*/
+SERD_API
+SerdStatus
+serd_sink_end(SerdSink* sink, const SerdNode* node);
+
+/**
+ @}
@name Reader
@{
*/