| 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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 ParameterFromData(module, parameter, interface), data['parameters']) | 214 ParameterFromData(module, parameter, interface), data['parameters']) |
| 215 if data.has_key('response_parameters'): | 215 if data.has_key('response_parameters'): |
| 216 method.response_parameters = map( | 216 method.response_parameters = map( |
| 217 lambda parameter: ParameterFromData(module, parameter, interface), | 217 lambda parameter: ParameterFromData(module, parameter, interface), |
| 218 data['response_parameters']) | 218 data['response_parameters']) |
| 219 return method | 219 return method |
| 220 | 220 |
| 221 def InterfaceToData(interface): | 221 def InterfaceToData(interface): |
| 222 return { | 222 return { |
| 223 istr(0, 'name'): interface.name, | 223 istr(0, 'name'): interface.name, |
| 224 istr(1, 'peer'): interface.peer, | 224 istr(1, 'client'): interface.client, |
| 225 istr(2, 'methods'): map(MethodToData, interface.methods) | 225 istr(2, 'methods'): map(MethodToData, interface.methods) |
| 226 } | 226 } |
| 227 | 227 |
| 228 def InterfaceFromData(module, data): | 228 def InterfaceFromData(module, data): |
| 229 interface = mojom.Interface(module=module) | 229 interface = mojom.Interface(module=module) |
| 230 interface.name = data['name'] | 230 interface.name = data['name'] |
| 231 interface.spec = 'x:' + module.namespace + '.' + interface.name | 231 interface.spec = 'x:' + module.namespace + '.' + interface.name |
| 232 interface.peer = data['peer'] if data.has_key('peer') else None | 232 interface.client = data['client'] if data.has_key('client') else None |
| 233 module.kinds[interface.spec] = interface | 233 module.kinds[interface.spec] = interface |
| 234 interface.enums = map(lambda enum: | 234 interface.enums = map(lambda enum: |
| 235 EnumFromData(module, enum, interface), data['enums']) | 235 EnumFromData(module, enum, interface), data['enums']) |
| 236 # Stash methods data here temporarily. | 236 # Stash methods data here temporarily. |
| 237 interface.methods_data = data['methods'] | 237 interface.methods_data = data['methods'] |
| 238 return interface | 238 return interface |
| 239 | 239 |
| 240 def EnumFieldFromData(module, enum, data, parent_kind): | 240 def EnumFieldFromData(module, enum, data, parent_kind): |
| 241 field = mojom.EnumField() | 241 field = mojom.EnumField() |
| 242 field.name = data['name'] | 242 field.name = data['name'] |
| (...skipping 72 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 |