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

Side by Side Diff: mojo/public/bindings/generators/mojom.py

Issue 66353002: Mojo: RemotePtr<S> + bindings changes for Peer attribute. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase + fix error in sample_service.h Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 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 # mojom's classes provide an interface to mojo modules. Modules are collections 5 # mojom's classes provide an interface to mojo modules. Modules are collections
6 # of interfaces and structs to be used by mojo ipc clients and servers. 6 # of interfaces and structs to be used by mojo ipc clients and servers.
7 # 7 #
8 # A simple interface would be created this way: 8 # A simple interface would be created this way:
9 # module = mojom.Module('Foo') 9 # module = mojom.Module('Foo')
10 # interface = module.AddInterface('Bar') 10 # interface = module.AddInterface('Bar')
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 self.ordinal = ordinal 97 self.ordinal = ordinal
98 self.parameters = [] 98 self.parameters = []
99 99
100 def AddParameter(self, name, kind, ordinal = None, default = None): 100 def AddParameter(self, name, kind, ordinal = None, default = None):
101 parameter = Parameter(name, kind, ordinal, default) 101 parameter = Parameter(name, kind, ordinal, default)
102 self.parameters.append(parameter) 102 self.parameters.append(parameter)
103 return parameter 103 return parameter
104 104
105 105
106 class Interface(object): 106 class Interface(object):
107 def __init__(self, name = None): 107 def __init__(self, name = None, peer = None):
108 self.name = name 108 self.name = name
109 self.peer = peer
109 self.methods = [] 110 self.methods = []
110 111
111 def AddMethod(self, name, ordinal = None): 112 def AddMethod(self, name, ordinal = None):
112 method = Method(name, ordinal) 113 method = Method(name, ordinal)
113 self.methods.append(method) 114 self.methods.append(method)
114 return method; 115 return method;
115 116
116 117
117 class Module(object): 118 class Module(object):
118 def __init__(self, name = None, namespace = None): 119 def __init__(self, name = None, namespace = None):
119 self.name = name 120 self.name = name
120 self.namespace = namespace 121 self.namespace = namespace
121 self.structs = [] 122 self.structs = []
122 self.interfaces = [] 123 self.interfaces = []
123 124
124 def AddInterface(self, name): 125 def AddInterface(self, name):
125 interface = Interface(name); 126 interface = Interface(name);
126 self.interfaces.append(interface) 127 self.interfaces.append(interface)
127 return interface; 128 return interface;
128 129
129 def AddStruct(self, name): 130 def AddStruct(self, name):
130 struct = Struct(name) 131 struct = Struct(name)
131 self.structs.append(struct) 132 self.structs.append(struct)
132 return struct; 133 return struct;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698