Index: mojo/public/cpp/application/lib/service_provider_impl.cc |
diff --git a/mojo/public/cpp/application/lib/service_provider_impl.cc b/mojo/public/cpp/application/lib/service_provider_impl.cc |
index 08a06484877cfaa93f9e8c9cf91afa6c0ca37222..db5571050bf3d4e35ec44ffb31973be42689851c 100644 |
--- a/mojo/public/cpp/application/lib/service_provider_impl.cc |
+++ b/mojo/public/cpp/application/lib/service_provider_impl.cc |
@@ -5,22 +5,23 @@ |
#include "mojo/public/cpp/application/service_provider_impl.h" |
#include "mojo/public/cpp/application/lib/service_connector.h" |
-#include "mojo/public/cpp/application/lib/weak_service_provider.h" |
#include "mojo/public/cpp/environment/logging.h" |
namespace mojo { |
-ServiceProviderImpl::ServiceProviderImpl() : remote_(nullptr) { |
+ServiceProviderImpl::ServiceProviderImpl() : binding_(this) { |
+} |
+ |
+ServiceProviderImpl::ServiceProviderImpl( |
+ InterfaceRequest<ServiceProvider> request) |
+ : binding_(this, request.Pass()) { |
} |
ServiceProviderImpl::~ServiceProviderImpl() { |
} |
-ServiceProvider* ServiceProviderImpl::CreateRemoteServiceProvider() { |
- // TODO(beng): it sure would be nice if this method could return a scoped_ptr. |
- MOJO_DCHECK(!remote_); |
- remote_ = new internal::WeakServiceProvider(this, client()); |
- return remote_; |
+void ServiceProviderImpl::Bind(InterfaceRequest<ServiceProvider> request) { |
+ binding_.Bind(request.Pass()); |
} |
void ServiceProviderImpl::ConnectToService( |
@@ -37,10 +38,6 @@ void ServiceProviderImpl::ConnectToService( |
client_handle.Pass()); |
} |
-void ServiceProviderImpl::OnConnectionError() { |
- ClearRemote(); |
-} |
- |
void ServiceProviderImpl::AddServiceConnector( |
internal::ServiceConnectorBase* service_connector) { |
RemoveServiceConnector(service_connector); |
@@ -59,11 +56,4 @@ void ServiceProviderImpl::RemoveServiceConnector( |
service_connectors_.erase(it); |
} |
-void ServiceProviderImpl::ClearRemote() { |
- if (remote_) { |
- remote_->Clear(); |
- remote_ = nullptr; |
- } |
-} |
- |
} // namespace mojo |