X-Git-Url: https://git.octo.it/?p=collection4.git;a=blobdiff_plain;f=src%2Fgraph_list.c;h=b969d4ce2481a794e83997a5f8c7207bac0c6787;hp=60cb82a925f0abc1751840ee32347fa8d1231dad;hb=3a5182f49dd2bf9e617566a8a9ec7689db4f4f8b;hpb=97f299a09ad5bb7a27f5d27afb9f90a5ffd1e218 diff --git a/src/graph_list.c b/src/graph_list.c index 60cb82a..b969d4c 100644 --- a/src/graph_list.c +++ b/src/graph_list.c @@ -38,6 +38,7 @@ #include "graph_list.h" #include "common.h" +#include "data_provider.h" #include "filesystem.h" #include "graph.h" #include "graph_config.h" @@ -209,6 +210,14 @@ static int gl_register_file (const graph_ident_t *file, /* {{{ */ return (0); } /* }}} int gl_register_file */ +static int gl_register_ident (graph_ident_t *ident, /* {{{ */ + __attribute__((unused)) void *user_data) +{ + /* TODO: Check for duplicates if multiple data providers are used. */ + + return (gl_register_file (ident, user_data)); +} /* }}} int gl_register_ident */ + static const char *get_part_from_param (const char *prim_key, /* {{{ */ const char *sec_key) { @@ -270,11 +279,8 @@ static int gl_update_cache (void) /* {{{ */ if (status == 0) { if (statbuf.st_mtime >= gl_last_update) - { - fprintf (stderr, "gl_update_cache: Not writing to cache because it's " - "at least as new as our internal data\n"); + /* Not writing to cache because it's at least as new as our internal data */ return (0); - } } else { @@ -344,11 +350,6 @@ static int gl_update_cache (void) /* {{{ */ return (0); } /* }}} int gl_update_cache */ -static int gl_scan_directory (void) -{ - return (-1); -} /* }}} int gl_scan_directory */ - /* * JSON parsing functions */ @@ -1087,8 +1088,13 @@ int gl_update (_Bool request_served) /* {{{ */ if ((status != 0) || ((gl_last_update + UPDATE_INTERVAL) < now)) { - status = fs_scan (/* callback = */ gl_register_file, - /* user data = */ NULL); + /* Clear state */ + gl_clear_instances (); + gl_clear_hosts (); + gl_destroy (&gl_dynamic, &gl_dynamic_num); + + data_provider_get_idents (gl_register_ident, /* user data = */ NULL); + gl_last_update = now; }