diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-06-19 18:27:24 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-06-19 18:27:24 +0100 |
commit | 4b2101ba6ab62ae26d82cc8b86e0e61e9c007156 (patch) | |
tree | e46413e8f7a99d68f26f4b6e4f898b8400758933 /content/fetchers/data.c | |
parent | 904cefd388aa613126b69c858e489c5867163a87 (diff) | |
download | netsurf-4b2101ba6ab62ae26d82cc8b86e0e61e9c007156.tar.gz netsurf-4b2101ba6ab62ae26d82cc8b86e0e61e9c007156.tar.bz2 |
clean up the fetcher factory and improve its API
Diffstat (limited to 'content/fetchers/data.c')
-rw-r--r-- | content/fetchers/data.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/content/fetchers/data.c b/content/fetchers/data.c index f7ae17150..94ba63827 100644 --- a/content/fetchers/data.c +++ b/content/fetchers/data.c @@ -31,6 +31,7 @@ #include "utils/config.h" #include "content/fetch.h" +#include "content/fetchers.h" #include "content/fetchers/data.h" #include "content/urldb.h" #include "desktop/netsurf.h" @@ -324,17 +325,19 @@ static void fetch_data_poll(lwc_string *scheme) } while ( (c = next) != ring && ring != NULL); } -void fetch_data_register(void) +nserror fetch_data_register(void) { lwc_string *scheme = lwc_string_ref(corestring_lwc_data); - - fetch_add_fetcher(scheme, - fetch_data_initialise, - fetch_data_can_fetch, - fetch_data_setup, - fetch_data_start, - fetch_data_abort, - fetch_data_free, - fetch_data_poll, - fetch_data_finalise); + const struct fetcher_operation_table fetcher_ops = { + .initialise = fetch_data_initialise, + .acceptable = fetch_data_can_fetch, + .setup = fetch_data_setup, + .start = fetch_data_start, + .abort = fetch_data_abort, + .free = fetch_data_free, + .poll = fetch_data_poll, + .finalise = fetch_data_finalise + }; + + return fetcher_add(scheme, &fetcher_ops); } |