X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=graph_list.h;h=89351a981723cb6c266248ea59c49f3a500e2af2;hb=37e7f29d384c1eeda8c7bcb850e9c916303ffb8d;hp=3669e026b468cafd478d09db5db9111a23bd1e72;hpb=61b195a230f143f03101f2af1072644379fe5739;p=collection4.git diff --git a/graph_list.h b/graph_list.h index 3669e02..89351a9 100644 --- a/graph_list.h +++ b/graph_list.h @@ -1,23 +1,64 @@ #ifndef GRAPH_LIST_H #define GRAPH_LIST_H 1 -struct graph_ident_s; -typedef struct graph_ident_s graph_ident_t; +/* + * Data types + */ +struct graph_instance_s; +typedef struct graph_instance_s graph_instance_t; -struct graph_list_s -{ - char *host; - char *plugin; - char *plugin_instance; - char *type; - char *type_instance; -}; -typedef struct graph_list_s graph_list_t; +struct graph_config_s; +typedef struct graph_config_s graph_config_t; -typedef int (*gl_callback) (const graph_list_t *, void *); +/* + * Callback types + */ +typedef int (*gl_cfg_callback) (graph_config_t *cfg, + void *user_data); + +typedef int (*gl_inst_callback) (graph_config_t *cfg, + graph_instance_t *inst, void *user_data); + +#include "graph_def.h" +#include "graph_ident.h" +#include "utils_array.h" +#include "oconfig.h" + +/* + * Functions + */ +int graph_config_add (const oconfig_item_t *ci); +int graph_config_submit (void); + +int gl_graph_get_all (gl_cfg_callback callback, + void *user_data); + +graph_config_t *graph_get_selected (void); + +int gl_graph_get_title (graph_config_t *cfg, + char *buffer, size_t buffer_size); + +graph_ident_t *gl_graph_get_selector (graph_config_t *cfg); + +int gl_graph_add_def (graph_config_t *cfg, graph_def_t *def); + +int gl_graph_instance_get_all (graph_config_t *cfg, + gl_inst_callback callback, void *user_data); + +graph_instance_t *inst_get_selected (graph_config_t *cfg); + +int gl_instance_get_all (gl_inst_callback callback, + void *user_data); + +int gl_instance_get_params (graph_config_t *cfg, graph_instance_t *inst, + char *buffer, size_t buffer_size); + +int gl_instance_get_rrdargs (graph_config_t *cfg, graph_instance_t *inst, + str_array_t *args); + +graph_ident_t *gl_instance_get_selector (graph_instance_t *inst); int gl_update (void); -int gl_foreach (gl_callback callback, void *user_data); #endif /* GRAPH_LIST_H */ /* vim: set sw=2 sts=2 et fdm=marker : */