2024-08-14 23:23:21 +03:00
|
|
|
#ifndef CONFIG_H_
|
|
|
|
#define CONFIG_H_
|
|
|
|
|
|
|
|
#include <libconfig.h>
|
|
|
|
#include "defs.h"
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
const char *name;
|
|
|
|
const char *type;
|
|
|
|
config_setting_t *options;
|
|
|
|
} GraphNodeConfig;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
size_t length;
|
|
|
|
GraphNodeConfig *items;
|
|
|
|
} GraphNodeConfigSection;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
struct {
|
|
|
|
const char *name;
|
|
|
|
size_t index;
|
|
|
|
} from, to;
|
|
|
|
} GraphChannelConfig;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
size_t length;
|
|
|
|
GraphChannelConfig *items;
|
|
|
|
} GraphChannelConfigSection;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
GraphNodeConfigSection nodes;
|
|
|
|
GraphChannelConfigSection channels;
|
|
|
|
} FullConfig;
|
|
|
|
|
|
|
|
bool load_config(const config_setting_t *config_root, FullConfig *config);
|
2024-08-15 22:25:18 +03:00
|
|
|
void reset_config(FullConfig *config);
|
2024-08-14 23:23:21 +03:00
|
|
|
|
|
|
|
#endif /* end of include guard: CONFIG_H_ */
|