aboutsummaryrefslogtreecommitdiffstats
path: root/src/reader.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-03-01 19:38:01 -0500
committerDavid Robillard <d@drobilla.net>2022-01-13 23:03:28 -0500
commit6f362db2fbfe1b02929673aa9b0529b4328fb195 (patch)
treefe81aaace76478fcd344757397bad7efc1b4db57 /src/reader.h
parent6df8ef0e9b360f8d1a37723d0492bacc4a49f957 (diff)
downloadserd-6f362db2fbfe1b02929673aa9b0529b4328fb195.tar.gz
serd-6f362db2fbfe1b02929673aa9b0529b4328fb195.tar.bz2
serd-6f362db2fbfe1b02929673aa9b0529b4328fb195.zip
Add SerdSink interface and hide implementations
Diffstat (limited to 'src/reader.h')
-rw-r--r--src/reader.h37
1 files changed, 16 insertions, 21 deletions
diff --git a/src/reader.h b/src/reader.h
index 60a52e9d..d5c80373 100644
--- a/src/reader.h
+++ b/src/reader.h
@@ -57,27 +57,22 @@ typedef struct {
} ReadContext;
struct SerdReaderImpl {
- void* handle;
- void (*free_handle)(void* ptr);
- SerdBaseFunc base_func;
- SerdPrefixFunc prefix_func;
- SerdStatementFunc statement_func;
- SerdEndFunc end_func;
- SerdErrorFunc error_func;
- void* error_handle;
- Ref rdf_first;
- Ref rdf_rest;
- Ref rdf_nil;
- SerdNode* default_graph;
- SerdByteSource source;
- SerdStack stack;
- SerdSyntax syntax;
- unsigned next_id;
- uint8_t* buf;
- char* bprefix;
- size_t bprefix_len;
- bool strict; ///< True iff strict parsing
- bool seen_genid;
+ const SerdSink* sink;
+ SerdErrorFunc error_func;
+ void* error_handle;
+ Ref rdf_first;
+ Ref rdf_rest;
+ Ref rdf_nil;
+ SerdNode* default_graph;
+ SerdByteSource source;
+ SerdStack stack;
+ SerdSyntax syntax;
+ unsigned next_id;
+ uint8_t* buf;
+ char* bprefix;
+ size_t bprefix_len;
+ bool strict; ///< True iff strict parsing
+ bool seen_genid;
#ifdef SERD_STACK_CHECK
Ref* allocs; ///< Stack of push offsets
size_t n_allocs; ///< Number of stack pushes