Code

store_json: Let the formatter implement the store-writer interface.
[sysdb.git] / src / include / core / timeseries.h
index 3a4029d8be4b2d46e8365d3904e9fcbfe1706a9f..1a8e48e47dc4db49cfb243d825bd33910f9125f4 100644 (file)
@@ -56,8 +56,9 @@ typedef struct {
        sdb_time_t end;
 
        sdb_data_point_t **data;
-       char **data_names;
        size_t data_len;
+       char **data_names;
+       size_t data_names_len;
 } sdb_timeseries_t;
 
 /*
@@ -69,6 +70,26 @@ typedef struct {
        sdb_time_t end;
 } sdb_timeseries_opts_t;
 
+/*
+ * sdb_timeseries_create:
+ * Allocate a time-series object, pre-populating the data_names information
+ * and allocating the data field.
+ *
+ * Returns:
+ *  - a newly allocated time-series object on success
+ *  - NULL else
+ */
+sdb_timeseries_t *
+sdb_timeseries_create(size_t data_names_len, const char * const *data_names,
+               size_t data_len);
+
+/*
+ * sdb_timeseries_destroy:
+ * Destroy a time-series object, freeing all of its memory.
+ */
+void
+sdb_timeseries_destroy(sdb_timeseries_t *ts);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif