From 00df4bc4dd21357fc9505809bb9b71a52ce91ad6 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 23 May 2012 19:01:18 +0200 Subject: qmi-codegen: pretty-print the structs --- build-aux/qmi-codegen/Field.py | 3 ++- build-aux/qmi-codegen/FieldArray.py | 25 ++++++++++++++++++------- build-aux/qmi-codegen/FieldBasic.py | 3 ++- build-aux/qmi-codegen/FieldString.py | 14 +++++++++----- build-aux/qmi-codegen/FieldStruct.py | 12 +++++++++--- build-aux/qmi-codegen/FieldStructResult.py | 3 ++- build-aux/qmi-codegen/Message.py | 8 ++++++-- 7 files changed, 48 insertions(+), 20 deletions(-) (limited to 'build-aux/qmi-codegen') diff --git a/build-aux/qmi-codegen/Field.py b/build-aux/qmi-codegen/Field.py index bb3e691..13432f0 100644 --- a/build-aux/qmi-codegen/Field.py +++ b/build-aux/qmi-codegen/Field.py @@ -230,7 +230,8 @@ class Field: template = ( 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' ' return NULL;\n' '}\n') diff --git a/build-aux/qmi-codegen/FieldArray.py b/build-aux/qmi-codegen/FieldArray.py index a7c236f..371659a 100644 --- a/build-aux/qmi-codegen/FieldArray.py +++ b/build-aux/qmi-codegen/FieldArray.py @@ -122,7 +122,8 @@ class FieldArray(Field): '\n' 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' ' GString *printable;\n' ' guint i;\n' @@ -140,6 +141,11 @@ class FieldArray(Field): '\n' ' for (i = 0, item = (${array_element_type}Packed *)&buffer[1]; i < nitems; i++, item++) {\n' ' ${array_element_type} tmp;\n' + '\n' + ' g_string_append_printf (printable,\n' + ' "\\n"\n' + ' "%s [#%u]",\n' + ' line_prefix, i);\n' '\n') f.write(string.Template(template).substitute(translations)) @@ -151,19 +157,24 @@ class FieldArray(Field): struct_field['format']) template = ( - ' ${endianfix};\n' - ' g_string_append_printf (printable,\n') + ' ${endianfix};\n') if struct_field['format'] == 'guint8' or \ struct_field['format'] == 'guint16' or \ struct_field['format'] == 'guin32': template += ( - ' "[${name_struct_field} = %u] ",\n' - ' (guint)tmp.${underscore_struct_field});\n') + ' g_string_append_printf (printable,\n' + ' "\\n"\n' + ' "%s [${name_struct_field} = %u] ",\n' + ' line_prefix,\n' + ' (guint)tmp.${underscore_struct_field});\n') else: template += ( - ' "[${name_struct_field} = %d] ",\n' - ' (gint)tmp.${underscore_struct_field});\n') + ' g_string_append_printf (printable,\n' + ' "\\n"' + ' "%s [${name_struct_field} = %d] ",\n' + ' line_prefix,\n' + ' (gint)tmp.${underscore_struct_field});\n') f.write(string.Template(template).substitute(translations)) f.write( diff --git a/build-aux/qmi-codegen/FieldBasic.py b/build-aux/qmi-codegen/FieldBasic.py index ca8dea7..d0b50b2 100644 --- a/build-aux/qmi-codegen/FieldBasic.py +++ b/build-aux/qmi-codegen/FieldBasic.py @@ -107,7 +107,8 @@ class FieldBasic(Field): '\n' 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' ' ${field_type} tmp;\n' ' gchar *printable;\n' diff --git a/build-aux/qmi-codegen/FieldString.py b/build-aux/qmi-codegen/FieldString.py index 5b86298..405f19e 100644 --- a/build-aux/qmi-codegen/FieldString.py +++ b/build-aux/qmi-codegen/FieldString.py @@ -97,14 +97,18 @@ class FieldString(Field): '\n' 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' + ' gchar *str;\n' ' gchar *printable;\n' '\n' - ' printable = qmi_message_tlv_get_string (self,\n' - ' ${tlv_id},\n' - ' NULL);\n' - ' g_assert (printable != NULL);' + ' str = qmi_message_tlv_get_string (self,\n' + ' ${tlv_id},\n' + ' NULL);\n' + ' g_assert (str != NULL);\n' + ' printable = g_strdup_printf ("\'%s\'", str);\n' + ' g_free (str);\n' '\n' ' return printable;\n' '}\n') diff --git a/build-aux/qmi-codegen/FieldStruct.py b/build-aux/qmi-codegen/FieldStruct.py index 6264291..c812ede 100644 --- a/build-aux/qmi-codegen/FieldStruct.py +++ b/build-aux/qmi-codegen/FieldStruct.py @@ -132,7 +132,8 @@ class FieldStruct(Field): '\n' 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' ' GString *printable;\n' ' ${field_type}Packed tmp;\n' @@ -145,6 +146,7 @@ class FieldStruct(Field): ' NULL));\n') f.write(string.Template(template).substitute(translations)) + first = False for struct_field in self.contents.members: translations['name_struct_field'] = struct_field['name'] translations['underscore_struct_field'] = utils.build_underscore_name(struct_field['name']) @@ -159,11 +161,15 @@ class FieldStruct(Field): struct_field['format'] == 'guint16' or \ struct_field['format'] == 'guin32': template += ( - ' "[${name_struct_field} = %u] ",\n' + ' "\\n"\n' + ' "%s [${name_struct_field} = %u] ",\n' + ' line_prefix,\n' ' (guint)tmp.${underscore_struct_field});\n') else: template += ( - ' "[${name_struct_field} = %d] ",\n' + ' "\\n"\n' + ' "%s [${name_struct_field} = %d] ",\n' + ' line_prefix,\n' ' (gint)tmp.${underscore_struct_field});\n') f.write(string.Template(template).substitute(translations)) diff --git a/build-aux/qmi-codegen/FieldStructResult.py b/build-aux/qmi-codegen/FieldStructResult.py index 6711a54..af34de9 100644 --- a/build-aux/qmi-codegen/FieldStructResult.py +++ b/build-aux/qmi-codegen/FieldStructResult.py @@ -103,7 +103,8 @@ class FieldStructResult(FieldStruct): '\n' 'static gchar *\n' '${underscore}_get_printable (\n' - ' QmiMessage *self)\n' + ' QmiMessage *self,\n' + ' const gchar *line_prefix)\n' '{\n' ' GString *printable;\n' ' ${field_type}Packed tmp;\n' diff --git a/build-aux/qmi-codegen/Message.py b/build-aux/qmi-codegen/Message.py index b98da47..c05640c 100644 --- a/build-aux/qmi-codegen/Message.py +++ b/build-aux/qmi-codegen/Message.py @@ -261,7 +261,9 @@ class Message: field_template = ( ' case ${field_enum}:\n' ' tlv_type_str = "${field_name}";\n' - ' translated_value = ${underscore_field}_get_printable (ctx->self);\n' + ' translated_value = ${underscore_field}_get_printable (\n' + ' ctx->self,\n' + ' ctx->line_prefix);\n' ' break;\n') template += string.Template(field_template).substitute(translations) @@ -279,7 +281,9 @@ class Message: field_template = ( ' case ${field_enum}:\n' ' tlv_type_str = "${field_name}";\n' - ' translated_value = ${underscore_field}_get_printable (ctx->self);\n' + ' translated_value = ${underscore_field}_get_printable (\n' + ' ctx->self,\n' + ' ctx->line_prefix);\n' ' break;\n') template += string.Template(field_template).substitute(translations) -- cgit v1.1