diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2022-04-20 16:41:25 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2022-04-20 16:52:44 +0200 |
commit | 60936488d4b42d14763d9859d238aeed233d0825 (patch) | |
tree | e6917e634fdce2a54bc6550896ada7802194183b | |
parent | d954f6a50fc4b2dd023f905382e050fc4ee0f6e2 (diff) | |
download | libmbim-60936488d4b42d14763d9859d238aeed233d0825.tar.gz |
mbim-codegen,struct: allow gboolean members
-rw-r--r-- | build-aux/mbim-codegen/Struct.py | 35 |
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 += ( |