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

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

Issue 2006093002: Dart: Futures -> Callbacks. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Cleanup Created 4 years, 6 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 host_resolver_mojom; 5 library host_resolver_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 import 'package:mojo/mojo/network_error.mojom.dart' as network_error_mojom; 10 import 'package:mojo/mojo/network_error.mojom.dart' as network_error_mojom;
11 import 'package:mojo_services/mojo/net_address.mojom.dart' as net_address_mojom; 11 import 'package:mojo_services/mojo/net_address.mojom.dart' as net_address_mojom;
12 12
13 13
14 14
15 class _HostResolverGetHostAddressesParams extends bindings.Struct { 15 class _HostResolverGetHostAddressesParams extends bindings.Struct {
16 static const List<bindings.StructDataHeader> kVersions = const [ 16 static const List<bindings.StructDataHeader> kVersions = const [
17 const bindings.StructDataHeader(24, 0) 17 const bindings.StructDataHeader(24, 0)
18 ]; 18 ];
19 String host = null; 19 String host = null;
20 net_address_mojom.NetAddressFamily family = null; 20 net_address_mojom.NetAddressFamily family = null;
21 21
22 _HostResolverGetHostAddressesParams() : super(kVersions.last.size); 22 _HostResolverGetHostAddressesParams() : super(kVersions.last.size);
23 23
24 _HostResolverGetHostAddressesParams.init(
25 String this.host,
26 net_address_mojom.NetAddressFamily this.family
27 ) : super(kVersions.last.size);
28
24 static _HostResolverGetHostAddressesParams deserialize(bindings.Message messag e) { 29 static _HostResolverGetHostAddressesParams deserialize(bindings.Message messag e) {
25 var decoder = new bindings.Decoder(message); 30 var decoder = new bindings.Decoder(message);
26 var result = decode(decoder); 31 var result = decode(decoder);
27 if (decoder.excessHandles != null) { 32 if (decoder.excessHandles != null) {
28 decoder.excessHandles.forEach((h) => h.close()); 33 decoder.excessHandles.forEach((h) => h.close());
29 } 34 }
30 return result; 35 return result;
31 } 36 }
32 37
33 static _HostResolverGetHostAddressesParams decode(bindings.Decoder decoder0) { 38 static _HostResolverGetHostAddressesParams decode(bindings.Decoder decoder0) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 109
105 class HostResolverGetHostAddressesResponseParams extends bindings.Struct { 110 class HostResolverGetHostAddressesResponseParams extends bindings.Struct {
106 static const List<bindings.StructDataHeader> kVersions = const [ 111 static const List<bindings.StructDataHeader> kVersions = const [
107 const bindings.StructDataHeader(24, 0) 112 const bindings.StructDataHeader(24, 0)
108 ]; 113 ];
109 network_error_mojom.NetworkError result = null; 114 network_error_mojom.NetworkError result = null;
110 List<net_address_mojom.NetAddress> addresses = null; 115 List<net_address_mojom.NetAddress> addresses = null;
111 116
112 HostResolverGetHostAddressesResponseParams() : super(kVersions.last.size); 117 HostResolverGetHostAddressesResponseParams() : super(kVersions.last.size);
113 118
119 HostResolverGetHostAddressesResponseParams.init(
120 network_error_mojom.NetworkError this.result,
121 List<net_address_mojom.NetAddress> this.addresses
122 ) : super(kVersions.last.size);
123
114 static HostResolverGetHostAddressesResponseParams deserialize(bindings.Message message) { 124 static HostResolverGetHostAddressesResponseParams deserialize(bindings.Message message) {
115 var decoder = new bindings.Decoder(message); 125 var decoder = new bindings.Decoder(message);
116 var result = decode(decoder); 126 var result = decode(decoder);
117 if (decoder.excessHandles != null) { 127 if (decoder.excessHandles != null) {
118 decoder.excessHandles.forEach((h) => h.close()); 128 decoder.excessHandles.forEach((h) => h.close());
119 } 129 }
120 return result; 130 return result;
121 } 131 }
122 132
123 static HostResolverGetHostAddressesResponseParams decode(bindings.Decoder deco der0) { 133 static HostResolverGetHostAddressesResponseParams decode(bindings.Decoder deco der0) {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 Map map = new Map(); 212 Map map = new Map();
203 map["result"] = result; 213 map["result"] = result;
204 map["addresses"] = addresses; 214 map["addresses"] = addresses;
205 return map; 215 return map;
206 } 216 }
207 } 217 }
208 218
209 const int _hostResolverMethodGetHostAddressesName = 0; 219 const int _hostResolverMethodGetHostAddressesName = 0;
210 220
211 class _HostResolverServiceDescription implements service_describer.ServiceDescri ption { 221 class _HostResolverServiceDescription implements service_describer.ServiceDescri ption {
212 dynamic getTopLevelInterface([Function responseFactory]) => 222 void getTopLevelInterface(Function responder) {
213 responseFactory(null); 223 responder(null);
224 }
214 225
215 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => 226 void getTypeDefinition(String typeKey, Function responder) {
216 responseFactory(null); 227 responder(null);
228 }
217 229
218 dynamic getAllTypeDefinitions([Function responseFactory]) => 230 void getAllTypeDefinitions(Function responder) {
219 responseFactory(null); 231 responder(null);
232 }
220 } 233 }
221 234
222 abstract class HostResolver { 235 abstract class HostResolver {
223 static const String serviceName = null; 236 static const String serviceName = null;
224 237
225 static service_describer.ServiceDescription _cachedServiceDescription; 238 static service_describer.ServiceDescription _cachedServiceDescription;
226 static service_describer.ServiceDescription get serviceDescription { 239 static service_describer.ServiceDescription get serviceDescription {
227 if (_cachedServiceDescription == null) { 240 if (_cachedServiceDescription == null) {
228 _cachedServiceDescription = new _HostResolverServiceDescription(); 241 _cachedServiceDescription = new _HostResolverServiceDescription();
229 } 242 }
230 return _cachedServiceDescription; 243 return _cachedServiceDescription;
231 } 244 }
232 245
233 static HostResolverProxy connectToService( 246 static HostResolverProxy connectToService(
234 bindings.ServiceConnector s, String url, [String serviceName]) { 247 bindings.ServiceConnector s, String url, [String serviceName]) {
235 HostResolverProxy p = new HostResolverProxy.unbound(); 248 HostResolverProxy p = new HostResolverProxy.unbound();
236 String name = serviceName ?? HostResolver.serviceName; 249 String name = serviceName ?? HostResolver.serviceName;
237 if ((name == null) || name.isEmpty) { 250 if ((name == null) || name.isEmpty) {
238 throw new core.MojoApiError( 251 throw new core.MojoApiError(
239 "If an interface has no ServiceName, then one must be provided."); 252 "If an interface has no ServiceName, then one must be provided.");
240 } 253 }
241 s.connectToService(url, p, name); 254 s.connectToService(url, p, name);
242 return p; 255 return p;
243 } 256 }
244 dynamic getHostAddresses(String host,net_address_mojom.NetAddressFamily family ,[Function responseFactory = null]); 257 void getHostAddresses(String host,net_address_mojom.NetAddressFamily family,vo id callback(network_error_mojom.NetworkError result, List<net_address_mojom.NetA ddress> addresses));
245 } 258 }
246 259
247 abstract class HostResolverInterface 260 abstract class HostResolverInterface
248 implements bindings.MojoInterface<HostResolver>, 261 implements bindings.MojoInterface<HostResolver>,
249 HostResolver { 262 HostResolver {
250 factory HostResolverInterface([HostResolver impl]) => 263 factory HostResolverInterface([HostResolver impl]) =>
251 new HostResolverStub.unbound(impl); 264 new HostResolverStub.unbound(impl);
252 265
253 factory HostResolverInterface.fromEndpoint( 266 factory HostResolverInterface.fromEndpoint(
254 core.MojoMessagePipeEndpoint endpoint, 267 core.MojoMessagePipeEndpoint endpoint,
(...skipping 29 matching lines...) Expand all
284 297
285 void handleResponse(bindings.ServiceMessage message) { 298 void handleResponse(bindings.ServiceMessage message) {
286 switch (message.header.type) { 299 switch (message.header.type) {
287 case _hostResolverMethodGetHostAddressesName: 300 case _hostResolverMethodGetHostAddressesName:
288 var r = HostResolverGetHostAddressesResponseParams.deserialize( 301 var r = HostResolverGetHostAddressesResponseParams.deserialize(
289 message.payload); 302 message.payload);
290 if (!message.header.hasRequestId) { 303 if (!message.header.hasRequestId) {
291 proxyError("Expected a message with a valid request Id."); 304 proxyError("Expected a message with a valid request Id.");
292 return; 305 return;
293 } 306 }
294 Completer c = completerMap[message.header.requestId]; 307 Function callback = callbackMap[message.header.requestId];
295 if (c == null) { 308 if (callback == null) {
296 proxyError( 309 proxyError(
297 "Message had unknown request Id: ${message.header.requestId}"); 310 "Message had unknown request Id: ${message.header.requestId}");
298 return; 311 return;
299 } 312 }
300 completerMap.remove(message.header.requestId); 313 callbackMap.remove(message.header.requestId);
301 if (c.isCompleted) { 314 callback(r.result , r.addresses );
302 proxyError("Response completer already completed");
303 return;
304 }
305 c.complete(r);
306 break; 315 break;
307 default: 316 default:
308 proxyError("Unexpected message type: ${message.header.type}"); 317 proxyError("Unexpected message type: ${message.header.type}");
309 close(immediate: true); 318 close(immediate: true);
310 break; 319 break;
311 } 320 }
312 } 321 }
313 322
314 @override 323 @override
315 String toString() { 324 String toString() {
(...skipping 24 matching lines...) Expand all
340 return newMockedProxy; 349 return newMockedProxy;
341 } 350 }
342 351
343 static HostResolverProxy newFromEndpoint( 352 static HostResolverProxy newFromEndpoint(
344 core.MojoMessagePipeEndpoint endpoint) { 353 core.MojoMessagePipeEndpoint endpoint) {
345 assert(endpoint.setDescription("For HostResolverProxy")); 354 assert(endpoint.setDescription("For HostResolverProxy"));
346 return new HostResolverProxy.fromEndpoint(endpoint); 355 return new HostResolverProxy.fromEndpoint(endpoint);
347 } 356 }
348 357
349 358
350 dynamic getHostAddresses(String host,net_address_mojom.NetAddressFamily family ,[Function responseFactory = null]) { 359 void getHostAddresses(String host,net_address_mojom.NetAddressFamily family,vo id callback(network_error_mojom.NetworkError result, List<net_address_mojom.NetA ddress> addresses)) {
351 if (impl != null) { 360 if (impl != null) {
352 return new Future(() => impl.getHostAddresses(host,family,_HostResolverStu bControl._hostResolverGetHostAddressesResponseParamsFactory)); 361 impl.getHostAddresses(host,family,callback);
362 return;
353 } 363 }
354 var params = new _HostResolverGetHostAddressesParams(); 364 var params = new _HostResolverGetHostAddressesParams();
355 params.host = host; 365 params.host = host;
356 params.family = family; 366 params.family = family;
357 return ctrl.sendMessageWithRequestId( 367 ctrl.sendMessageWithRequestId(
358 params, 368 params,
359 _hostResolverMethodGetHostAddressesName, 369 _hostResolverMethodGetHostAddressesName,
360 -1, 370 -1,
361 bindings.MessageHeader.kMessageExpectsResponse); 371 bindings.MessageHeader.kMessageExpectsResponse,
372 callback);
362 } 373 }
363 } 374 }
364 375
365 class _HostResolverStubControl 376 class _HostResolverStubControl
366 extends bindings.StubMessageHandler 377 extends bindings.StubMessageHandler
367 implements bindings.StubControl<HostResolver> { 378 implements bindings.StubControl<HostResolver> {
368 HostResolver _impl; 379 HostResolver _impl;
369 380
370 _HostResolverStubControl.fromEndpoint( 381 _HostResolverStubControl.fromEndpoint(
371 core.MojoMessagePipeEndpoint endpoint, [HostResolver impl]) 382 core.MojoMessagePipeEndpoint endpoint, [HostResolver impl])
372 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 383 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
373 _impl = impl; 384 _impl = impl;
374 } 385 }
375 386
376 _HostResolverStubControl.fromHandle( 387 _HostResolverStubControl.fromHandle(
377 core.MojoHandle handle, [HostResolver impl]) 388 core.MojoHandle handle, [HostResolver impl])
378 : super.fromHandle(handle, autoBegin: impl != null) { 389 : super.fromHandle(handle, autoBegin: impl != null) {
379 _impl = impl; 390 _impl = impl;
380 } 391 }
381 392
382 _HostResolverStubControl.unbound([this._impl]) : super.unbound(); 393 _HostResolverStubControl.unbound([this._impl]) : super.unbound();
383 394
384 String get serviceName => HostResolver.serviceName; 395 String get serviceName => HostResolver.serviceName;
385 396
386 397
387 static HostResolverGetHostAddressesResponseParams _hostResolverGetHostAddresse sResponseParamsFactory(network_error_mojom.NetworkError result, List<net_address _mojom.NetAddress> addresses) { 398 Function _hostResolverGetHostAddressesResponseParamsResponder(
388 var result = new HostResolverGetHostAddressesResponseParams(); 399 int requestId) {
389 result.result = result; 400 return (network_error_mojom.NetworkError result, List<net_address_mojom.NetAdd ress> addresses) {
390 result.addresses = addresses; 401 var result = new HostResolverGetHostAddressesResponseParams();
391 return result; 402 result.result = result;
403 result.addresses = addresses;
404 sendResponse(buildResponseWithId(
405 result,
406 _hostResolverMethodGetHostAddressesName,
407 requestId,
408 bindings.MessageHeader.kMessageIsResponse));
409 };
392 } 410 }
393 411
394 dynamic handleMessage(bindings.ServiceMessage message) { 412 void handleMessage(bindings.ServiceMessage message) {
395 if (bindings.ControlMessageHandler.isControlMessage(message)) { 413 if (bindings.ControlMessageHandler.isControlMessage(message)) {
396 return bindings.ControlMessageHandler.handleMessage(this, 414 bindings.ControlMessageHandler.handleMessage(
397 0, 415 this, 0, message);
398 message); 416 return;
399 } 417 }
400 if (_impl == null) { 418 if (_impl == null) {
401 throw new core.MojoApiError("$this has no implementation set"); 419 throw new core.MojoApiError("$this has no implementation set");
402 } 420 }
403 switch (message.header.type) { 421 switch (message.header.type) {
404 case _hostResolverMethodGetHostAddressesName: 422 case _hostResolverMethodGetHostAddressesName:
405 var params = _HostResolverGetHostAddressesParams.deserialize( 423 var params = _HostResolverGetHostAddressesParams.deserialize(
406 message.payload); 424 message.payload);
407 var response = _impl.getHostAddresses(params.host,params.family,_hostRes olverGetHostAddressesResponseParamsFactory); 425 _impl.getHostAddresses(params.host, params.family, _hostResolverGetHostA ddressesResponseParamsResponder(message.header.requestId));
408 if (response is Future) {
409 return response.then((response) {
410 if (response != null) {
411 return buildResponseWithId(
412 response,
413 _hostResolverMethodGetHostAddressesName,
414 message.header.requestId,
415 bindings.MessageHeader.kMessageIsResponse);
416 }
417 });
418 } else if (response != null) {
419 return buildResponseWithId(
420 response,
421 _hostResolverMethodGetHostAddressesName,
422 message.header.requestId,
423 bindings.MessageHeader.kMessageIsResponse);
424 }
425 break; 426 break;
426 default: 427 default:
427 throw new bindings.MojoCodecError("Unexpected message name"); 428 throw new bindings.MojoCodecError("Unexpected message name");
428 break; 429 break;
429 } 430 }
430 return null;
431 } 431 }
432 432
433 HostResolver get impl => _impl; 433 HostResolver get impl => _impl;
434 set impl(HostResolver d) { 434 set impl(HostResolver d) {
435 if (d == null) { 435 if (d == null) {
436 throw new core.MojoApiError("$this: Cannot set a null implementation"); 436 throw new core.MojoApiError("$this: Cannot set a null implementation");
437 } 437 }
438 if (isBound && (_impl == null)) { 438 if (isBound && (_impl == null)) {
439 beginHandlingEvents(); 439 beginHandlingEvents();
440 } 440 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 core.MojoHandle handle, [HostResolver impl]) 474 core.MojoHandle handle, [HostResolver impl])
475 : super(new _HostResolverStubControl.fromHandle(handle, impl)); 475 : super(new _HostResolverStubControl.fromHandle(handle, impl));
476 476
477 static HostResolverStub newFromEndpoint( 477 static HostResolverStub newFromEndpoint(
478 core.MojoMessagePipeEndpoint endpoint) { 478 core.MojoMessagePipeEndpoint endpoint) {
479 assert(endpoint.setDescription("For HostResolverStub")); 479 assert(endpoint.setDescription("For HostResolverStub"));
480 return new HostResolverStub.fromEndpoint(endpoint); 480 return new HostResolverStub.fromEndpoint(endpoint);
481 } 481 }
482 482
483 483
484 dynamic getHostAddresses(String host,net_address_mojom.NetAddressFamily family ,[Function responseFactory = null]) { 484 void getHostAddresses(String host,net_address_mojom.NetAddressFamily family,vo id callback(network_error_mojom.NetworkError result, List<net_address_mojom.NetA ddress> addresses)) {
485 return impl.getHostAddresses(host,family,responseFactory); 485 return impl.getHostAddresses(host,family,callback);
486 } 486 }
487 } 487 }
488 488
489 489
490 490
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698