diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2023-07-03 10:58:58 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2023-07-03 11:10:43 +0000 |
commit | 729dafaf499b606e07725be7d8b2da4809bbd111 (patch) | |
tree | 3f39e4000a6c66f5d39d1a25d66f99c186b26101 | |
parent | 0160569544229a3372ee28565e1a17123aa767c0 (diff) |
build-aux,mbim-codegen: no 'ref-ipv4' or 'ref-ipv6' fields in structs
These types are exclusively used as input or output fields in
messages, never as struct members. Explicitly remove their support to
simplify the updates in the value reading methods.
-rw-r--r-- | build-aux/mbim-codegen/Struct.py | 62 |
1 files changed, 3 insertions, 59 deletions
diff --git a/build-aux/mbim-codegen/Struct.py b/build-aux/mbim-codegen/Struct.py index ce6985c..bba9f88 100644 --- a/build-aux/mbim-codegen/Struct.py +++ b/build-aux/mbim-codegen/Struct.py @@ -119,15 +119,9 @@ class Struct: elif field['format'] == 'ipv4': inner_template = ( ' * @${field_name_underscore}: a #MbimIPv4.\n') - elif field['format'] == 'ref-ipv4': - inner_template = ( - ' * @${field_name_underscore}: a #MbimIPv4.\n') elif field['format'] == 'ipv6': inner_template = ( ' * @${field_name_underscore}: a #MbimIPv6\n') - elif field['format'] == 'ref-ipv6': - inner_template = ( - ' * @${field_name_underscore}: a #MbimIPv6\n') else: raise ValueError('Cannot handle format \'%s\' in struct' % field['format']) template += string.Template(inner_template).substitute(translations) @@ -179,15 +173,9 @@ class Struct: elif field['format'] == 'ipv4': inner_template = ( ' MbimIPv4 ${field_name_underscore};\n') - elif field['format'] == 'ref-ipv4': - inner_template = ( - ' MbimIPv4 ${field_name_underscore};\n') elif field['format'] == 'ipv6': inner_template = ( ' MbimIPv6 ${field_name_underscore};\n') - elif field['format'] == 'ref-ipv6': - inner_template = ( - ' MbimIPv6 ${field_name_underscore};\n') else: raise ValueError('Cannot handle format \'%s\' in struct' % field['format']) template += string.Template(inner_template).substitute(translations) @@ -257,12 +245,8 @@ class Struct: ' g_strfreev (var->${field_name_underscore});\n') elif field['format'] == 'ipv4': pass - elif field['format'] == 'ref-ipv4': - pass elif field['format'] == 'ipv6': pass - elif field['format'] == 'ref-ipv6': - pass else: raise ValueError('Cannot handle format \'%s\' in struct clear' % field['format']) template += string.Template(inner_template).substitute(translations) @@ -479,21 +463,17 @@ class Struct: ' }\n') elif field['format'] == 'ipv4' or \ - field['format'] == 'ref-ipv4' or \ - field['format'] == 'ipv6' or \ - field['format'] == 'ref-ipv6': + field['format'] == 'ipv6': inner_template += ( ' ${if_show_field}{\n' ' g_autoptr(GInetAddress) addr = NULL;\n' ' g_autofree gchar *tmpstr = NULL;\n' '\n') - if field['format'] == 'ipv4' or \ - field['format'] == 'ref-ipv4': + if field['format'] == 'ipv4': inner_template += ( ' addr = g_inet_address_new_from_bytes ((guint8 *)&(self->${field_name_underscore}.addr), G_SOCKET_FAMILY_IPV4);\n') - elif field['format'] == 'ipv6' or \ - field['format'] == 'ref-ipv6': + elif field['format'] == 'ipv6': inner_template += ( ' addr = g_inet_address_new_from_bytes ((guint8 *)&(self->${field_name_underscore}.addr), G_SOCKET_FAMILY_IPV6);\n') @@ -699,22 +679,6 @@ class Struct: ' memcpy (&(out->${field_name_underscore}), tmp, 4);\n' ' offset += 4;\n' ' }\n') - elif field['format'] == 'ref-ipv4': - # Unsupported because ms-struct-array requires the read bytes of the struct to contain the size read - # fro the variable buffer, which is currently not implemented for this type. - if self.ms_struct_array_member == True: - raise ValueError('type \'ref-byte-array\' unsupported in \'ms-struct-array\'') - - inner_template += ( - '\n' - ' {\n' - ' const MbimIPv4 *tmp;\n' - '\n' - ' if (!_mbim_message_read_ipv4 (self, offset, TRUE, &tmp, error))\n' - ' goto out;\n' - ' memcpy (&(out->${field_name_underscore}), tmp, 4);\n' - ' offset += 4;\n' - ' }\n') elif field['format'] == 'ipv6': inner_template += ( '\n' @@ -726,22 +690,6 @@ class Struct: ' memcpy (&(out->${field_name_underscore}), tmp, 16);\n' ' offset += 16;\n' ' }\n') - elif field['format'] == 'ref-ipv6': - # Unsupported because ms-struct-array requires the read bytes of the struct to contain the size read - # fro the variable buffer, which is currently not implemented for this type. - if self.ms_struct_array_member == True: - raise ValueError('type \'ref-byte-array\' unsupported in \'ms-struct-array\'') - - inner_template += ( - '\n' - ' {\n' - ' const MbimIPv6 *tmp;\n' - '\n' - ' if (!_mbim_message_read_ipv6 (self, offset, FALSE, &tmp, error))\n' - ' goto out;\n' - ' memcpy (&(out->${field_name_underscore}), tmp, 16);\n' - ' offset += 4;\n' - ' }\n') else: raise ValueError('Cannot handle format \'%s\' in struct' % field['format']) @@ -1022,12 +970,8 @@ class Struct: inner_template = (' _mbim_struct_builder_append_string_array (builder, value->${field}, value->${array_size_field});\n') elif field['format'] == 'ipv4': inner_template = (' _mbim_struct_builder_append_ipv4 (builder, &value->${field}, FALSE);\n') - elif field['format'] == 'ref-ipv4': - inner_template = (' _mbim_struct_builder_append_ipv4 (builder, &value->${field}, TRUE);\n') elif field['format'] == 'ipv6': inner_template = (' _mbim_struct_builder_append_ipv6 (builder, &value->${field}, FALSE);\n') - elif field['format'] == 'ref-ipv6': - inner_template = (' _mbim_struct_builder_append_ipv6 (builder, &value->${field}, TRUE);\n') else: raise ValueError('Cannot handle format \'%s\' in struct' % field['format']) |