aboutsummaryrefslogtreecommitdiffstats
path: root/src/sink.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-03 19:47:07 +0200
committerDavid Robillard <d@drobilla.net>2018-11-25 22:12:47 +0100
commit957fbbae9d51e3850f00ed109052ce7bab7087e0 (patch)
tree1c34e3bad481e08f40e800b1cc20aaaa809aad97 /src/sink.c
parentcd63c3d8d0627b5cb6c060db5f5132c0dbcc9a79 (diff)
downloadserd-957fbbae9d51e3850f00ed109052ce7bab7087e0.tar.gz
serd-957fbbae9d51e3850f00ed109052ce7bab7087e0.tar.bz2
serd-957fbbae9d51e3850f00ed109052ce7bab7087e0.zip
Make statement sink take a statement rather than nodes
This makes the interface more extensible, towards associating more information with statements. The serd_sink_write_nodes wrapper remains so that user code does not need to allocate in order to write statement.
Diffstat (limited to 'src/sink.c')
-rw-r--r--src/sink.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/sink.c b/src/sink.c
index 52e85c48..487f10d4 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -16,6 +16,8 @@
#include "serd/serd.h"
+#include "statement.h"
+
SerdStatus
serd_sink_set_base(const SerdSink* sink, const SerdNode* uri)
{
@@ -35,12 +37,7 @@ serd_sink_write_statement(const SerdSink* sink,
const SerdStatementFlags flags,
const SerdStatement* statement)
{
- return sink->statement(sink->handle,
- flags,
- serd_statement_get_graph(statement),
- serd_statement_get_subject(statement),
- serd_statement_get_predicate(statement),
- serd_statement_get_object(statement));
+ return sink->statement(sink->handle, flags, statement);
}
SerdStatus
@@ -51,8 +48,8 @@ serd_sink_write_nodes(const SerdSink* sink,
const SerdNode* object,
const SerdNode* graph)
{
- return sink->statement(
- sink->handle, flags, graph, subject, predicate, object);
+ const SerdStatement statement = { { subject, predicate, object, graph } };
+ return sink->statement(sink->handle, flags, &statement);
}
SerdStatus