Index: mojo/public/js/associated_bindings.js |
diff --git a/mojo/public/js/associated_bindings.js b/mojo/public/js/associated_bindings.js |
index 18ac452daf599c11d1a3e8db0ed0e78a90a0a7ac..5812e61e5931324b81cd72c5b2c9a8b0449ab8b7 100644 |
--- a/mojo/public/js/associated_bindings.js |
+++ b/mojo/public/js/associated_bindings.js |
@@ -3,11 +3,13 @@ |
// found in the LICENSE file. |
define("mojo/public/js/associated_bindings", [ |
+ "mojo/public/js/bindings", |
"mojo/public/js/core", |
"mojo/public/js/interface_types", |
"mojo/public/js/lib/interface_endpoint_client", |
"mojo/public/js/lib/interface_endpoint_handle", |
-], function(core, types, interfaceEndpointClient, interfaceEndpointHandle) { |
+], function(bindings, core, types, interfaceEndpointClient, |
+ interfaceEndpointHandle) { |
var InterfaceEndpointClient = interfaceEndpointClient.InterfaceEndpointClient; |
@@ -230,12 +232,52 @@ define("mojo/public/js/associated_bindings", [ |
return result; |
}; |
+ // --------------------------------------------------------------------------- |
+ |
+ function AssociatedBindingSetEntry(associatedBindingSet, interfaceType, impl, |
yzshen1
2017/04/27 17:28:38
For function definition, please either fit all par
wangjimmy
2017/04/27 20:26:49
Done.
|
+ associatedInterfaceRequest, bindingId) { |
+ this.associatedBindingSet_ = associatedBindingSet; |
+ this.bindingId_ = bindingId; |
+ this.associatedBinding_ = new AssociatedBinding(interfaceType, impl, |
+ associatedInterfaceRequest); |
+ |
+ this.associatedBinding_.setConnectionErrorHandler(function(reason) { |
+ this.associatedBindingSet_.onConnectionError(bindingId, reason); |
+ }.bind(this)); |
+ } |
+ |
+ AssociatedBindingSetEntry.prototype.close = function() { |
+ this.associatedBinding_.close(); |
+ }; |
+ |
+ function AssociatedBindingSet(interfaceType) { |
+ this.interfaceType_ = interfaceType; |
+ this.nextBindingId_ = 0; |
+ this.bindings_ = new Map(); |
+ this.errorHandler_ = null; |
+ } |
+ |
+ AssociatedBindingSet.prototype = Object.create( |
+ bindings.BindingSet.prototype); |
+ |
+ AssociatedBindingSet.prototype.addBinding = function(impl, |
yzshen1
2017/04/27 17:28:38
Could we design BindingSetBase/BindingSetEntry to
wangjimmy
2017/04/27 20:26:49
Done.
|
+ associatedInterfaceRequest) { |
+ this.bindings_.set( |
+ this.nextBindingId_, |
+ new AssociatedBindingSetEntry(this, this.interfaceType_, impl, |
+ associatedInterfaceRequest, this.nextBindingId_)); |
+ ++this.nextBindingId_; |
+ }; |
+ |
+ AssociatedBindingSet.prototype.constructor = AssociatedBindingSet; |
+ |
var exports = {}; |
exports.AssociatedInterfacePtrInfo = types.AssociatedInterfacePtrInfo; |
exports.AssociatedInterfaceRequest = types.AssociatedInterfaceRequest; |
exports.makeRequest = makeRequest; |
exports.AssociatedInterfacePtrController = AssociatedInterfacePtrController; |
exports.AssociatedBinding = AssociatedBinding; |
+ exports.AssociatedBindingSet = AssociatedBindingSet; |
return exports; |
}); |