Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(427)

Side by Side Diff: mojo/public/tools/bindings/pylib/mojom/generate/module.py

Issue 799113004: Update mojo sdk to rev 59145288bae55b0fce4276b017df6a1117bcf00f (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add mojo's ply to checklicenses whitelist Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 self.module = module 197 self.module = module
198 self.imported_from = None 198 self.imported_from = None
199 self.fields = [] 199 self.fields = []
200 200
201 def AddField(self, name, kind, ordinal=None, default=None): 201 def AddField(self, name, kind, ordinal=None, default=None):
202 field = Field(name, kind, ordinal, default) 202 field = Field(name, kind, ordinal, default)
203 self.fields.append(field) 203 self.fields.append(field)
204 return field 204 return field
205 205
206 206
207 class Union(ReferenceKind):
208 ReferenceKind.AddSharedProperty('name')
209 ReferenceKind.AddSharedProperty('module')
210 ReferenceKind.AddSharedProperty('imported_from')
211 ReferenceKind.AddSharedProperty('fields')
212
213 def __init__(self, name=None, module=None):
214 if name is not None:
215 spec = 'x:' + name
216 else:
217 spec = None
218 ReferenceKind.__init__(self, spec)
219 self.name = name
220 self.module = module
221 self.imported_from = None
222 self.fields = []
223
224 def AddField(self, name, kind, ordinal=None):
225 field = Field(name, kind, ordinal, default=None)
226 self.fields.append(field)
227 return field
228
229
207 class Array(ReferenceKind): 230 class Array(ReferenceKind):
208 ReferenceKind.AddSharedProperty('kind') 231 ReferenceKind.AddSharedProperty('kind')
209 ReferenceKind.AddSharedProperty('length') 232 ReferenceKind.AddSharedProperty('length')
210 233
211 def __init__(self, kind=None, length=None): 234 def __init__(self, kind=None, length=None):
212 if kind is not None: 235 if kind is not None:
213 if length is not None: 236 if length is not None:
214 spec = 'a%d:%s' % (length, kind.spec) 237 spec = 'a%d:%s' % (length, kind.spec)
215 else: 238 else:
216 spec = 'a:%s' % kind.spec 239 spec = 'a:%s' % kind.spec
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 Kind.__init__(self, spec) 355 Kind.__init__(self, spec)
333 self.fields = [] 356 self.fields = []
334 357
335 358
336 class Module(object): 359 class Module(object):
337 def __init__(self, name=None, namespace=None): 360 def __init__(self, name=None, namespace=None):
338 self.name = name 361 self.name = name
339 self.path = name 362 self.path = name
340 self.namespace = namespace 363 self.namespace = namespace
341 self.structs = [] 364 self.structs = []
365 self.unions = []
342 self.interfaces = [] 366 self.interfaces = []
367 self.kinds = {}
343 368
344 def AddInterface(self, name): 369 def AddInterface(self, name):
345 interface = Interface(name, module=self) 370 interface = Interface(name, module=self)
346 self.interfaces.append(interface) 371 self.interfaces.append(interface)
347 return interface 372 return interface
348 373
349 def AddStruct(self, name): 374 def AddStruct(self, name):
350 struct=Struct(name, module=self) 375 struct = Struct(name, module=self)
351 self.structs.append(struct) 376 self.structs.append(struct)
352 return struct 377 return struct
353 378
379 def AddUnion(self, name):
380 union = Union(name, module=self)
381 self.unions.append(union)
382 return union
383
354 384
355 def IsBoolKind(kind): 385 def IsBoolKind(kind):
356 return kind.spec == BOOL.spec 386 return kind.spec == BOOL.spec
357 387
358 388
359 def IsFloatKind(kind): 389 def IsFloatKind(kind):
360 return kind.spec == FLOAT.spec 390 return kind.spec == FLOAT.spec
361 391
362 392
363 def IsStringKind(kind): 393 def IsStringKind(kind):
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 488
459 return not ContainsHandles(kind, set()) 489 return not ContainsHandles(kind, set())
460 490
461 491
462 def HasCallbacks(interface): 492 def HasCallbacks(interface):
463 for method in interface.methods: 493 for method in interface.methods:
464 if method.response_parameters != None: 494 if method.response_parameters != None:
465 return True 495 return True
466 return False 496 return False
467 497
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698