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

Side by Side Diff: mojo/dart/packages/mojo/lib/mojo/application.mojom.dart

Issue 1964193002: Dart: Refactors Proxies (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Cleanup 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 application_mojom; 5 library application_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/service_provider.mojom.dart' as service_provider_mojom ; 10 import 'package:mojo/mojo/service_provider.mojom.dart' as service_provider_mojom ;
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 } 309 }
310 310
311 abstract class Application { 311 abstract class Application {
312 static const String serviceName = null; 312 static const String serviceName = null;
313 void initialize(Object shell, List<String> args, String url); 313 void initialize(Object shell, List<String> args, String url);
314 void acceptConnection(String requestorUrl, Object services, Object exposedServ ices, String resolvedUrl); 314 void acceptConnection(String requestorUrl, Object services, Object exposedServ ices, String resolvedUrl);
315 void requestQuit(); 315 void requestQuit();
316 } 316 }
317 317
318 318
319 class _ApplicationProxyImpl extends bindings.Proxy { 319 class _ApplicationProxyControl extends bindings.ProxyMessageHandler
320 _ApplicationProxyImpl.fromEndpoint( 320 implements bindings.ProxyControl {
321 _ApplicationProxyControl.fromEndpoint(
321 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); 322 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
322 323
323 _ApplicationProxyImpl.fromHandle(core.MojoHandle handle) : 324 _ApplicationProxyControl.fromHandle(
324 super.fromHandle(handle); 325 core.MojoHandle handle) : super.fromHandle(handle);
325 326
326 _ApplicationProxyImpl.unbound() : super.unbound(); 327 _ApplicationProxyControl.unbound() : super.unbound();
327
328 static _ApplicationProxyImpl newFromEndpoint(
329 core.MojoMessagePipeEndpoint endpoint) {
330 assert(endpoint.setDescription("For _ApplicationProxyImpl"));
331 return new _ApplicationProxyImpl.fromEndpoint(endpoint);
332 }
333 328
334 service_describer.ServiceDescription get serviceDescription => 329 service_describer.ServiceDescription get serviceDescription =>
335 new _ApplicationServiceDescription(); 330 new _ApplicationServiceDescription();
336 331
332 String get serviceName => Application.serviceName;
333
334 @override
337 void handleResponse(bindings.ServiceMessage message) { 335 void handleResponse(bindings.ServiceMessage message) {
338 switch (message.header.type) { 336 switch (message.header.type) {
339 default: 337 default:
340 proxyError("Unexpected message type: ${message.header.type}"); 338 proxyError("Unexpected message type: ${message.header.type}");
341 close(immediate: true); 339 close(immediate: true);
342 break; 340 break;
343 } 341 }
344 } 342 }
345 343
344 @override
346 String toString() { 345 String toString() {
347 var superString = super.toString(); 346 var superString = super.toString();
348 return "_ApplicationProxyImpl($superString)"; 347 return "_ApplicationProxyControl($superString)";
349 } 348 }
350 } 349 }
351 350
352 351
353 class _ApplicationProxyCalls implements Application { 352 class ApplicationProxy extends bindings.Proxy
354 _ApplicationProxyImpl _proxyImpl; 353 implements Application {
354 ApplicationProxy.fromEndpoint(
355 core.MojoMessagePipeEndpoint endpoint)
356 : super(new _ApplicationProxyControl.fromEndpoint(endpoint));
355 357
356 _ApplicationProxyCalls(this._proxyImpl); 358 ApplicationProxy.fromHandle(core.MojoHandle handle)
357 void initialize(Object shell, List<String> args, String url) { 359 : super(new _ApplicationProxyControl.fromHandle(handle));
358 if (!_proxyImpl.isBound) {
359 _proxyImpl.proxyError("The Proxy is closed.");
360 return;
361 }
362 var params = new _ApplicationInitializeParams();
363 params.shell = shell;
364 params.args = args;
365 params.url = url;
366 _proxyImpl.sendMessage(params, _applicationMethodInitializeName);
367 }
368 void acceptConnection(String requestorUrl, Object services, Object exposedSe rvices, String resolvedUrl) {
369 if (!_proxyImpl.isBound) {
370 _proxyImpl.proxyError("The Proxy is closed.");
371 return;
372 }
373 var params = new _ApplicationAcceptConnectionParams();
374 params.requestorUrl = requestorUrl;
375 params.services = services;
376 params.exposedServices = exposedServices;
377 params.resolvedUrl = resolvedUrl;
378 _proxyImpl.sendMessage(params, _applicationMethodAcceptConnectionName);
379 }
380 void requestQuit() {
381 if (!_proxyImpl.isBound) {
382 _proxyImpl.proxyError("The Proxy is closed.");
383 return;
384 }
385 var params = new _ApplicationRequestQuitParams();
386 _proxyImpl.sendMessage(params, _applicationMethodRequestQuitName);
387 }
388 }
389 360
361 ApplicationProxy.unbound()
362 : super(new _ApplicationProxyControl.unbound());
390 363
391 class ApplicationProxy implements bindings.ProxyBase { 364 static ApplicationProxy newFromEndpoint(
392 final bindings.Proxy impl; 365 core.MojoMessagePipeEndpoint endpoint) {
393 Application ptr; 366 assert(endpoint.setDescription("For ApplicationProxy"));
394 367 return new ApplicationProxy.fromEndpoint(endpoint);
395 ApplicationProxy(_ApplicationProxyImpl proxyImpl) :
396 impl = proxyImpl,
397 ptr = new _ApplicationProxyCalls(proxyImpl);
398
399 ApplicationProxy.fromEndpoint(
400 core.MojoMessagePipeEndpoint endpoint) :
401 impl = new _ApplicationProxyImpl.fromEndpoint(endpoint) {
402 ptr = new _ApplicationProxyCalls(impl);
403 }
404
405 ApplicationProxy.fromHandle(core.MojoHandle handle) :
406 impl = new _ApplicationProxyImpl.fromHandle(handle) {
407 ptr = new _ApplicationProxyCalls(impl);
408 }
409
410 ApplicationProxy.unbound() :
411 impl = new _ApplicationProxyImpl.unbound() {
412 ptr = new _ApplicationProxyCalls(impl);
413 } 368 }
414 369
415 factory ApplicationProxy.connectToService( 370 factory ApplicationProxy.connectToService(
416 bindings.ServiceConnector s, String url, [String serviceName]) { 371 bindings.ServiceConnector s, String url, [String serviceName]) {
417 ApplicationProxy p = new ApplicationProxy.unbound(); 372 ApplicationProxy p = new ApplicationProxy.unbound();
418 s.connectToService(url, p, serviceName); 373 s.connectToService(url, p, serviceName);
419 return p; 374 return p;
420 } 375 }
421 376
422 static ApplicationProxy newFromEndpoint( 377
423 core.MojoMessagePipeEndpoint endpoint) { 378 void initialize(Object shell, List<String> args, String url) {
424 assert(endpoint.setDescription("For ApplicationProxy")); 379 if (!ctrl.isBound) {
425 return new ApplicationProxy.fromEndpoint(endpoint); 380 ctrl.proxyError("The Proxy is closed.");
381 return;
382 }
383 var params = new _ApplicationInitializeParams();
384 params.shell = shell;
385 params.args = args;
386 params.url = url;
387 ctrl.sendMessage(params,
388 _applicationMethodInitializeName);
426 } 389 }
427 390 void acceptConnection(String requestorUrl, Object services, Object exposedServ ices, String resolvedUrl) {
428 String get serviceName => Application.serviceName; 391 if (!ctrl.isBound) {
429 392 ctrl.proxyError("The Proxy is closed.");
430 Future close({bool immediate: false}) => impl.close(immediate: immediate); 393 return;
431 394 }
432 Future responseOrError(Future f) => impl.responseOrError(f); 395 var params = new _ApplicationAcceptConnectionParams();
433 396 params.requestorUrl = requestorUrl;
434 Future get errorFuture => impl.errorFuture; 397 params.services = services;
435 398 params.exposedServices = exposedServices;
436 int get version => impl.version; 399 params.resolvedUrl = resolvedUrl;
437 400 ctrl.sendMessage(params,
438 Future<int> queryVersion() => impl.queryVersion(); 401 _applicationMethodAcceptConnectionName);
439
440 void requireVersion(int requiredVersion) {
441 impl.requireVersion(requiredVersion);
442 } 402 }
443 403 void requestQuit() {
444 String toString() { 404 if (!ctrl.isBound) {
445 return "ApplicationProxy($impl)"; 405 ctrl.proxyError("The Proxy is closed.");
406 return;
407 }
408 var params = new _ApplicationRequestQuitParams();
409 ctrl.sendMessage(params,
410 _applicationMethodRequestQuitName);
446 } 411 }
447 } 412 }
448 413
449 414
450 class ApplicationStub extends bindings.Stub { 415 class ApplicationStub extends bindings.Stub {
451 Application _impl; 416 Application _impl;
452 417
453 ApplicationStub.fromEndpoint( 418 ApplicationStub.fromEndpoint(
454 core.MojoMessagePipeEndpoint endpoint, [Application impl]) 419 core.MojoMessagePipeEndpoint endpoint, [Application impl])
455 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 420 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 static service_describer.ServiceDescription get serviceDescription { 497 static service_describer.ServiceDescription get serviceDescription {
533 if (_cachedServiceDescription == null) { 498 if (_cachedServiceDescription == null) {
534 _cachedServiceDescription = new _ApplicationServiceDescription(); 499 _cachedServiceDescription = new _ApplicationServiceDescription();
535 } 500 }
536 return _cachedServiceDescription; 501 return _cachedServiceDescription;
537 } 502 }
538 } 503 }
539 504
540 505
541 506
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698