| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # TODO(vtl): "data" is a pretty vague name. Rename it? | 5 # TODO(vtl): "data" is a pretty vague name. Rename it? |
| 6 | 6 |
| 7 import copy | 7 import copy |
| 8 | 8 |
| 9 import module as mojom | 9 import module as mojom |
| 10 | 10 |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 ParameterFromData(module, parameter, interface), data['parameters']) | 216 ParameterFromData(module, parameter, interface), data['parameters']) |
| 217 if data.has_key('response_parameters'): | 217 if data.has_key('response_parameters'): |
| 218 method.response_parameters = map( | 218 method.response_parameters = map( |
| 219 lambda parameter: ParameterFromData(module, parameter, interface), | 219 lambda parameter: ParameterFromData(module, parameter, interface), |
| 220 data['response_parameters']) | 220 data['response_parameters']) |
| 221 return method | 221 return method |
| 222 | 222 |
| 223 def InterfaceToData(interface): | 223 def InterfaceToData(interface): |
| 224 return { | 224 return { |
| 225 istr(0, 'name'): interface.name, | 225 istr(0, 'name'): interface.name, |
| 226 istr(1, 'peer'): interface.peer, | 226 istr(1, 'client'): interface.client, |
| 227 istr(2, 'methods'): map(MethodToData, interface.methods) | 227 istr(2, 'methods'): map(MethodToData, interface.methods) |
| 228 } | 228 } |
| 229 | 229 |
| 230 def InterfaceFromData(module, data): | 230 def InterfaceFromData(module, data): |
| 231 interface = mojom.Interface(module=module) | 231 interface = mojom.Interface(module=module) |
| 232 interface.name = data['name'] | 232 interface.name = data['name'] |
| 233 interface.spec = 'x:' + module.namespace + '.' + interface.name | 233 interface.spec = 'x:' + module.namespace + '.' + interface.name |
| 234 interface.peer = data['peer'] if data.has_key('peer') else None | 234 interface.client = data['client'] if data.has_key('client') else None |
| 235 module.kinds[interface.spec] = interface | 235 module.kinds[interface.spec] = interface |
| 236 interface.enums = map(lambda enum: | 236 interface.enums = map(lambda enum: |
| 237 EnumFromData(module, enum, interface), data['enums']) | 237 EnumFromData(module, enum, interface), data['enums']) |
| 238 # Stash methods data here temporarily. | 238 # Stash methods data here temporarily. |
| 239 interface.methods_data = data['methods'] | 239 interface.methods_data = data['methods'] |
| 240 return interface | 240 return interface |
| 241 | 241 |
| 242 def EnumFieldFromData(module, enum, data, parent_kind): | 242 def EnumFieldFromData(module, enum, data, parent_kind): |
| 243 field = mojom.EnumField() | 243 field = mojom.EnumField() |
| 244 field.name = data['name'] | 244 field.name = data['name'] |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 def OrderedModuleFromData(data): | 317 def OrderedModuleFromData(data): |
| 318 module = ModuleFromData(data) | 318 module = ModuleFromData(data) |
| 319 next_interface_ordinal = 0 | 319 next_interface_ordinal = 0 |
| 320 for interface in module.interfaces: | 320 for interface in module.interfaces: |
| 321 next_ordinal = 0 | 321 next_ordinal = 0 |
| 322 for method in interface.methods: | 322 for method in interface.methods: |
| 323 if method.ordinal is None: | 323 if method.ordinal is None: |
| 324 method.ordinal = next_ordinal | 324 method.ordinal = next_ordinal |
| 325 next_ordinal = method.ordinal + 1 | 325 next_ordinal = method.ordinal + 1 |
| 326 return module | 326 return module |
| OLD | NEW |