graph_{data,def}_json actions: Don't destroy the graph_config_t object.
[collection4.git] / src / data_provider.h
index a5e9c76..30f3670 100644 (file)
@@ -25,6 +25,7 @@
 #define DATA_PROVIDER_H 1
 
 #include "graph_types.h"
+#include "oconfig.h"
 
 #include <time.h>
 
@@ -46,7 +47,8 @@ typedef int (*dp_list_get_ident_ds_names_callback) (const graph_ident_t *,
 
 /* Callback passed to the "get_ident_data" function. */
 typedef int (*dp_get_ident_data_callback) (graph_ident_t *, const char *ds_name,
-    const dp_data_point_t *, void *);
+    const dp_data_point_t *dp, size_t dp_num,
+    void *);
 
 struct data_provider_s
 {
@@ -63,5 +65,16 @@ struct data_provider_s
 };
 typedef struct data_provider_s data_provider_t;
 
+int data_provider_config (const oconfig_item_t *ci);
+
+int data_provider_register (const char *name, data_provider_t *p);
+int data_provider_get_idents (dp_get_idents_callback callback, void *user_data);
+int data_provider_get_ident_ds_names (graph_ident_t *ident,
+    dp_list_get_ident_ds_names_callback callback, void *user_data);
+int data_provider_get_ident_data (graph_ident_t *ident,
+    const char *ds_name,
+    dp_time_t begin, dp_time_t end,
+    dp_get_ident_data_callback callback, void *user_data);
+
 #endif /* DATA_PROVIDER_H */
 /* vim: set sw=2 sts=2 et fdm=marker : */