Code

"show_graph_json" action: Update for the new interface.
[collection4.git] / src / graph.h
index b7a7a8919e0ac93d6a238d57229f52758c1fdb78..0c4ff76b2e8ea14d3d0d94cc6b6371c0b8dcb044 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef GRAPH_H
 #define GRAPH_H 1
 
+#include <yajl/yajl_gen.h>
+
 #include "graph_types.h"
 #include "graph_ident.h"
 #include "oconfig.h"
@@ -62,6 +64,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 +107,8 @@ 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);
+
 size_t graph_num_instances (graph_config_t *cfg);
 
 int graph_sort_instances (graph_config_t *cfg);