gboolean confgen_module_init(GlobalConfig *cfg, CfgArgs *args) { const gchar *name, *context, *exec; name = cfg_args_get(args, "name"); if (!name) { msg_error("confgen: name argument expected", NULL); return FALSE; } context = cfg_args_get(args, "context"); if (!context) { msg_error("confgen: context argument expected", NULL); return FALSE; } exec = cfg_args_get(args, "exec"); if (!exec) { msg_error("confgen: exec argument expected", NULL); return FALSE; } cfg_lexer_register_block_generator(cfg->lexer, cfg_lexer_lookup_context_type_by_name(context), name, confgen_generate, g_strdup(exec), g_free); return TRUE; }
gboolean system_source_module_init(GlobalConfig *cfg, CfgArgs *args) { cfg_lexer_register_block_generator(cfg->lexer, cfg_lexer_lookup_context_type_by_name("source"), "system", system_generate_system, NULL, NULL); return TRUE; }