🦄 refactor(module manager): remove utarray
This commit is contained in:
@@ -7,40 +7,46 @@ extern "C"
|
||||
|
||||
#include "stellar/module_manager.h"
|
||||
|
||||
#include "uthash/utarray.h"
|
||||
#include "stellar/mq.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
struct stellar_module
|
||||
{
|
||||
char name[NAME_MAX];
|
||||
void *module_ctx;
|
||||
};
|
||||
|
||||
struct module_spec_load
|
||||
{
|
||||
struct stellar_module *mod;
|
||||
module_on_init_func *on_init_cb;
|
||||
module_on_exit_func *on_exit_cb;
|
||||
bool is_init_succ;
|
||||
}__attribute__((aligned(sizeof(void*))));
|
||||
|
||||
|
||||
struct stellar_module_manager
|
||||
{
|
||||
char *module_spec_toml_path;
|
||||
struct
|
||||
{
|
||||
UT_array *module_specs_array;
|
||||
struct module_spec_load *module_specs;
|
||||
int load_module_num;
|
||||
int max_thread_num;
|
||||
struct mq_schema *mq_schema;
|
||||
}schema;
|
||||
|
||||
}__attribute__((aligned(sizeof(void*))));
|
||||
|
||||
struct module_specific
|
||||
{
|
||||
struct stellar_module *mod;
|
||||
module_on_init_func *on_init_cb;
|
||||
module_on_exit_func *on_exit_cb;
|
||||
}__attribute__((aligned(sizeof(void*))));
|
||||
|
||||
|
||||
#include "toml/toml.h"
|
||||
|
||||
toml_table_t *toml_parse_file_path(const char *toml_conf_path) __attribute__((visibility("hidden")));
|
||||
struct module_specific *module_specs_load(toml_table_t* conf, int *mod_num) __attribute__((visibility("hidden")));
|
||||
int module_specs_load(toml_table_t* conf, struct module_spec_load **load_spec) __attribute__((visibility("hidden")));
|
||||
struct stellar_module_manager *stellar_module_manager_new_with_toml(toml_table_t *conf, int max_thread_num, struct mq_schema *mq_schema) __attribute__((visibility("hidden")));
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user