| 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 # This module's classes provide an interface to mojo modules. Modules are | 5 # This module's classes provide an interface to mojo modules. Modules are |
| 6 # collections of interfaces and structs to be used by mojo ipc clients and | 6 # collections of interfaces and structs to be used by mojo ipc clients and |
| 7 # servers. | 7 # servers. |
| 8 # | 8 # |
| 9 # A simple interface would be created this way: | 9 # A simple interface would be created this way: |
| 10 # module = mojom.generate.module.Module('Foo') | 10 # module = mojom.generate.module.Module('Foo') |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 SHAREDBUFFER, | 123 SHAREDBUFFER, |
| 124 NULLABLE_STRING, | 124 NULLABLE_STRING, |
| 125 NULLABLE_HANDLE, | 125 NULLABLE_HANDLE, |
| 126 NULLABLE_DCPIPE, | 126 NULLABLE_DCPIPE, |
| 127 NULLABLE_DPPIPE, | 127 NULLABLE_DPPIPE, |
| 128 NULLABLE_MSGPIPE, | 128 NULLABLE_MSGPIPE, |
| 129 NULLABLE_SHAREDBUFFER | 129 NULLABLE_SHAREDBUFFER |
| 130 ) | 130 ) |
| 131 | 131 |
| 132 | 132 |
| 133 ATTRIBUTE_MIN_VERSION = 'MinVersion' | |
| 134 | |
| 135 | |
| 136 class NamedValue(object): | 133 class NamedValue(object): |
| 137 def __init__(self, module=None, parent_kind=None, name=None): | 134 def __init__(self, module=None, parent_kind=None, name=None): |
| 138 self.module = module | 135 self.module = module |
| 139 if module: | 136 if module: |
| 140 self.namespace = module.namespace | 137 self.namespace = module.namespace |
| 141 self.parent_kind = parent_kind | 138 self.parent_kind = parent_kind |
| 142 self.name = name | 139 self.name = name |
| 143 self.imported_from = None | 140 self.imported_from = None |
| 144 | 141 |
| 145 def GetSpec(self): | 142 def GetSpec(self): |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 def __init__(self, name=None, kind=None, ordinal=None, default=None, | 185 def __init__(self, name=None, kind=None, ordinal=None, default=None, |
| 189 attributes=None): | 186 attributes=None): |
| 190 if self.__class__.__name__ == 'Field': | 187 if self.__class__.__name__ == 'Field': |
| 191 raise Exception() | 188 raise Exception() |
| 192 self.name = name | 189 self.name = name |
| 193 self.kind = kind | 190 self.kind = kind |
| 194 self.ordinal = ordinal | 191 self.ordinal = ordinal |
| 195 self.default = default | 192 self.default = default |
| 196 self.attributes = attributes | 193 self.attributes = attributes |
| 197 | 194 |
| 198 @property | |
| 199 def min_version(self): | |
| 200 return self.attributes.get(ATTRIBUTE_MIN_VERSION) \ | |
| 201 if self.attributes else None | |
| 202 | |
| 203 | 195 |
| 204 class StructField(Field): pass | 196 class StructField(Field): pass |
| 205 | 197 |
| 206 | 198 |
| 207 class UnionField(Field): pass | 199 class UnionField(Field): pass |
| 208 | 200 |
| 209 | 201 |
| 210 class Struct(ReferenceKind): | 202 class Struct(ReferenceKind): |
| 211 ReferenceKind.AddSharedProperty('name') | 203 ReferenceKind.AddSharedProperty('name') |
| 212 ReferenceKind.AddSharedProperty('module') | 204 ReferenceKind.AddSharedProperty('module') |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 | 318 |
| 327 class Parameter(object): | 319 class Parameter(object): |
| 328 def __init__(self, name=None, kind=None, ordinal=None, default=None, | 320 def __init__(self, name=None, kind=None, ordinal=None, default=None, |
| 329 attributes=None): | 321 attributes=None): |
| 330 self.name = name | 322 self.name = name |
| 331 self.ordinal = ordinal | 323 self.ordinal = ordinal |
| 332 self.kind = kind | 324 self.kind = kind |
| 333 self.default = default | 325 self.default = default |
| 334 self.attributes = attributes | 326 self.attributes = attributes |
| 335 | 327 |
| 336 @property | |
| 337 def min_version(self): | |
| 338 return self.attributes.get(ATTRIBUTE_MIN_VERSION) \ | |
| 339 if self.attributes else None | |
| 340 | |
| 341 | 328 |
| 342 class Method(object): | 329 class Method(object): |
| 343 def __init__(self, interface, name, ordinal=None, attributes=None): | 330 def __init__(self, interface, name, ordinal=None, attributes=None): |
| 344 self.interface = interface | 331 self.interface = interface |
| 345 self.name = name | 332 self.name = name |
| 346 self.ordinal = ordinal | 333 self.ordinal = ordinal |
| 347 self.parameters = [] | 334 self.parameters = [] |
| 348 self.response_parameters = None | 335 self.response_parameters = None |
| 349 self.attributes = attributes | 336 self.attributes = attributes |
| 350 | 337 |
| 351 def AddParameter(self, name, kind, ordinal=None, default=None, | 338 def AddParameter(self, name, kind, ordinal=None, default=None, |
| 352 attributes=None): | 339 attributes=None): |
| 353 parameter = Parameter(name, kind, ordinal, default, attributes) | 340 parameter = Parameter(name, kind, ordinal, default, attributes) |
| 354 self.parameters.append(parameter) | 341 self.parameters.append(parameter) |
| 355 return parameter | 342 return parameter |
| 356 | 343 |
| 357 def AddResponseParameter(self, name, kind, ordinal=None, default=None, | 344 def AddResponseParameter(self, name, kind, ordinal=None, default=None, |
| 358 attributes=None): | 345 attributes=None): |
| 359 if self.response_parameters == None: | 346 if self.response_parameters == None: |
| 360 self.response_parameters = [] | 347 self.response_parameters = [] |
| 361 parameter = Parameter(name, kind, ordinal, default, attributes) | 348 parameter = Parameter(name, kind, ordinal, default, attributes) |
| 362 self.response_parameters.append(parameter) | 349 self.response_parameters.append(parameter) |
| 363 return parameter | 350 return parameter |
| 364 | 351 |
| 365 @property | |
| 366 def min_version(self): | |
| 367 return self.attributes.get(ATTRIBUTE_MIN_VERSION) \ | |
| 368 if self.attributes else None | |
| 369 | |
| 370 | 352 |
| 371 class Interface(ReferenceKind): | 353 class Interface(ReferenceKind): |
| 372 ReferenceKind.AddSharedProperty('module') | 354 ReferenceKind.AddSharedProperty('module') |
| 373 ReferenceKind.AddSharedProperty('name') | 355 ReferenceKind.AddSharedProperty('name') |
| 374 ReferenceKind.AddSharedProperty('imported_from') | 356 ReferenceKind.AddSharedProperty('imported_from') |
| 375 ReferenceKind.AddSharedProperty('methods') | 357 ReferenceKind.AddSharedProperty('methods') |
| 376 ReferenceKind.AddSharedProperty('attributes') | 358 ReferenceKind.AddSharedProperty('attributes') |
| 377 ReferenceKind.AddSharedProperty('constants') | 359 ReferenceKind.AddSharedProperty('constants') |
| 378 ReferenceKind.AddSharedProperty('enums') | 360 ReferenceKind.AddSharedProperty('enums') |
| 379 ReferenceKind.AddSharedProperty('type_key') | 361 ReferenceKind.AddSharedProperty('type_key') |
| (...skipping 24 matching lines...) Expand all Loading... |
| 404 | 386 |
| 405 | 387 |
| 406 class EnumField(object): | 388 class EnumField(object): |
| 407 def __init__(self, name=None, value=None, attributes=None, | 389 def __init__(self, name=None, value=None, attributes=None, |
| 408 numeric_value=None): | 390 numeric_value=None): |
| 409 self.name = name | 391 self.name = name |
| 410 self.value = value | 392 self.value = value |
| 411 self.attributes = attributes | 393 self.attributes = attributes |
| 412 self.numeric_value = numeric_value | 394 self.numeric_value = numeric_value |
| 413 | 395 |
| 414 @property | |
| 415 def min_version(self): | |
| 416 return self.attributes.get(ATTRIBUTE_MIN_VERSION) \ | |
| 417 if self.attributes else None | |
| 418 | |
| 419 | 396 |
| 420 class Enum(Kind): | 397 class Enum(Kind): |
| 421 def __init__(self, name=None, module=None, attributes=None): | 398 def __init__(self, name=None, module=None, attributes=None): |
| 422 self.module = module | 399 self.module = module |
| 423 self.name = name | 400 self.name = name |
| 424 self.imported_from = None | 401 self.imported_from = None |
| 425 if name is not None: | 402 if name is not None: |
| 426 spec = 'x:' + name | 403 spec = 'x:' + name |
| 427 else: | 404 else: |
| 428 spec = None | 405 spec = None |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 604 | 581 |
| 605 def IsCloneableKind(kind): | 582 def IsCloneableKind(kind): |
| 606 return not ContainsHandles(kind, set()) | 583 return not ContainsHandles(kind, set()) |
| 607 | 584 |
| 608 | 585 |
| 609 def HasCallbacks(interface): | 586 def HasCallbacks(interface): |
| 610 for method in interface.methods: | 587 for method in interface.methods: |
| 611 if method.response_parameters != None: | 588 if method.response_parameters != None: |
| 612 return True | 589 return True |
| 613 return False | 590 return False |
| OLD | NEW |