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

Side by Side Diff: mojo/dart/packages/mojo_services/lib/icu_data/icu_data.mojom.dart

Issue 1964193002: Dart: Refactors Proxies (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Address comments Created 4 years, 7 months 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 library icu_data_mojom; 5 library icu_data_mojom;
6 import 'dart:async'; 6 import 'dart:async';
7 import 'package:mojo/bindings.dart' as bindings; 7 import 'package:mojo/bindings.dart' as bindings;
8 import 'package:mojo/core.dart' as core; 8 import 'package:mojo/core.dart' as core;
9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic e_describer; 9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic e_describer;
10 10
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 dynamic getAllTypeDefinitions([Function responseFactory]) => 164 dynamic getAllTypeDefinitions([Function responseFactory]) =>
165 responseFactory(null); 165 responseFactory(null);
166 } 166 }
167 167
168 abstract class IcuData { 168 abstract class IcuData {
169 static const String serviceName = "icu_data::ICUData"; 169 static const String serviceName = "icu_data::ICUData";
170 dynamic map(String sha1hash,[Function responseFactory = null]); 170 dynamic map(String sha1hash,[Function responseFactory = null]);
171 } 171 }
172 172
173 173
174 class _IcuDataProxyImpl extends bindings.Proxy { 174 class _IcuDataProxyControl extends bindings.ProxyMessageHandler
175 _IcuDataProxyImpl.fromEndpoint( 175 implements bindings.ProxyControl {
176 _IcuDataProxyControl.fromEndpoint(
176 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); 177 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
177 178
178 _IcuDataProxyImpl.fromHandle(core.MojoHandle handle) : 179 _IcuDataProxyControl.fromHandle(
179 super.fromHandle(handle); 180 core.MojoHandle handle) : super.fromHandle(handle);
180 181
181 _IcuDataProxyImpl.unbound() : super.unbound(); 182 _IcuDataProxyControl.unbound() : super.unbound();
182
183 static _IcuDataProxyImpl newFromEndpoint(
184 core.MojoMessagePipeEndpoint endpoint) {
185 assert(endpoint.setDescription("For _IcuDataProxyImpl"));
186 return new _IcuDataProxyImpl.fromEndpoint(endpoint);
187 }
188 183
189 service_describer.ServiceDescription get serviceDescription => 184 service_describer.ServiceDescription get serviceDescription =>
190 new _IcuDataServiceDescription(); 185 new _IcuDataServiceDescription();
191 186
187 String get serviceName => IcuData.serviceName;
188
189 @override
192 void handleResponse(bindings.ServiceMessage message) { 190 void handleResponse(bindings.ServiceMessage message) {
193 switch (message.header.type) { 191 switch (message.header.type) {
194 case _icuDataMethodMapName: 192 case _icuDataMethodMapName:
195 var r = IcuDataMapResponseParams.deserialize( 193 var r = IcuDataMapResponseParams.deserialize(
196 message.payload); 194 message.payload);
197 if (!message.header.hasRequestId) { 195 if (!message.header.hasRequestId) {
198 proxyError("Expected a message with a valid request Id."); 196 proxyError("Expected a message with a valid request Id.");
199 return; 197 return;
200 } 198 }
201 Completer c = completerMap[message.header.requestId]; 199 Completer c = completerMap[message.header.requestId];
202 if (c == null) { 200 if (c == null) {
203 proxyError( 201 proxyError(
204 "Message had unknown request Id: ${message.header.requestId}"); 202 "Message had unknown request Id: ${message.header.requestId}");
205 return; 203 return;
206 } 204 }
207 completerMap.remove(message.header.requestId); 205 completerMap.remove(message.header.requestId);
208 if (c.isCompleted) { 206 if (c.isCompleted) {
209 proxyError("Response completer already completed"); 207 proxyError("Response completer already completed");
210 return; 208 return;
211 } 209 }
212 c.complete(r); 210 c.complete(r);
213 break; 211 break;
214 default: 212 default:
215 proxyError("Unexpected message type: ${message.header.type}"); 213 proxyError("Unexpected message type: ${message.header.type}");
216 close(immediate: true); 214 close(immediate: true);
217 break; 215 break;
218 } 216 }
219 } 217 }
220 218
219 @override
221 String toString() { 220 String toString() {
222 var superString = super.toString(); 221 var superString = super.toString();
223 return "_IcuDataProxyImpl($superString)"; 222 return "_IcuDataProxyControl($superString)";
224 } 223 }
225 } 224 }
226 225
227 226
228 class _IcuDataProxyCalls implements IcuData { 227 class IcuDataProxy extends bindings.Proxy
229 _IcuDataProxyImpl _proxyImpl; 228 implements IcuData {
229 IcuDataProxy.fromEndpoint(
230 core.MojoMessagePipeEndpoint endpoint)
231 : super(new _IcuDataProxyControl.fromEndpoint(endpoint));
230 232
231 _IcuDataProxyCalls(this._proxyImpl); 233 IcuDataProxy.fromHandle(core.MojoHandle handle)
232 dynamic map(String sha1hash,[Function responseFactory = null]) { 234 : super(new _IcuDataProxyControl.fromHandle(handle));
233 var params = new _IcuDataMapParams();
234 params.sha1hash = sha1hash;
235 return _proxyImpl.sendMessageWithRequestId(
236 params,
237 _icuDataMethodMapName,
238 -1,
239 bindings.MessageHeader.kMessageExpectsResponse);
240 }
241 }
242 235
236 IcuDataProxy.unbound()
237 : super(new _IcuDataProxyControl.unbound());
243 238
244 class IcuDataProxy implements bindings.ProxyBase { 239 static IcuDataProxy newFromEndpoint(
245 final bindings.Proxy impl; 240 core.MojoMessagePipeEndpoint endpoint) {
246 IcuData ptr; 241 assert(endpoint.setDescription("For IcuDataProxy"));
247 242 return new IcuDataProxy.fromEndpoint(endpoint);
248 IcuDataProxy(_IcuDataProxyImpl proxyImpl) :
249 impl = proxyImpl,
250 ptr = new _IcuDataProxyCalls(proxyImpl);
251
252 IcuDataProxy.fromEndpoint(
253 core.MojoMessagePipeEndpoint endpoint) :
254 impl = new _IcuDataProxyImpl.fromEndpoint(endpoint) {
255 ptr = new _IcuDataProxyCalls(impl);
256 }
257
258 IcuDataProxy.fromHandle(core.MojoHandle handle) :
259 impl = new _IcuDataProxyImpl.fromHandle(handle) {
260 ptr = new _IcuDataProxyCalls(impl);
261 }
262
263 IcuDataProxy.unbound() :
264 impl = new _IcuDataProxyImpl.unbound() {
265 ptr = new _IcuDataProxyCalls(impl);
266 } 243 }
267 244
268 factory IcuDataProxy.connectToService( 245 factory IcuDataProxy.connectToService(
269 bindings.ServiceConnector s, String url, [String serviceName]) { 246 bindings.ServiceConnector s, String url, [String serviceName]) {
270 IcuDataProxy p = new IcuDataProxy.unbound(); 247 IcuDataProxy p = new IcuDataProxy.unbound();
271 s.connectToService(url, p, serviceName); 248 s.connectToService(url, p, serviceName);
272 return p; 249 return p;
273 } 250 }
274 251
275 static IcuDataProxy newFromEndpoint(
276 core.MojoMessagePipeEndpoint endpoint) {
277 assert(endpoint.setDescription("For IcuDataProxy"));
278 return new IcuDataProxy.fromEndpoint(endpoint);
279 }
280 252
281 String get serviceName => IcuData.serviceName; 253 dynamic map(String sha1hash,[Function responseFactory = null]) {
282 254 var params = new _IcuDataMapParams();
283 Future close({bool immediate: false}) => impl.close(immediate: immediate); 255 params.sha1hash = sha1hash;
284 256 return ctrl.sendMessageWithRequestId(
285 Future responseOrError(Future f) => impl.responseOrError(f); 257 params,
286 258 _icuDataMethodMapName,
287 Future get errorFuture => impl.errorFuture; 259 -1,
288 260 bindings.MessageHeader.kMessageExpectsResponse);
289 int get version => impl.version;
290
291 Future<int> queryVersion() => impl.queryVersion();
292
293 void requireVersion(int requiredVersion) {
294 impl.requireVersion(requiredVersion);
295 }
296
297 String toString() {
298 return "IcuDataProxy($impl)";
299 } 261 }
300 } 262 }
301 263
302 264
303 class IcuDataStub extends bindings.Stub { 265 class IcuDataStub extends bindings.Stub {
304 IcuData _impl; 266 IcuData _impl;
305 267
306 IcuDataStub.fromEndpoint( 268 IcuDataStub.fromEndpoint(
307 core.MojoMessagePipeEndpoint endpoint, [IcuData impl]) 269 core.MojoMessagePipeEndpoint endpoint, [IcuData impl])
308 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 270 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 static service_describer.ServiceDescription get serviceDescription { 361 static service_describer.ServiceDescription get serviceDescription {
400 if (_cachedServiceDescription == null) { 362 if (_cachedServiceDescription == null) {
401 _cachedServiceDescription = new _IcuDataServiceDescription(); 363 _cachedServiceDescription = new _IcuDataServiceDescription();
402 } 364 }
403 return _cachedServiceDescription; 365 return _cachedServiceDescription;
404 } 366 }
405 } 367 }
406 368
407 369
408 370
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698