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 |