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 |