Code

src/graph_instance.[ch]: Implement "inst_data_to_json".
authorFlorian Forster <octo@verplant.org>
Wed, 8 Sep 2010 15:30:55 +0000 (17:30 +0200)
committerFlorian Forster <octo@verplant.org>
Wed, 8 Sep 2010 15:30:55 +0000 (17:30 +0200)
src/graph_ident.h
src/graph_instance.c
src/graph_instance.h

index 30d7e697862dbf3b1e6080043b91b156b95dc88c..6d033b328ff098273c18ecaeeaab92eedbdfce1d 100644 (file)
@@ -29,6 +29,7 @@
 #include <yajl/yajl_gen.h>
 
 #include "graph_types.h"
+#include "data_provider.h"
 
 #define ANY_TOKEN "/any/"
 #define ALL_TOKEN "/all/"
index 86cec84c832fa8ccb02afd926a16e5da13e9f89c..23d88dcd8e40737f2cdee69178dbd54f47fd3db2 100644 (file)
@@ -567,6 +567,20 @@ int inst_to_json (const graph_instance_t *inst, /* {{{ */
   return (0);
 } /* }}} int inst_to_json */
 
+int inst_data_to_json (const graph_instance_t *inst, /* {{{ */
+    dp_time_t begin, dp_time_t end,
+    yajl_gen handler)
+{
+  size_t i;
+
+  yajl_gen_array_open (handler);
+  for (i = 0; i < inst->files_num; i++)
+    ident_data_to_json (inst->files[i], begin, end, handler);
+  yajl_gen_array_close (handler);
+
+  return (0);
+} /* }}} int inst_data_to_json */
+
 int inst_describe (graph_config_t *cfg, graph_instance_t *inst, /* {{{ */
     char *buffer, size_t buffer_size)
 {
index 5a9cd478838acc72833ea127f10056d20bf4c9c9..0279deb3da1781d49c860bb094f138b8db4b0782 100644 (file)
@@ -29,6 +29,7 @@
 #include <yajl/yajl_gen.h>
 
 #include "graph_types.h"
+#include "data_provider.h"
 #include "graph_ident.h"
 #include "rrd_args.h"
 #include "utils_array.h"
@@ -80,6 +81,9 @@ _Bool inst_matches_field (graph_instance_t *inst,
     graph_ident_field_t field, const char *field_value);
 
 int inst_to_json (const graph_instance_t *inst, yajl_gen handler);
+int inst_data_to_json (const graph_instance_t *inst,
+    dp_time_t begin, dp_time_t end,
+    yajl_gen handler);
 
 int inst_describe (graph_config_t *cfg, graph_instance_t *inst,
     char *buffer, size_t buffer_size);