+ return (0);
+} /* }}} int ident_data_to_json__get_ident_data */
+
+/* Called for each DS name */
+static int ident_data_to_json__get_ds_name (const graph_ident_t *ident, /* {{{ */
+ const char *ds_name, void *user_data)
+{
+ ident_data_to_json__data_t *data = user_data;
+ int status;
+
+ yajl_gen_map_open (data->handler);
+
+ yajl_gen_string_cast (data->handler, "file", strlen ("file"));
+ ident_to_json (ident, data->handler);
+
+ yajl_gen_string_cast (data->handler, "data_source", strlen ("data_source"));
+ yajl_gen_string_cast (data->handler, ds_name, strlen (ds_name));
+
+ yajl_gen_string_cast (data->handler, "data", strlen ("data"));
+ status = data_provider_get_ident_data (ident, ds_name,
+ data->begin, data->end,
+ ident_data_to_json__get_ident_data,
+ data);
+
+ yajl_gen_map_close (data->handler);
+
+ return (status);
+} /* }}} int ident_data_to_json__get_ds_name */
+
+int ident_data_to_json (const graph_ident_t *ident, /* {{{ */
+ dp_time_t begin, dp_time_t end,
+ yajl_gen handler)
+{
+ ident_data_to_json__data_t data;
+ int status;
+
+ data.begin = begin;
+ data.end = end;
+ data.handler = handler;
+
+ /* Iterate over all DS names */
+ status = data_provider_get_ident_ds_names (ident,
+ ident_data_to_json__get_ds_name, &data);
+ if (status != 0)
+ fprintf (stderr, "ident_data_to_json: data_provider_get_ident_ds_names "
+ "failed with status %i\n", status);
+
+ return (status);
+} /* }}} int ident_data_to_json */
+/* }}} ident_data_to_json */