Index: mojo/public/js/connection.js |
diff --git a/mojo/public/js/connection.js b/mojo/public/js/connection.js |
deleted file mode 100644 |
index 62e8798fb2d736fea2d68e075aba818ff6df92ca..0000000000000000000000000000000000000000 |
--- a/mojo/public/js/connection.js |
+++ /dev/null |
@@ -1,155 +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. |
- |
-define("mojo/public/js/connection", [ |
- "mojo/public/js/bindings", |
- "mojo/public/js/connector", |
- "mojo/public/js/core", |
- "mojo/public/js/router", |
-], function(bindings, connector, core, router) { |
- |
- var Router = router.Router; |
- var EmptyProxy = bindings.EmptyProxy; |
- var EmptyStub = bindings.EmptyStub; |
- var ProxyBindings = bindings.ProxyBindings; |
- var StubBindings = bindings.StubBindings; |
- var TestConnector = connector.TestConnector; |
- var TestRouter = router.TestRouter; |
- |
- // TODO(hansmuller): the proxy receiver_ property should be receiver$ |
- |
- function BaseConnection(localStub, remoteProxy, router) { |
- this.router_ = router; |
- this.local = localStub; |
- this.remote = remoteProxy; |
- |
- this.router_.setIncomingReceiver(localStub); |
- if (this.remote) |
- this.remote.receiver_ = router; |
- |
- // Validate incoming messages: remote responses and local requests. |
- var validateRequest = localStub && localStub.validator; |
- var validateResponse = remoteProxy && remoteProxy.validator; |
- var payloadValidators = []; |
- if (validateRequest) |
- payloadValidators.push(validateRequest); |
- if (validateResponse) |
- payloadValidators.push(validateResponse); |
- this.router_.setPayloadValidators(payloadValidators); |
- } |
- |
- BaseConnection.prototype.close = function() { |
- this.router_.close(); |
- this.router_ = null; |
- this.local = null; |
- this.remote = null; |
- }; |
- |
- BaseConnection.prototype.encounteredError = function() { |
- return this.router_.encounteredError(); |
- }; |
- |
- function Connection( |
- handle, localFactory, remoteFactory, routerFactory, connectorFactory) { |
- var routerClass = routerFactory || Router; |
- var router = new routerClass(handle, connectorFactory); |
- var remoteProxy = remoteFactory && new remoteFactory(router); |
- var localStub = localFactory && new localFactory(remoteProxy); |
- BaseConnection.call(this, localStub, remoteProxy, router); |
- } |
- |
- Connection.prototype = Object.create(BaseConnection.prototype); |
- |
- // The TestConnection subclass is only intended to be used in unit tests. |
- function TestConnection(handle, localFactory, remoteFactory) { |
- Connection.call(this, |
- handle, |
- localFactory, |
- remoteFactory, |
- TestRouter, |
- TestConnector); |
- } |
- |
- TestConnection.prototype = Object.create(Connection.prototype); |
- |
- // Return a handle for a message pipe that's connected to a proxy |
- // for remoteInterface. Used by generated code for outgoing interface& |
- // (request) parameters: the caller is given the generated proxy via |
- // |proxyCallback(proxy)| and the generated code sends the handle |
- // returned by this function. |
- function bindProxy(proxyCallback, remoteInterface) { |
- var messagePipe = core.createMessagePipe(); |
- if (messagePipe.result != core.RESULT_OK) |
- throw new Error("createMessagePipe failed " + messagePipe.result); |
- |
- var proxy = new remoteInterface.proxyClass; |
- var router = new Router(messagePipe.handle0); |
- var connection = new BaseConnection(undefined, proxy, router); |
- ProxyBindings(proxy).connection = connection; |
- if (proxyCallback) |
- proxyCallback(proxy); |
- |
- return messagePipe.handle1; |
- } |
- |
- // Return a handle for a message pipe that's connected to a stub for |
- // localInterface. Used by generated code for outgoing interface |
- // parameters: the caller is given the generated stub via |
- // |stubCallback(stub)| and the generated code sends the handle |
- // returned by this function. The caller is responsible for managing |
- // the lifetime of the stub and for setting it's implementation |
- // delegate with: StubBindings(stub).delegate = myImpl; |
- function bindImpl(stubCallback, localInterface) { |
- var messagePipe = core.createMessagePipe(); |
- if (messagePipe.result != core.RESULT_OK) |
- throw new Error("createMessagePipe failed " + messagePipe.result); |
- |
- var stub = new localInterface.stubClass; |
- var router = new Router(messagePipe.handle0); |
- var connection = new BaseConnection(stub, undefined, router); |
- StubBindings(stub).connection = connection; |
- if (stubCallback) |
- stubCallback(stub); |
- |
- return messagePipe.handle1; |
- } |
- |
- // Return a remoteInterface proxy for handle. Used by generated code |
- // for converting incoming interface parameters to proxies. |
- function bindHandleToProxy(handle, remoteInterface) { |
- if (!core.isHandle(handle)) |
- throw new Error("Not a handle " + handle); |
- |
- var proxy = new remoteInterface.proxyClass; |
- var router = new Router(handle); |
- var connection = new BaseConnection(undefined, proxy, router); |
- ProxyBindings(proxy).connection = connection; |
- return proxy; |
- } |
- |
- // Return a localInterface stub for handle. Used by generated code |
- // for converting incoming interface& request parameters to localInterface |
- // stubs. The caller can specify the stub's implementation of localInterface |
- // like this: StubBindings(stub).delegate = myStubImpl. |
- function bindHandleToStub(handle, localInterface) { |
- if (!core.isHandle(handle)) |
- throw new Error("Not a handle " + handle); |
- |
- var stub = new localInterface.stubClass; |
- var router = new Router(handle); |
- var connection = new BaseConnection(stub, undefined, router); |
- StubBindings(stub).connection = connection; |
- return stub; |
- } |
- |
- var exports = {}; |
- exports.Connection = Connection; |
- exports.TestConnection = TestConnection; |
- |
- exports.bindProxy = bindProxy; |
- exports.bindImpl = bindImpl; |
- exports.bindHandleToProxy = bindHandleToProxy; |
- exports.bindHandleToStub = bindHandleToStub; |
- return exports; |
-}); |