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

Side by Side Diff: mojo/dart/packages/mojo_services/lib/mojo/device_info.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 device_info_mojom; 5 library device_info_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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 dynamic getAllTypeDefinitions([Function responseFactory]) => 242 dynamic getAllTypeDefinitions([Function responseFactory]) =>
243 responseFactory(null); 243 responseFactory(null);
244 } 244 }
245 245
246 abstract class DeviceInfo { 246 abstract class DeviceInfo {
247 static const String serviceName = "mojo::DeviceInfo"; 247 static const String serviceName = "mojo::DeviceInfo";
248 dynamic getDeviceType([Function responseFactory = null]); 248 dynamic getDeviceType([Function responseFactory = null]);
249 } 249 }
250 250
251 251
252 class _DeviceInfoProxyImpl extends bindings.Proxy { 252 class _DeviceInfoProxyControl extends bindings.ProxyMessageHandler
253 _DeviceInfoProxyImpl.fromEndpoint( 253 implements bindings.ProxyControl {
254 _DeviceInfoProxyControl.fromEndpoint(
254 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); 255 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
255 256
256 _DeviceInfoProxyImpl.fromHandle(core.MojoHandle handle) : 257 _DeviceInfoProxyControl.fromHandle(
257 super.fromHandle(handle); 258 core.MojoHandle handle) : super.fromHandle(handle);
258 259
259 _DeviceInfoProxyImpl.unbound() : super.unbound(); 260 _DeviceInfoProxyControl.unbound() : super.unbound();
260
261 static _DeviceInfoProxyImpl newFromEndpoint(
262 core.MojoMessagePipeEndpoint endpoint) {
263 assert(endpoint.setDescription("For _DeviceInfoProxyImpl"));
264 return new _DeviceInfoProxyImpl.fromEndpoint(endpoint);
265 }
266 261
267 service_describer.ServiceDescription get serviceDescription => 262 service_describer.ServiceDescription get serviceDescription =>
268 new _DeviceInfoServiceDescription(); 263 new _DeviceInfoServiceDescription();
269 264
265 String get serviceName => DeviceInfo.serviceName;
266
267 @override
270 void handleResponse(bindings.ServiceMessage message) { 268 void handleResponse(bindings.ServiceMessage message) {
271 switch (message.header.type) { 269 switch (message.header.type) {
272 case _deviceInfoMethodGetDeviceTypeName: 270 case _deviceInfoMethodGetDeviceTypeName:
273 var r = DeviceInfoGetDeviceTypeResponseParams.deserialize( 271 var r = DeviceInfoGetDeviceTypeResponseParams.deserialize(
274 message.payload); 272 message.payload);
275 if (!message.header.hasRequestId) { 273 if (!message.header.hasRequestId) {
276 proxyError("Expected a message with a valid request Id."); 274 proxyError("Expected a message with a valid request Id.");
277 return; 275 return;
278 } 276 }
279 Completer c = completerMap[message.header.requestId]; 277 Completer c = completerMap[message.header.requestId];
280 if (c == null) { 278 if (c == null) {
281 proxyError( 279 proxyError(
282 "Message had unknown request Id: ${message.header.requestId}"); 280 "Message had unknown request Id: ${message.header.requestId}");
283 return; 281 return;
284 } 282 }
285 completerMap.remove(message.header.requestId); 283 completerMap.remove(message.header.requestId);
286 if (c.isCompleted) { 284 if (c.isCompleted) {
287 proxyError("Response completer already completed"); 285 proxyError("Response completer already completed");
288 return; 286 return;
289 } 287 }
290 c.complete(r); 288 c.complete(r);
291 break; 289 break;
292 default: 290 default:
293 proxyError("Unexpected message type: ${message.header.type}"); 291 proxyError("Unexpected message type: ${message.header.type}");
294 close(immediate: true); 292 close(immediate: true);
295 break; 293 break;
296 } 294 }
297 } 295 }
298 296
297 @override
299 String toString() { 298 String toString() {
300 var superString = super.toString(); 299 var superString = super.toString();
301 return "_DeviceInfoProxyImpl($superString)"; 300 return "_DeviceInfoProxyControl($superString)";
302 } 301 }
303 } 302 }
304 303
305 304
306 class _DeviceInfoProxyCalls implements DeviceInfo { 305 class DeviceInfoProxy extends bindings.Proxy
307 _DeviceInfoProxyImpl _proxyImpl; 306 implements DeviceInfo {
307 DeviceInfoProxy.fromEndpoint(
308 core.MojoMessagePipeEndpoint endpoint)
309 : super(new _DeviceInfoProxyControl.fromEndpoint(endpoint));
308 310
309 _DeviceInfoProxyCalls(this._proxyImpl); 311 DeviceInfoProxy.fromHandle(core.MojoHandle handle)
310 dynamic getDeviceType([Function responseFactory = null]) { 312 : super(new _DeviceInfoProxyControl.fromHandle(handle));
311 var params = new _DeviceInfoGetDeviceTypeParams();
312 return _proxyImpl.sendMessageWithRequestId(
313 params,
314 _deviceInfoMethodGetDeviceTypeName,
315 -1,
316 bindings.MessageHeader.kMessageExpectsResponse);
317 }
318 }
319 313
314 DeviceInfoProxy.unbound()
315 : super(new _DeviceInfoProxyControl.unbound());
320 316
321 class DeviceInfoProxy implements bindings.ProxyBase { 317 static DeviceInfoProxy newFromEndpoint(
322 final bindings.Proxy impl; 318 core.MojoMessagePipeEndpoint endpoint) {
323 DeviceInfo ptr; 319 assert(endpoint.setDescription("For DeviceInfoProxy"));
324 320 return new DeviceInfoProxy.fromEndpoint(endpoint);
325 DeviceInfoProxy(_DeviceInfoProxyImpl proxyImpl) :
326 impl = proxyImpl,
327 ptr = new _DeviceInfoProxyCalls(proxyImpl);
328
329 DeviceInfoProxy.fromEndpoint(
330 core.MojoMessagePipeEndpoint endpoint) :
331 impl = new _DeviceInfoProxyImpl.fromEndpoint(endpoint) {
332 ptr = new _DeviceInfoProxyCalls(impl);
333 }
334
335 DeviceInfoProxy.fromHandle(core.MojoHandle handle) :
336 impl = new _DeviceInfoProxyImpl.fromHandle(handle) {
337 ptr = new _DeviceInfoProxyCalls(impl);
338 }
339
340 DeviceInfoProxy.unbound() :
341 impl = new _DeviceInfoProxyImpl.unbound() {
342 ptr = new _DeviceInfoProxyCalls(impl);
343 } 321 }
344 322
345 factory DeviceInfoProxy.connectToService( 323 factory DeviceInfoProxy.connectToService(
346 bindings.ServiceConnector s, String url, [String serviceName]) { 324 bindings.ServiceConnector s, String url, [String serviceName]) {
347 DeviceInfoProxy p = new DeviceInfoProxy.unbound(); 325 DeviceInfoProxy p = new DeviceInfoProxy.unbound();
348 s.connectToService(url, p, serviceName); 326 s.connectToService(url, p, serviceName);
349 return p; 327 return p;
350 } 328 }
351 329
352 static DeviceInfoProxy newFromEndpoint(
353 core.MojoMessagePipeEndpoint endpoint) {
354 assert(endpoint.setDescription("For DeviceInfoProxy"));
355 return new DeviceInfoProxy.fromEndpoint(endpoint);
356 }
357 330
358 String get serviceName => DeviceInfo.serviceName; 331 dynamic getDeviceType([Function responseFactory = null]) {
359 332 var params = new _DeviceInfoGetDeviceTypeParams();
360 Future close({bool immediate: false}) => impl.close(immediate: immediate); 333 return ctrl.sendMessageWithRequestId(
361 334 params,
362 Future responseOrError(Future f) => impl.responseOrError(f); 335 _deviceInfoMethodGetDeviceTypeName,
363 336 -1,
364 Future get errorFuture => impl.errorFuture; 337 bindings.MessageHeader.kMessageExpectsResponse);
365
366 int get version => impl.version;
367
368 Future<int> queryVersion() => impl.queryVersion();
369
370 void requireVersion(int requiredVersion) {
371 impl.requireVersion(requiredVersion);
372 }
373
374 String toString() {
375 return "DeviceInfoProxy($impl)";
376 } 338 }
377 } 339 }
378 340
379 341
380 class DeviceInfoStub extends bindings.Stub { 342 class DeviceInfoStub extends bindings.Stub {
381 DeviceInfo _impl; 343 DeviceInfo _impl;
382 344
383 DeviceInfoStub.fromEndpoint( 345 DeviceInfoStub.fromEndpoint(
384 core.MojoMessagePipeEndpoint endpoint, [DeviceInfo impl]) 346 core.MojoMessagePipeEndpoint endpoint, [DeviceInfo impl])
385 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 347 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 static service_describer.ServiceDescription get serviceDescription { 436 static service_describer.ServiceDescription get serviceDescription {
475 if (_cachedServiceDescription == null) { 437 if (_cachedServiceDescription == null) {
476 _cachedServiceDescription = new _DeviceInfoServiceDescription(); 438 _cachedServiceDescription = new _DeviceInfoServiceDescription();
477 } 439 }
478 return _cachedServiceDescription; 440 return _cachedServiceDescription;
479 } 441 }
480 } 442 }
481 443
482 444
483 445
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698