aboutsummaryrefslogtreecommitdiffstats
path: root/build-aux/qmi-codegen
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-05-23 19:01:18 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-07-03 16:08:55 +0200
commit00df4bc4dd21357fc9505809bb9b71a52ce91ad6 (patch)
treeb7f231b5d248a823aa00fc1587830065c2a4464d /build-aux/qmi-codegen
parent289a21418fb2790604cef988a7425469b3f60e0a (diff)
downloadexternal_libqmi-00df4bc4dd21357fc9505809bb9b71a52ce91ad6.zip
external_libqmi-00df4bc4dd21357fc9505809bb9b71a52ce91ad6.tar.gz
external_libqmi-00df4bc4dd21357fc9505809bb9b71a52ce91ad6.tar.bz2
qmi-codegen: pretty-print the structs
Diffstat (limited to 'build-aux/qmi-codegen')
-rw-r--r--build-aux/qmi-codegen/Field.py3
-rw-r--r--build-aux/qmi-codegen/FieldArray.py25
-rw-r--r--build-aux/qmi-codegen/FieldBasic.py3
-rw-r--r--build-aux/qmi-codegen/FieldString.py14
-rw-r--r--build-aux/qmi-codegen/FieldStruct.py12
-rw-r--r--build-aux/qmi-codegen/FieldStructResult.py3
-rw-r--r--build-aux/qmi-codegen/Message.py8
7 files changed, 48 insertions, 20 deletions
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)