summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2023-07-03 10:58:58 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2023-07-03 11:10:43 +0000
commit729dafaf499b606e07725be7d8b2da4809bbd111 (patch)
tree3f39e4000a6c66f5d39d1a25d66f99c186b26101
parent0160569544229a3372ee28565e1a17123aa767c0 (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.py62
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'])