X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Finclude%2Fcore%2Ftimeseries.h;h=b19625d1ca21166e5eb75bcb65571f06c8286051;hb=9a96acd759c31211aa512e174339a9c178c4eb83;hp=52848a71d948954f3a9bceebe970f2520f6d68c9;hpb=b3c5403f90933d3d63ebaf9174524fa018a50f4f;p=sysdb.git diff --git a/src/include/core/timeseries.h b/src/include/core/timeseries.h index 52848a7..b19625d 100644 --- a/src/include/core/timeseries.h +++ b/src/include/core/timeseries.h @@ -30,6 +30,7 @@ #include "sysdb.h" #include "core/time.h" +#include "utils/strbuf.h" #ifdef __cplusplus extern "C" { @@ -56,8 +57,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 +71,19 @@ 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. @@ -76,6 +91,17 @@ typedef struct { void sdb_timeseries_destroy(sdb_timeseries_t *ts); +/* + * sdb_timeseries_tojson: + * Serialize a time-series to JSON written to the specified string buffer. + * + * Returns: + * - 0 on success + * - a negative value else + */ +int +sdb_timeseries_tojson(sdb_timeseries_t *ts, sdb_strbuf_t *buf); + #ifdef __cplusplus } /* extern "C" */ #endif