#include "../block.h" #include "../any_log.h" static void block_group_init(block_t *block) { block->type = BLOCK_GROUP; } static void block_group_clean(block_t *block) { block_group_t *group = (block_group_t *)block; free(group->children); } static config_status_t block_group_change(block_t *block, config_t *config, const char *key, const char *value) { if (!strcmp(key, "blocks")) { log_error("Block '%s' option '%s' cannot be changed", block->label, "blocks"); return CONFIG_INVALID; } extern const config_entry_t block_group_entries[]; return config_read_entry(block_group_entries, block, NULL, "block", block->label, key, value); } const block_scheme_t block_group_scheme = { .name = "group", .entries = NULL, .size = sizeof(block_group_t), .init_fn = block_group_init, .clean_fn = block_group_clean, .validate_fn = NULL, .change_fn = block_group_change, };