From 5be65da88cfa285a762ae6011a60192fb6080ed2 Mon Sep 17 00:00:00 2001 From: Balazs Scheidler Date: Sun, 19 Jan 2025 16:27:22 +0100 Subject: [PATCH] appmodel: generate switch-case instead of a series of if-elif-else for transformations Signed-off-by: Balazs Scheidler --- modules/appmodel/app-transform-generator.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/appmodel/app-transform-generator.c b/modules/appmodel/app-transform-generator.c index 04f7e0ea3..73b290fc3 100644 --- a/modules/appmodel/app-transform-generator.c +++ b/modules/appmodel/app-transform-generator.c @@ -141,8 +141,7 @@ _generate_app_transform(Transformation *transformation, gpointer user_data) return; g_string_append_printf(self->block, "\n#Start Application %s\n", transformation->super.name); - g_string_append_printf(self->block, " if (%s == '%s') {\n", self->filterx_app_variable, - transformation->super.name); + g_string_append_printf(self->block, " case '%s':\n", transformation->super.name); for (GList *l = transformation->transforms; l; l = l->next) { Transform *transform = l->data; @@ -152,7 +151,7 @@ _generate_app_transform(Transformation *transformation, gpointer user_data) _generate_steps(self, transform->steps); } - g_string_append(self->block, " };\n"); + g_string_append(self->block, " break;\n"); g_string_append_printf(self->block, "\n#End Application %s\n", transformation->super.name); } @@ -165,9 +164,11 @@ app_transform_generate_config(AppObjectGenerator *s, GlobalConfig *cfg, GString self->block = result; g_string_append_printf(result, "## app-transform(flavour(%s))\n" "channel {\n" - " filterx {\n", self->flavour); + " filterx {\n" + " switch (%s) {\n", self->flavour, self->filterx_app_variable); appmodel_iter_transformations(cfg, _generate_app_transform, self); - g_string_append(result, " };\n" + g_string_append(result," }\n" + " };\n" "}"); self->block = NULL; }