X-Git-Url: https://git.octo.it/?p=collection4.git;a=blobdiff_plain;f=src%2Fgraph.h;h=2873103ba1153f5c105ce0903f8e72080b7b5cec;hp=b7a7a8919e0ac93d6a238d57229f52758c1fdb78;hb=6b69fb3290de5d4208dc751f2fdbf8a37212fed8;hpb=b31c5fd56bfb8ccf78f67d952d97c1f83b883b78 diff --git a/src/graph.h b/src/graph.h index b7a7a89..2873103 100644 --- a/src/graph.h +++ b/src/graph.h @@ -24,6 +24,8 @@ #ifndef GRAPH_H #define GRAPH_H 1 +#include + #include "graph_types.h" #include "graph_ident.h" #include "oconfig.h" @@ -40,6 +42,10 @@ void graph_destroy (graph_config_t *graph); int graph_config_add (const oconfig_item_t *ci); +/* Add "inst" to the internal list. The instance is *not* copied and may not be + * freed from the outside. */ +int graph_add_inst (graph_config_t *graph, graph_instance_t *inst); + int graph_add_file (graph_config_t *cfg, const graph_ident_t *file); int graph_get_title (graph_config_t *cfg, @@ -62,6 +68,12 @@ _Bool graph_ident_matches (graph_config_t *cfg, const graph_ident_t *ident); _Bool graph_matches_ident (graph_config_t *cfg, const graph_ident_t *selector); +/* Returns true if a file may apply to both, the graphs selector and the + * selector given as argument. If the selectors contradict one another, + * returns false. */ +_Bool graph_ident_intersect (graph_config_t *cfg, + const graph_ident_t *selector); + /* Compares the given string with the appropriate field of the selector. If * the selector field is "/all/" or "/any/", returns true without checking the * instances. See "graph_inst_search_field" for finding all matching @@ -99,6 +111,9 @@ int graph_inst_search_field (graph_config_t *cfg, int graph_compare (graph_config_t *cfg, const graph_ident_t *ident); +int graph_to_json (const graph_config_t *cfg, yajl_gen handler); +int graph_def_to_json (const graph_config_t *cfg, yajl_gen handler); + size_t graph_num_instances (graph_config_t *cfg); int graph_sort_instances (graph_config_t *cfg);