| 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
|
|
|