| 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 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 ParameterFromData(module, parameter, interface), data['parameters']) | 215 ParameterFromData(module, parameter, interface), data['parameters']) |
| 216 if data.has_key('response_parameters'): | 216 if data.has_key('response_parameters'): |
| 217 method.response_parameters = map( | 217 method.response_parameters = map( |
| 218 lambda parameter: ParameterFromData(module, parameter, interface), | 218 lambda parameter: ParameterFromData(module, parameter, interface), |
| 219 data['response_parameters']) | 219 data['response_parameters']) |
| 220 return method | 220 return method |
| 221 | 221 |
| 222 def InterfaceToData(interface): | 222 def InterfaceToData(interface): |
| 223 return { | 223 return { |
| 224 istr(0, 'name'): interface.name, | 224 istr(0, 'name'): interface.name, |
| 225 istr(1, 'peer'): interface.peer, | 225 istr(1, 'client'): interface.client, |
| 226 istr(2, 'methods'): map(MethodToData, interface.methods) | 226 istr(2, 'methods'): map(MethodToData, interface.methods) |
| 227 } | 227 } |
| 228 | 228 |
| 229 def InterfaceFromData(module, data): | 229 def InterfaceFromData(module, data): |
| 230 interface = mojom.Interface(module=module) | 230 interface = mojom.Interface(module=module) |
| 231 interface.name = data['name'] | 231 interface.name = data['name'] |
| 232 interface.spec = 'x:' + module.namespace + '.' + interface.name | 232 interface.spec = 'x:' + module.namespace + '.' + interface.name |
| 233 interface.peer = data['peer'] if data.has_key('peer') else None | 233 interface.client = data['client'] if data.has_key('client') else None |
| 234 module.kinds[interface.spec] = interface | 234 module.kinds[interface.spec] = interface |
| 235 interface.enums = map(lambda enum: | 235 interface.enums = map(lambda enum: |
| 236 EnumFromData(module, enum, interface), data['enums']) | 236 EnumFromData(module, enum, interface), data['enums']) |
| 237 # Stash methods data here temporarily. | 237 # Stash methods data here temporarily. |
| 238 interface.methods_data = data['methods'] | 238 interface.methods_data = data['methods'] |
| 239 return interface | 239 return interface |
| 240 | 240 |
| 241 def EnumFieldFromData(module, enum, data, parent_kind): | 241 def EnumFieldFromData(module, enum, data, parent_kind): |
| 242 field = mojom.EnumField() | 242 field = mojom.EnumField() |
| 243 field.name = data['name'] | 243 field.name = data['name'] |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 def OrderedModuleFromData(data): | 315 def OrderedModuleFromData(data): |
| 316 module = ModuleFromData(data) | 316 module = ModuleFromData(data) |
| 317 next_interface_ordinal = 0 | 317 next_interface_ordinal = 0 |
| 318 for interface in module.interfaces: | 318 for interface in module.interfaces: |
| 319 next_ordinal = 0 | 319 next_ordinal = 0 |
| 320 for method in interface.methods: | 320 for method in interface.methods: |
| 321 if method.ordinal is None: | 321 if method.ordinal is None: |
| 322 method.ordinal = next_ordinal | 322 method.ordinal = next_ordinal |
| 323 next_ordinal = method.ordinal + 1 | 323 next_ordinal = method.ordinal + 1 |
| 324 return module | 324 return module |
| OLD | NEW |