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

Unified Diff: mojo/public/dart/src/application.dart

Issue 1132063007: Rationalize Dart mojo and sky package structure (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/dart/rules.gni ('k') | mojo/public/dart/src/application_connection.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/dart/src/application.dart
diff --git a/mojo/public/dart/src/application.dart b/mojo/public/dart/src/application.dart
deleted file mode 100644
index f6ee4735bf21fe81e16121e1016ccc958c7daf8a..0000000000000000000000000000000000000000
--- a/mojo/public/dart/src/application.dart
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-part of application;
-
-class _ApplicationImpl implements application_mojom.Application {
- application_mojom.ApplicationStub _stub;
- shell_mojom.ShellProxy shell;
- Application _application;
-
- _ApplicationImpl(
- Application application, core.MojoMessagePipeEndpoint endpoint) {
- _application = application;
- _stub = new application_mojom.ApplicationStub.fromEndpoint(endpoint, this);
- _stub.onError = close;
- }
-
- _ApplicationImpl.fromHandle(Application application, core.MojoHandle handle) {
- _application = application;
- _stub = new application_mojom.ApplicationStub.fromHandle(handle, this);
- _stub.onError = close;
- }
-
- set onError(core.ErrorHandler f) {
- _stub.onError = f;
- }
-
- void initialize(
- bindings.ProxyBase shellProxy, List<String> args, String url) {
- assert(shell == null);
- shell = shellProxy;
- _application.initialize(args, url);
- }
-
- @override
- void acceptConnection(String requestorUrl, ServiceProviderStub services,
- bindings.ProxyBase exposedServices, String resolvedUrl) => _application
- ._acceptConnection(requestorUrl, services, exposedServices, resolvedUrl);
-
- @override
- void requestQuit() => _application._requestQuitAndClose();
-
- Future close({bool immediate: false}) {
- if (shell != null) {
- shell.close(immediate: immediate);
- }
- return _stub.close(immediate: immediate);
- }
-}
-
-// TODO(zra): Better documentation and examples.
-// To implement, do the following:
-// - Optionally override initialize() to process command-line args.
-// - Optionally override acceptConnection() if services are to be provided.
-// - Optionally override close() to clean up application resources.
-abstract class Application {
- _ApplicationImpl _applicationImpl;
- List<ApplicationConnection> _applicationConnections;
- Function onError;
-
- Application(core.MojoMessagePipeEndpoint endpoint) {
- _applicationConnections = [];
- _applicationImpl = new _ApplicationImpl(this, endpoint);
- _applicationImpl.onError = _errorHandler;
- }
-
- Application.fromHandle(core.MojoHandle appHandle) {
- _applicationConnections = [];
- _applicationImpl = new _ApplicationImpl.fromHandle(this, appHandle);
- _applicationImpl.onError = _errorHandler;
- }
-
- void initialize(List<String> args, String url) {}
-
- // TODO(skydart): This is a temporary fix to allow sky application to consume
- // mojo services. Do not use for any other purpose.
- void initializeFromShellProxy(
- shell_mojom.ShellProxy shellProxy, List<String> args, String url) =>
- _applicationImpl.initialize(shellProxy, args, url);
-
- // Returns a connection to the app at |url|.
- ApplicationConnection connectToApplication(String url) {
- var proxy = new ServiceProviderProxy.unbound();
- var stub = new ServiceProviderStub.unbound();
- _applicationImpl.shell.ptr.connectToApplication(url, proxy, stub);
- var connection = new ApplicationConnection(stub, proxy);
- _applicationConnections.add(connection);
- return connection;
- }
-
- void connectToService(String url, bindings.ProxyBase proxy) {
- connectToApplication(url).requestService(proxy);
- }
-
- void requestQuit() {}
-
- void _requestQuitAndClose() {
- requestQuit();
- close();
- }
-
- void _errorHandler() {
- close().then((_) {
- if (onError != null) onError();
- });
- }
-
- Future close({bool immediate: false}) {
- assert(_applicationImpl != null);
- _applicationConnections.forEach((c) => c.close(immediate: immediate));
- _applicationConnections.clear();
- return _applicationImpl.close(immediate: immediate);
- }
-
- // This method closes all the application connections. Used during apptesting.
- void resetConnections() {
- assert(_applicationImpl != null);
- _applicationConnections.forEach((c) => c.close());
- _applicationConnections.clear();
- }
-
- void _acceptConnection(String requestorUrl, ServiceProviderStub services,
- ServiceProviderProxy exposedServices, String resolvedUrl) {
- var connection = new ApplicationConnection(services, exposedServices);
- _applicationConnections.add(connection);
- acceptConnection(requestorUrl, resolvedUrl, connection);
- }
-
- // Override this method to provide services on |connection|.
- void acceptConnection(String requestorUrl, String resolvedUrl,
- ApplicationConnection connection) {}
-}
« no previous file with comments | « mojo/public/dart/rules.gni ('k') | mojo/public/dart/src/application_connection.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698