X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fgraph_list.h;h=a2a61e62ec0fc0b4ca936d8ab7a5365e1543de79;hb=HEAD;hp=c17d6fc08c17c220c2e911eeb85f1e5cd0ff75f5;hpb=0ab3085f89e64eecd67d3179ea87f0463e918a10;p=collection4.git diff --git a/src/graph_list.h b/src/graph_list.h index c17d6fc..a2a61e6 100644 --- a/src/graph_list.h +++ b/src/graph_list.h @@ -1,36 +1,75 @@ +/** + * collection4 - graph_list.h + * Copyright (C) 2010 Florian octo Forster + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * Authors: + * Florian octo Forster + **/ + #ifndef GRAPH_LIST_H #define GRAPH_LIST_H 1 -#include "graph_instance.h" +#include "graph_types.h" +#include "graph_ident.h" +#include "utils_search.h" +#include "data_provider.h" /* - * Callback types + * Functions */ -typedef int (*gl_cfg_callback) (graph_config_t *cfg, - void *user_data); +int gl_add_graph (graph_config_t *cfg); -typedef int (*gl_inst_callback) (graph_config_t *cfg, - graph_instance_t *inst, void *user_data); +int gl_config_submit (void); + +int gl_register_data_provider (const char *name, data_provider_t *p); /* - * Functions + * Returns the currently "selected" graph config. + * + * This function evaluates the HTTP query parameters and searches for a + * matching graph config structure. If a matching graph config is found, it + * will return a pointer to the graph config. Do *not* free or call + * graph_destroy() on this pointer. If no graph is found or parameters are + * incomplete, NULL is returned. */ -int gl_add_graph (graph_config_t *cfg); +graph_config_t *gl_graph_get_selected (void); -int gl_config_submit (void); +int gl_graph_get_all (_Bool include_dynamic, + graph_callback_t callback, void *user_data); -int gl_graph_get_all (gl_cfg_callback callback, +int gl_graph_instance_get_all (graph_config_t *cfg, graph_inst_callback_t callback, void *user_data); -graph_config_t *gl_graph_get_selected (void); +int gl_instance_get_all (graph_inst_callback_t callback, void *user_data); + +int gl_search (search_info_t *si, graph_inst_callback_t callback, + void *user_data); + +int gl_search_string (const char *search, graph_inst_callback_t callback, + void *user_data); -int gl_graph_instance_get_all (graph_config_t *cfg, - gl_inst_callback callback, void *user_data); +int gl_search_field (graph_ident_field_t field, const char *field_value, + graph_inst_callback_t callback, void *user_data); -int gl_instance_get_all (gl_inst_callback callback, +int gl_foreach_host (int (*callback) (const char *host, void *user_data), void *user_data); -int gl_update (void); +int gl_update (_Bool request_served); #endif /* GRAPH_LIST_H */ /* vim: set sw=2 sts=2 et fdm=marker : */