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 # 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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 self.ordinal = ordinal | 120 self.ordinal = ordinal |
121 self.kind = kind | 121 self.kind = kind |
122 self.default = default | 122 self.default = default |
123 | 123 |
124 | 124 |
125 class Method(object): | 125 class Method(object): |
126 def __init__(self, name = None, ordinal = None): | 126 def __init__(self, name = None, ordinal = None): |
127 self.name = name | 127 self.name = name |
128 self.ordinal = ordinal | 128 self.ordinal = ordinal |
129 self.parameters = [] | 129 self.parameters = [] |
| 130 self.response_parameters = None |
130 | 131 |
131 def AddParameter(self, name, kind, ordinal = None, default = None): | 132 def AddParameter(self, name, kind, ordinal = None, default = None): |
132 parameter = Parameter(name, kind, ordinal, default) | 133 parameter = Parameter(name, kind, ordinal, default) |
133 self.parameters.append(parameter) | 134 self.parameters.append(parameter) |
134 return parameter | 135 return parameter |
135 | 136 |
| 137 def AddResponseParameter(self, name, kind, ordinal = None, default = None): |
| 138 if self.response_parameters == None: |
| 139 self.response_parameters = [] |
| 140 parameter = Parameter(name, kind, ordinal, default) |
| 141 self.response_parameters.append(parameter) |
| 142 return parameter |
| 143 |
136 | 144 |
137 class Interface(Kind): | 145 class Interface(Kind): |
138 def __init__(self, name = None, peer = None): | 146 def __init__(self, name = None, peer = None): |
139 self.name = name | 147 self.name = name |
140 if name != None: | 148 if name != None: |
141 spec = 'x:' + name | 149 spec = 'x:' + name |
142 else: | 150 else: |
143 spec = None | 151 spec = None |
144 Kind.__init__(self, spec) | 152 Kind.__init__(self, spec) |
145 self.peer = peer | 153 self.peer = peer |
(...skipping 27 matching lines...) Expand all Loading... |
173 | 181 |
174 def AddInterface(self, name): | 182 def AddInterface(self, name): |
175 interface = Interface(name); | 183 interface = Interface(name); |
176 self.interfaces.append(interface) | 184 self.interfaces.append(interface) |
177 return interface; | 185 return interface; |
178 | 186 |
179 def AddStruct(self, name): | 187 def AddStruct(self, name): |
180 struct = Struct(name) | 188 struct = Struct(name) |
181 self.structs.append(struct) | 189 self.structs.append(struct) |
182 return struct; | 190 return struct; |
OLD | NEW |