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

Side by Side Diff: services/dart/test/echo/main.dart

Issue 968243003: Dart: Adds optional named arguments for creating bindings. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Format Created 5 years, 9 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 import 'dart:async'; 5 import 'dart:async';
6 import 'mojo:application'; 6 import 'mojo:application';
7 import 'mojo:bindings'; 7 import 'mojo:bindings';
8 import 'mojo:core'; 8 import 'mojo:core';
9 9
10 import 'package:services/dart/test/echo_service.mojom.dart'; 10 import 'package:services/dart/test/echo_service.mojom.dart';
11 11
12 class EchoServiceImpl implements EchoService { 12 class EchoServiceImpl implements EchoService {
13 EchoServiceStub _stub; 13 EchoServiceStub _stub;
14 Application _application; 14 Application _application;
15 15
16 EchoServiceImpl(Application application, MojoMessagePipeEndpoint endpoint) 16 EchoServiceImpl(Application application, MojoMessagePipeEndpoint endpoint)
17 : _application = application { 17 : _application = application {
18 _stub = new EchoServiceStub.fromEndpoint(endpoint) 18 _stub = new EchoServiceStub.fromEndpoint(endpoint, impl: this);
19 ..delegate = this
20 ..listen();
21 } 19 }
22 20
23 echoString(String value, Function responseFactory) { 21 echoString(String value, Function responseFactory) {
24 if (value == "quit") { 22 if (value == "quit") {
25 _stub.close(); 23 _stub.close();
26 _application.close();
27 } 24 }
28 return new Future.value(responseFactory(value)); 25 return new Future.value(responseFactory(value));
29 } 26 }
30 } 27 }
31 28
32 class EchoApplication extends Application { 29 class EchoApplication extends Application {
33 EchoApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); 30 EchoApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle);
34 31
35 @override 32 @override
36 void acceptConnection(String requestorUrl, String resolvedUrl, 33 void acceptConnection(String requestorUrl, String resolvedUrl,
37 ApplicationConnection connection) { 34 ApplicationConnection connection) {
38 connection.provideService(EchoServiceName, (endpoint) => 35 connection.provideService(
39 new EchoServiceImpl(this, endpoint)); 36 EchoServiceName,
37 (endpoint) => new EchoServiceImpl(this, endpoint));
40 connection.listen(); 38 connection.listen();
41 } 39 }
42 } 40 }
43 41
44 main(List args) { 42 main(List args) {
45 MojoHandle appHandle = new MojoHandle(args[0]); 43 MojoHandle appHandle = new MojoHandle(args[0]);
46 String url = args[1]; 44 String url = args[1];
47 new EchoApplication.fromHandle(appHandle); 45 new EchoApplication.fromHandle(appHandle);
48 } 46 }
OLDNEW
« no previous file with comments | « mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl ('k') | services/dart/test/pingpong/main.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698