X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgraph_ident.h;h=6d033b328ff098273c18ecaeeaab92eedbdfce1d;hb=c4c851ce35ad88eff7f843dbced132f55b8a2f6c;hp=4eced2de4d074261f60e0fd8ac6d7f48010742a7;hpb=b988bcc13c655299bc3796cccaa583f62704e759;p=collection4.git diff --git a/src/graph_ident.h b/src/graph_ident.h index 4eced2d..6d033b3 100644 --- a/src/graph_ident.h +++ b/src/graph_ident.h @@ -25,7 +25,11 @@ #define GRAPH_IDENT_H 1 #include + +#include + #include "graph_types.h" +#include "data_provider.h" #define ANY_TOKEN "/any/" #define ALL_TOKEN "/all/" @@ -78,9 +82,22 @@ int ident_compare (const graph_ident_t *i0, _Bool ident_matches (const graph_ident_t *selector, const graph_ident_t *ident); +/* The "ident_intersect" function takes two selectors and returns true if a + * file may apply to both selectors. If the selectors contradict one another, + * for example one issuing "plugin = cpu" and the other "plugin = memory", + * then false is returned. */ +_Bool ident_intersect (const graph_ident_t *s0, const graph_ident_t *s1); + char *ident_to_string (const graph_ident_t *ident); char *ident_to_file (const graph_ident_t *ident); -char *ident_to_json (const graph_ident_t *ident); +int ident_to_json (const graph_ident_t *ident, + yajl_gen handler); +int ident_data_to_json (const graph_ident_t *ident, + dp_time_t begin, dp_time_t end, + yajl_gen handler); + +int ident_describe (const graph_ident_t *ident, const graph_ident_t *selector, + char *buffer, size_t buffer_size); time_t ident_get_mtime (const graph_ident_t *ident);