diff options
author | David Robillard <d@drobilla.net> | 2018-12-26 19:25:51 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-04-13 19:15:32 +0200 |
commit | ad7e36a6ba35d46128f1bc8d74fa1ad4c979e5ea (patch) | |
tree | 4f9b98d5d16b6ca4ba71926a0d3b1116f350ea38 /src/byte_source.h | |
parent | 6fa4720fe935853338b362e5fce1a2486e16978a (diff) | |
download | serd-ad7e36a6ba35d46128f1bc8d74fa1ad4c979e5ea.tar.gz serd-ad7e36a6ba35d46128f1bc8d74fa1ad4c979e5ea.tar.bz2 serd-ad7e36a6ba35d46128f1bc8d74fa1ad4c979e5ea.zip |
Hide fopen wrapper and use reader interface consistently
Diffstat (limited to 'src/byte_source.h')
-rw-r--r-- | src/byte_source.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/byte_source.h b/src/byte_source.h index fc5947fa..b642c0a2 100644 --- a/src/byte_source.h +++ b/src/byte_source.h @@ -23,6 +23,8 @@ #include <stddef.h> #include <stdio.h> +typedef int (*SerdStreamCloseFunc)(void*); + typedef struct { const char* filename; unsigned line; @@ -32,6 +34,7 @@ typedef struct { typedef struct { SerdReadFunc read_func; ///< Read function (e.g. fread) SerdStreamErrorFunc error_func; ///< Error function (e.g. ferror) + SerdStreamCloseFunc close_func; ///< Function for closing stream void* stream; ///< Stream (e.g. FILE) size_t page_size; ///< Number of bytes to read at a time Cursor cur; ///< Cursor for error reporting @@ -45,17 +48,13 @@ typedef struct { } SerdByteSource; SerdStatus -serd_byte_source_open_file(SerdByteSource* source, - FILE* file, - bool bulk); - -SerdStatus serd_byte_source_open_string(SerdByteSource* source, const char* utf8); SerdStatus serd_byte_source_open_source(SerdByteSource* source, SerdReadFunc read_func, SerdStreamErrorFunc error_func, + SerdStreamCloseFunc close_func, void* stream, const char* name, size_t page_size); |