| OLD | NEW |
| 1 {% from "module_macros.tmpl" import enum_values %} | 1 {% from "module_macros.tmpl" import enum_values %} |
| 2 {% from "module_macros.tmpl" import struct_descriptor %} | |
| 3 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 6 | 5 |
| 7 import mojo.bindings.descriptor as _descriptor | 6 import mojo.bindings.descriptor as _descriptor |
| 8 import mojo.bindings.reflection as _reflection | 7 import mojo.bindings.reflection as _reflection |
| 9 {% if imports %} | 8 {% if imports %} |
| 10 | 9 |
| 11 {% for import in imports %} | 10 {% for import in imports %} |
| 12 import {{import.python_module}} | 11 import {{import.python_module}} |
| 13 {% endfor %} | 12 {% endfor %} |
| 14 {% endif %} | 13 {% endif %} |
| 15 {#--- Constants #} | 14 {#--- Constants #} |
| 16 {% if module.constants %} | 15 {% if module.constants %} |
| 17 | 16 |
| 18 {% for constant in module.constants %} | 17 {% for constant in module.constants %} |
| 19 {{constant|name}} = {{constant.value|expression_to_text}} | 18 {{constant|name}} = {{constant.value|expression_to_text}} |
| 20 {% endfor %} | 19 {% endfor %} |
| 21 {% endif %} | 20 {% endif %} |
| 22 {% for enum in enums %} | 21 {% for enum in module.enums %} |
| 23 | 22 |
| 24 class {{enum|name}}(object): | 23 class {{enum|name}}(object): |
| 25 __metaclass__ = _reflection.MojoEnumType | 24 __metaclass__ = _reflection.MojoEnumType |
| 26 VALUES = {{enum_values(enum)|indent(2)}} | 25 VALUES = {{enum_values(enum)|indent(2)}} |
| 27 {% endfor %} | 26 {% endfor %} |
| 28 {% for struct in structs %} | 27 {% for struct in module.structs %} |
| 29 | 28 |
| 30 class {{struct|name}}(object): | 29 class {{struct|name}}(object): |
| 31 __metaclass__ = _reflection.MojoStructType | 30 __metaclass__ = _reflection.MojoStructType |
| 32 DESCRIPTOR = {{struct_descriptor(struct)|indent(2)}} | |
| 33 {% endfor %} | |
| 34 {% for interface in interfaces %} | |
| 35 | |
| 36 class {{interface|name}}(object): | |
| 37 __metaclass__ = _reflection.MojoInterfaceType | |
| 38 DESCRIPTOR = { | 31 DESCRIPTOR = { |
| 39 {% if interface.client %} | 32 {% if struct.constants %} |
| 40 'client': {{interface.qualified_client|fully_qualified_name}}, | 33 'constants': { |
| 41 {% endif %} | 34 {% for constant in struct.constants %} |
| 42 'methods': [ | 35 '{{constant|name}}': {{constant.value|expression_to_text}}, |
| 43 {% for method in interface.methods %} | 36 {% endfor %} |
| 44 { | 37 }, |
| 45 'name': '{{method|name}}', | 38 {% endif %} |
| 46 'ordinal': {{method.ordinal}}, | 39 {% if struct.enums %} |
| 47 {% set request_struct = method|struct_from_method %} | 40 'enums': { |
| 48 'parameters': {{struct_descriptor(request_struct)|indent(8)}}, | 41 {% for enum in struct.enums %} |
| 49 {% if method.response_parameters != None %} | 42 '{{enum|name}}': {{enum_values(enum)|indent(6)}}, |
| 50 {% set response_struct = method|response_struct_from_method %} | 43 {% endfor %} |
| 51 'responses': {{struct_descriptor(response_struct)|indent(8)}}, | 44 }, |
| 52 {% endif %} | 45 {% endif %} |
| 53 }, | 46 {% if struct.fields %} |
| 54 {% endfor %} | 47 'fields': [ |
| 48 {% for byte in struct.bytes %} |
| 49 {% if byte.packed_fields %} |
| 50 {{byte|field_group}}, |
| 51 {% endif %} |
| 52 {% endfor %} |
| 55 ], | 53 ], |
| 54 {% endif %} |
| 56 } | 55 } |
| 57 {% endfor %} | 56 {% endfor %} |
| OLD | NEW |