summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2022-04-20 16:41:25 +0200
committerAleksander Morgado <aleksander@aleksander.es>2022-04-20 16:52:44 +0200
commit60936488d4b42d14763d9859d238aeed233d0825 (patch)
treee6917e634fdce2a54bc6550896ada7802194183b
parentd954f6a50fc4b2dd023f905382e050fc4ee0f6e2 (diff)
downloadlibmbim-60936488d4b42d14763d9859d238aeed233d0825.tar.gz
mbim-codegen,struct: allow gboolean members
-rw-r--r--build-aux/mbim-codegen/Struct.py35
1 files changed, 21 insertions, 14 deletions
diff --git a/build-aux/mbim-codegen/Struct.py b/build-aux/mbim-codegen/Struct.py
index 8bb6a1b..85dd474 100644
--- a/build-aux/mbim-codegen/Struct.py
+++ b/build-aux/mbim-codegen/Struct.py
@@ -406,20 +406,27 @@ class Struct:
elif field['format'] in ['guint16', 'guint32', 'guint64']:
if 'public-format' in field:
- inner_template += (
- ' ${if_show_field}{\n'
- '#if defined __${public_underscore_upper}_IS_ENUM__\n'
- ' g_string_append_printf (str, "\'%s\'", ${public_underscore}_get_string ((${public})self->${field_name_underscore}));\n'
- '#elif defined __${public_underscore_upper}_IS_FLAGS__\n'
- ' g_autofree gchar *tmpstr = NULL;\n'
- '\n'
- ' tmpstr = ${public_underscore}_build_string_from_mask ((${public})self->${field_name_underscore});\n'
- ' g_string_append_printf (str, "\'%s\'", tmpstr);\n'
- '#else\n'
- '# error neither enum nor flags\n'
- '#endif\n'
- ' }\n'
- '\n')
+ if field['public-format'] == 'gboolean':
+ inner_template += (
+ ' ${if_show_field}{\n'
+ ' g_string_append_printf (str, "\'%s\'", (${public})self->${field_name_underscore} ? "true" : "false");\n'
+ ' }\n'
+ '\n')
+ else:
+ inner_template += (
+ ' ${if_show_field}{\n'
+ '#if defined __${public_underscore_upper}_IS_ENUM__\n'
+ ' g_string_append_printf (str, "\'%s\'", ${public_underscore}_get_string ((${public})self->${field_name_underscore}));\n'
+ '#elif defined __${public_underscore_upper}_IS_FLAGS__\n'
+ ' g_autofree gchar *tmpstr = NULL;\n'
+ '\n'
+ ' tmpstr = ${public_underscore}_build_string_from_mask ((${public})self->${field_name_underscore});\n'
+ ' g_string_append_printf (str, "\'%s\'", tmpstr);\n'
+ '#else\n'
+ '# error neither enum nor flags\n'
+ '#endif\n'
+ ' }\n'
+ '\n')
elif field['format'] == 'guint16':
inner_template += (