From cd63c3d8d0627b5cb6c060db5f5132c0dbcc9a79 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 3 Jun 2018 19:42:30 +0200 Subject: Add sink interface --- serd/serd.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'serd/serd.h') diff --git a/serd/serd.h b/serd/serd.h index 5bfcec1e..1db1d1b1 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -936,6 +936,66 @@ serd_env_foreach(const SerdEnv* env, SerdPrefixSink func, void* handle); +/** + @} + @name Sink + @{ +*/ + +/** + Set the base URI. + + Simple wrapper for the `SerdBaseSink` of `sink`. +*/ +SERD_API +SerdStatus +serd_sink_set_base(const SerdSink* sink, const SerdNode* uri); + +/** + Set a namespace prefix. + + Simple wrapper for the `SerdPrefixSink` of `sink`. +*/ +SERD_API +SerdStatus +serd_sink_set_prefix(const 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(const 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_nodes(const 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(const SerdSink* sink, const SerdNode* node); + /** @} @name Reader -- cgit v1.2.1