🦄 refactor(stellar api): split exdata and mq

This commit is contained in:
yangwei
2024-09-10 10:18:05 +08:00
parent 6403e832de
commit e9825c3988
15 changed files with 423 additions and 476 deletions

31
include/stellar/exdata.h Normal file
View File

@@ -0,0 +1,31 @@
#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
typedef void exdata_free(int idx, void *ex_ptr, void *arg);
struct exdata_schema;
struct exdata_schema *exdata_schema_new();
void exdata_schema_free(struct exdata_schema *s);
int exdata_schema_new_index(struct exdata_schema *schema, const char *name, exdata_free *free_func,void *free_arg);
int exdata_schema_get_idx_by_name(struct exdata_schema *schema, const char *name);
struct exdata_runtime;
struct exdata_runtime *exdata_runtime_new(struct exdata_schema *h);
void exdata_runtime_free(struct exdata_runtime *h);
void exdata_runtime_reset(struct exdata_runtime *h);//call free_func, and set ex_ptr to NULL
int exdata_set(struct exdata_runtime *h, int idx, void *ex_ptr);
void *exdata_get(struct exdata_runtime *h, int idx);
#ifdef __cplusplus
}
#endif