aivis-engine-v2-ra-sdk-c  2.9.0
aivis-engine-v2-ra-core-full.h
Go to the documentation of this file.
1 #ifndef aivis_engine_v2_ra_core_full_h
2 #define aivis_engine_v2_ra_core_full_h
3 
4 #include <stdint.h>
5 #include <stdbool.h>
6 
7 #define EPS 1e-12
8 
12 typedef uint64_t ResponseAnalysisHandle;
13 
17 typedef uint64_t TabularDataHandle;
18 
22 typedef struct List_u8 {
23  const uint8_t *data;
24  size_t len;
25 } List_u8;
26 
30 typedef struct Error {
31  struct List_u8 json;
32 } Error;
33 
37 typedef uint64_t TimeseriesDataHandle;
38 
44 typedef struct DtoBooleanDataPoint {
45  int64_t timestamp;
46  bool value;
48 
55  int64_t timestamp;
56  int64_t availability;
57  bool value;
59 
65 typedef struct DtoFloatDataPoint {
66  int64_t timestamp;
67  double value;
69 
76  int64_t timestamp;
77  int64_t availability;
78  double value;
80 
86 typedef struct DtoStringDataPoint {
87  int64_t timestamp;
88  const char *value;
90 
97  int64_t timestamp;
98  int64_t availability;
99  const char *value;
101 
105 typedef struct List_DtoBooleanDataPoint {
106  const struct DtoBooleanDataPoint *data;
107  size_t len;
109 
113 typedef struct List_DtoFloatDataPoint {
114  const struct DtoFloatDataPoint *data;
115  size_t len;
117 
121 typedef struct List_DtoStringDataPoint {
122  const struct DtoStringDataPoint *data;
123  size_t len;
125 
129 typedef struct List_String {
130  const char *const *data;
131  size_t len;
132 } List_String;
133 
139 typedef struct DtoExpressionInfo {
145 
151 typedef struct DtoBooleanCell {
152  const char *id;
153  bool value;
155 
161 typedef struct DtoFloatCell {
162  const char *id;
163  double value;
164 } DtoFloatCell;
165 
171 typedef struct DtoStringCell {
172  const char *id;
173  const char *value;
174 } DtoStringCell;
175 
179 typedef struct List_DtoBooleanCell {
180  const struct DtoBooleanCell *data;
181  size_t len;
183 
187 typedef struct List_DtoFloatCell {
188  const struct DtoFloatCell *data;
189  size_t len;
191 
195 typedef struct List_DtoStringCell {
196  const struct DtoStringCell *data;
197  size_t len;
199 
219  const uint8_t *config_json_ptr,
220  size_t config_json_len,
221  const struct Error **out_err);
222 
235  const struct Error **out_err);
236 
248  const struct Error **out_err);
249 
260 void aivis_free(const void *ptr);
261 
277 void aivis_setup_register_logger(void (*callback)(uint8_t, const char*, const char*, const char*),
278  const struct Error **out_err);
279 
293 void aivis_setup_init_thread_count(uint32_t max_threads,
294  const struct Error **out_err);
295 
311 void aivis_setup_init_api_key(const char *api_key,
312  const struct Error **out_err);
313 
342 
355  const struct Error **out_err);
356 
374  const char *signal_id,
375  const struct DtoBooleanDataPoint *data_ptr,
376  size_t data_len,
377  const struct Error **out_err);
378 
396  const char *signal_id,
397  const struct DtoBooleanDataPointWithAvailability *data_ptr,
398  size_t data_len,
399  const struct Error **out_err);
400 
417  const char *signal_id,
418  const char *expression,
419  const struct Error **out_err);
420 
438  const char *signal_id,
439  const struct DtoFloatDataPoint *data_ptr,
440  size_t data_len,
441  const struct Error **out_err);
442 
460  const char *signal_id,
461  const struct DtoFloatDataPointWithAvailability *data_ptr,
462  size_t data_len,
463  const struct Error **out_err);
464 
481  const char *signal_id,
482  const char *expression,
483  const struct Error **out_err);
484 
502  const char *signal_id,
503  const struct DtoStringDataPoint *data_ptr,
504  size_t data_len,
505  const struct Error **out_err);
506 
524  const char *signal_id,
525  const struct DtoStringDataPointWithAvailability *data_ptr,
526  size_t data_len,
527  const struct Error **out_err);
528 
545  const char *signal_id,
546  const char *expression,
547  const struct Error **out_err);
548 
562  const char *signal_id,
563  const struct Error **out_err);
564 
578  const char *signal_id,
579  const struct Error **out_err);
580 
594  const char *signal_id,
595  const struct Error **out_err);
596 
611  const char *signal_id,
612  const struct Error **out_err);
613 
626 const struct DtoExpressionInfo *aivis_timeseries_data_parse_expression(const char *expression,
627  const struct Error **out_err);
628 
653 TabularDataHandle aivis_tabular_data_create(const struct Error **out_err);
654 
667  const struct Error **out_err);
668 
686  const char *column_id,
687  const struct DtoBooleanCell *data_ptr,
688  size_t data_len,
689  const struct Error **out_err);
690 
708  const char *column_id,
709  const struct DtoFloatCell *data_ptr,
710  size_t data_len,
711  const struct Error **out_err);
712 
730  const char *column_id,
731  const struct DtoStringCell *data_ptr,
732  size_t data_len,
733  const struct Error **out_err);
734 
748  const char *column_id,
749  const struct Error **out_err);
750 
764  const char *column_id,
765  const struct Error **out_err);
766 
780  const char *column_id,
781  const struct Error **out_err);
782 
783 #endif /* aivis_engine_v2_ra_core_full_h */
aivis_setup_register_logger
void aivis_setup_register_logger(void(*callback)(uint8_t, const char *, const char *, const char *), const struct Error **out_err)
aivis_timeseries_data_destroy
void aivis_timeseries_data_destroy(TimeseriesDataHandle handle, const struct Error **out_err)
DtoFloatDataPoint
Definition: aivis-engine-v2-ra-core-full.h:65
List_DtoBooleanDataPoint
Definition: aivis-engine-v2-ra-core-full.h:105
aivis_tabular_data_add_string_column
void aivis_tabular_data_add_string_column(TabularDataHandle handle, const char *column_id, const struct DtoStringCell *data_ptr, size_t data_len, const struct Error **out_err)
DtoFloatCell::id
const char * id
Definition: aivis-engine-v2-ra-core-full.h:162
List_String::data
const char *const * data
Definition: aivis-engine-v2-ra-core-full.h:130
List_DtoStringDataPoint::data
const struct DtoStringDataPoint * data
Definition: aivis-engine-v2-ra-core-full.h:122
aivis_timeseries_data_add_boolean_signal_with_availability
void aivis_timeseries_data_add_boolean_signal_with_availability(TimeseriesDataHandle handle, const char *signal_id, const struct DtoBooleanDataPointWithAvailability *data_ptr, size_t data_len, const struct Error **out_err)
List_DtoFloatDataPoint::data
const struct DtoFloatDataPoint * data
Definition: aivis-engine-v2-ra-core-full.h:114
aivis_timeseries_data_parse_expression
const struct DtoExpressionInfo * aivis_timeseries_data_parse_expression(const char *expression, const struct Error **out_err)
aivis_timeseries_data_add_string_signal_with_availability
void aivis_timeseries_data_add_string_signal_with_availability(TimeseriesDataHandle handle, const char *signal_id, const struct DtoStringDataPointWithAvailability *data_ptr, size_t data_len, const struct Error **out_err)
List_u8::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:24
aivis_setup_init_thread_count
void aivis_setup_init_thread_count(uint32_t max_threads, const struct Error **out_err)
DtoBooleanCell::id
const char * id
Definition: aivis-engine-v2-ra-core-full.h:152
DtoExpressionInfo::involved_signal_ids
struct List_String involved_signal_ids
Definition: aivis-engine-v2-ra-core-full.h:143
aivis_response_analysis_get_report
const struct List_u8 * aivis_response_analysis_get_report(ResponseAnalysisHandle handle, const struct Error **out_err)
DtoStringDataPoint::value
const char * value
Definition: aivis-engine-v2-ra-core-full.h:88
List_DtoFloatCell::data
const struct DtoFloatCell * data
Definition: aivis-engine-v2-ra-core-full.h:188
Error
Definition: aivis-engine-v2-ra-core-full.h:30
aivis_timeseries_data_add_string_signal
void aivis_timeseries_data_add_string_signal(TimeseriesDataHandle handle, const char *signal_id, const struct DtoStringDataPoint *data_ptr, size_t data_len, const struct Error **out_err)
DtoStringCell::id
const char * id
Definition: aivis-engine-v2-ra-core-full.h:172
aivis_response_analysis_destroy
void aivis_response_analysis_destroy(ResponseAnalysisHandle handle, const struct Error **out_err)
aivis_timeseries_data_get_expression_info
const struct DtoExpressionInfo * aivis_timeseries_data_get_expression_info(TimeseriesDataHandle handle, const char *signal_id, const struct Error **out_err)
DtoFloatDataPointWithAvailability::availability
int64_t availability
Definition: aivis-engine-v2-ra-core-full.h:77
DtoBooleanDataPoint::value
bool value
Definition: aivis-engine-v2-ra-core-full.h:46
List_u8::data
const uint8_t * data
Definition: aivis-engine-v2-ra-core-full.h:23
aivis_timeseries_data_create
TimeseriesDataHandle aivis_timeseries_data_create(const struct Error **out_err)
DtoStringDataPointWithAvailability::value
const char * value
Definition: aivis-engine-v2-ra-core-full.h:99
DtoStringCell
Definition: aivis-engine-v2-ra-core-full.h:171
List_DtoBooleanDataPoint::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:107
List_DtoStringDataPoint
Definition: aivis-engine-v2-ra-core-full.h:121
aivis_timeseries_data_get_float_signal
const struct List_DtoFloatDataPoint * aivis_timeseries_data_get_float_signal(TimeseriesDataHandle handle, const char *signal_id, const struct Error **out_err)
List_String::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:131
aivis_free
void aivis_free(const void *ptr)
DtoStringDataPointWithAvailability
Definition: aivis-engine-v2-ra-core-full.h:96
DtoBooleanDataPoint
Definition: aivis-engine-v2-ra-core-full.h:44
DtoFloatCell
Definition: aivis-engine-v2-ra-core-full.h:161
DtoBooleanDataPointWithAvailability::value
bool value
Definition: aivis-engine-v2-ra-core-full.h:57
List_DtoStringCell::data
const struct DtoStringCell * data
Definition: aivis-engine-v2-ra-core-full.h:196
DtoBooleanCell
Definition: aivis-engine-v2-ra-core-full.h:151
List_DtoBooleanCell
Definition: aivis-engine-v2-ra-core-full.h:179
List_DtoFloatDataPoint::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:115
DtoStringDataPoint
Definition: aivis-engine-v2-ra-core-full.h:86
DtoBooleanDataPoint::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:45
List_DtoFloatCell::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:189
DtoBooleanCell::value
bool value
Definition: aivis-engine-v2-ra-core-full.h:153
Error::json
struct List_u8 json
Definition: aivis-engine-v2-ra-core-full.h:31
TabularDataHandle
uint64_t TabularDataHandle
Definition: aivis-engine-v2-ra-core-full.h:17
aivis_timeseries_data_add_float_signal
void aivis_timeseries_data_add_float_signal(TimeseriesDataHandle handle, const char *signal_id, const struct DtoFloatDataPoint *data_ptr, size_t data_len, const struct Error **out_err)
DtoStringDataPointWithAvailability::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:97
aivis_timeseries_data_add_string_signal_by_expression
void aivis_timeseries_data_add_string_signal_by_expression(TimeseriesDataHandle handle, const char *signal_id, const char *expression, const struct Error **out_err)
List_DtoStringDataPoint::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:123
aivis_tabular_data_get_float_column
const struct List_DtoFloatCell * aivis_tabular_data_get_float_column(TabularDataHandle handle, const char *column_id, const struct Error **out_err)
List_DtoBooleanDataPoint::data
const struct DtoBooleanDataPoint * data
Definition: aivis-engine-v2-ra-core-full.h:106
aivis_timeseries_data_get_boolean_signal
const struct List_DtoBooleanDataPoint * aivis_timeseries_data_get_boolean_signal(TimeseriesDataHandle handle, const char *signal_id, const struct Error **out_err)
DtoFloatDataPointWithAvailability::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:76
DtoFloatDataPointWithAvailability
Definition: aivis-engine-v2-ra-core-full.h:75
DtoFloatDataPoint::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:66
DtoExpressionInfo
Definition: aivis-engine-v2-ra-core-full.h:139
aivis_setup_init_api_key
void aivis_setup_init_api_key(const char *api_key, const struct Error **out_err)
aivis_timeseries_data_add_float_signal_with_availability
void aivis_timeseries_data_add_float_signal_with_availability(TimeseriesDataHandle handle, const char *signal_id, const struct DtoFloatDataPointWithAvailability *data_ptr, size_t data_len, const struct Error **out_err)
aivis_timeseries_data_add_boolean_signal_by_expression
void aivis_timeseries_data_add_boolean_signal_by_expression(TimeseriesDataHandle handle, const char *signal_id, const char *expression, const struct Error **out_err)
aivis_tabular_data_destroy
void aivis_tabular_data_destroy(TabularDataHandle handle, const struct Error **out_err)
aivis_tabular_data_create
TabularDataHandle aivis_tabular_data_create(const struct Error **out_err)
aivis_timeseries_data_add_float_signal_by_expression
void aivis_timeseries_data_add_float_signal_by_expression(TimeseriesDataHandle handle, const char *signal_id, const char *expression, const struct Error **out_err)
aivis_timeseries_data_add_boolean_signal
void aivis_timeseries_data_add_boolean_signal(TimeseriesDataHandle handle, const char *signal_id, const struct DtoBooleanDataPoint *data_ptr, size_t data_len, const struct Error **out_err)
DtoBooleanDataPointWithAvailability::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:55
TimeseriesDataHandle
uint64_t TimeseriesDataHandle
Definition: aivis-engine-v2-ra-core-full.h:37
DtoBooleanDataPointWithAvailability
Definition: aivis-engine-v2-ra-core-full.h:54
DtoFloatCell::value
double value
Definition: aivis-engine-v2-ra-core-full.h:163
List_DtoFloatCell
Definition: aivis-engine-v2-ra-core-full.h:187
List_String
Definition: aivis-engine-v2-ra-core-full.h:129
List_DtoFloatDataPoint
Definition: aivis-engine-v2-ra-core-full.h:113
DtoStringDataPoint::timestamp
int64_t timestamp
Definition: aivis-engine-v2-ra-core-full.h:87
List_DtoBooleanCell::data
const struct DtoBooleanCell * data
Definition: aivis-engine-v2-ra-core-full.h:180
aivis_timeseries_data_get_string_signal
const struct List_DtoStringDataPoint * aivis_timeseries_data_get_string_signal(TimeseriesDataHandle handle, const char *signal_id, const struct Error **out_err)
List_DtoStringCell::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:197
aivis_tabular_data_get_string_column
const struct List_DtoStringCell * aivis_tabular_data_get_string_column(TabularDataHandle handle, const char *column_id, const struct Error **out_err)
List_DtoStringCell
Definition: aivis-engine-v2-ra-core-full.h:195
DtoFloatDataPoint::value
double value
Definition: aivis-engine-v2-ra-core-full.h:67
DtoStringCell::value
const char * value
Definition: aivis-engine-v2-ra-core-full.h:173
aivis_tabular_data_add_float_column
void aivis_tabular_data_add_float_column(TabularDataHandle handle, const char *column_id, const struct DtoFloatCell *data_ptr, size_t data_len, const struct Error **out_err)
aivis_response_analysis_create
ResponseAnalysisHandle aivis_response_analysis_create(TabularDataHandle data_handle, const uint8_t *config_json_ptr, size_t config_json_len, const struct Error **out_err)
aivis_tabular_data_get_boolean_column
const struct List_DtoBooleanCell * aivis_tabular_data_get_boolean_column(TabularDataHandle handle, const char *column_id, const struct Error **out_err)
DtoFloatDataPointWithAvailability::value
double value
Definition: aivis-engine-v2-ra-core-full.h:78
ResponseAnalysisHandle
uint64_t ResponseAnalysisHandle
Definition: aivis-engine-v2-ra-core-full.h:12
List_DtoBooleanCell::len
size_t len
Definition: aivis-engine-v2-ra-core-full.h:181
aivis_tabular_data_add_boolean_column
void aivis_tabular_data_add_boolean_column(TabularDataHandle handle, const char *column_id, const struct DtoBooleanCell *data_ptr, size_t data_len, const struct Error **out_err)
DtoStringDataPointWithAvailability::availability
int64_t availability
Definition: aivis-engine-v2-ra-core-full.h:98
List_u8
Definition: aivis-engine-v2-ra-core-full.h:22
DtoBooleanDataPointWithAvailability::availability
int64_t availability
Definition: aivis-engine-v2-ra-core-full.h:56