Index: mojo/services/public/js/service-provider.js |
diff --git a/mojo/services/public/js/mojo.js b/mojo/services/public/js/service-provider.js |
similarity index 62% |
rename from mojo/services/public/js/mojo.js |
rename to mojo/services/public/js/service-provider.js |
index f6078337e9a2124f7ed8fa157e33119284f2262b..5ad7a44324404cd20260c70835779e83ace13bd7 100644 |
--- a/mojo/services/public/js/mojo.js |
+++ b/mojo/services/public/js/service-provider.js |
@@ -2,54 +2,11 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-define("mojo/services/public/js/mojo", [ |
+define("mojo/services/public/js/service-provider", [ |
"mojo/public/interfaces/application/service_provider.mojom", |
"mojo/public/js/connection", |
"mojo/public/js/core", |
- "services/js/bridge", |
-], function(service, connection, core, bridge) { |
- |
- function Shell() { |
- this.applications_ = new Map(); |
- } |
- |
- Shell.prototype.connectToApplication = function(url) { |
- var application = this.applications_.get(url); |
- if (application) |
- return application; |
- application = new ServiceProvider(bridge.connectToApplication(url)); |
- this.applications_.set(url, application); |
- return application; |
- }; |
- |
- Shell.prototype.connectToService = function (url, service, client) { |
- return this.connectToApplication(url).connectToService(service, client); |
- }; |
- |
- Shell.prototype.close = function() { |
- shell().applications_.forEach(function(application, url) { |
- application.close(); |
- }); |
- shell().applications_.clear(); |
- }; |
- |
- var shellValue = null; |
- |
- function shell() { |
- if (!shellValue) |
- shellValue = new Shell(); |
- return shellValue; |
- } |
- |
- var requestorValue = null; |
- |
- function requestor() { |
- if (!requestorValue) { |
- var handle = bridge.requestorMessagePipeHandle(); |
- requestorValue = handle && new ServiceProvider(handle); |
- } |
- return requestorValue; |
- } |
+], function(spModule, connectionModule, coreModule) { |
function connectToServiceImpl(serviceName, serviceHandle) { |
var provider = this.providers_.get(serviceName); |
@@ -58,7 +15,7 @@ define("mojo/services/public/js/mojo", [ |
return; |
} |
- var serviceConnection = new connection.Connection( |
+ var serviceConnection = new connectionModule.Connection( |
serviceHandle, |
provider.service.stubClass, |
provider.service.client && provider.service.client.proxyClass); |
@@ -77,10 +34,10 @@ define("mojo/services/public/js/mojo", [ |
this.pendingRequests_ = new Map(); |
this.connection_ = null; |
this.handle_ = messagePipeHandle; |
- this.connection_ = new connection.Connection( |
+ this.connection_ = new connectionModule.Connection( |
this.handle_, |
- service.ServiceProvider.client.stubClass, |
- service.ServiceProvider.proxyClass); |
+ spModule.ServiceProvider.client.stubClass, |
+ spModule.ServiceProvider.proxyClass); |
this.connection_.local.delegate$ = { |
connectToService: connectToServiceImpl.bind(this) |
}; |
@@ -111,11 +68,11 @@ define("mojo/services/public/js/mojo", [ |
if (serviceConnection) |
return serviceConnection.remote; |
- var pipe = core.createMessagePipe(); |
+ var pipe = coreModule.createMessagePipe(); |
this.connection_.remote.connectToService(service.name, pipe.handle1); |
var clientClass = client && service.client.stubClass; |
- var serviceConnection = |
- new connection.Connection(pipe.handle0, clientClass, service.proxyClass); |
+ var serviceConnection = new connectionModule.Connection( |
+ pipe.handle0, clientClass, service.proxyClass); |
if (serviceConnection.local) |
serviceConnection.local.delegate$ = client; |
@@ -145,25 +102,10 @@ define("mojo/services/public/js/mojo", [ |
this.pendingRequests_ = null; |
this.connection_ = null; |
this.handle_ = null; |
- |
- shell().applications_.forEach(function(application, url) { |
- if (application === this) |
- shell().applications_.delete(url); |
- }, this); |
} |
}; |
- function quit() { |
- if (requestorValue) |
- requestor().close(); |
- if (shellValue) |
- shell().close(); |
- bridge.quit(); |
- } |
- |
var exports = {}; |
- exports.requestor = requestor; |
- exports.shell = shell; |
- exports.quit = quit; |
+ exports.ServiceProvider = ServiceProvider; |
return exports; |
}); |