| Index: mojo/application/public/cpp/lib/service_registry.h
|
| diff --git a/mojo/application/public/cpp/lib/service_registry.h b/mojo/application/public/cpp/lib/service_registry.h
|
| index c34ecede1b8f2654efcf5049d419f9585a908b90..7e4d604d6861e0981780d476679e839309737264 100644
|
| --- a/mojo/application/public/cpp/lib/service_registry.h
|
| +++ b/mojo/application/public/cpp/lib/service_registry.h
|
| @@ -13,10 +13,6 @@
|
| #include "mojo/application/public/interfaces/service_provider.mojom.h"
|
|
|
| namespace mojo {
|
| -
|
| -class Application;
|
| -class ApplicationImpl;
|
| -
|
| namespace internal {
|
|
|
| // A ServiceRegistry represents each half of a connection between two
|
| @@ -28,12 +24,12 @@ class ServiceRegistry : public ServiceProvider, public ApplicationConnection {
|
| // |allowed_interfaces| are the set of interfaces that the shell has allowed
|
| // an application to expose to another application. If this set contains only
|
| // the string value "*" all interfaces may be exposed.
|
| - ServiceRegistry(ApplicationImpl* application_impl,
|
| - const std::string& connection_url,
|
| + ServiceRegistry(const std::string& connection_url,
|
| const std::string& remote_url,
|
| ServiceProviderPtr remote_services,
|
| InterfaceRequest<ServiceProvider> local_services,
|
| const std::set<std::string>& allowed_interfaces);
|
| + ~ServiceRegistry() override;
|
|
|
| // ApplicationConnection overrides.
|
| void SetServiceConnector(ServiceConnector* service_connector) override;
|
| @@ -45,20 +41,15 @@ class ServiceRegistry : public ServiceProvider, public ApplicationConnection {
|
| ServiceProvider* GetLocalServiceProvider() override;
|
| void SetRemoteServiceProviderConnectionErrorHandler(
|
| const Closure& handler) override;
|
| + base::WeakPtr<ApplicationConnection> GetWeakPtr() override;
|
|
|
| void RemoveServiceConnectorForName(const std::string& interface_name);
|
|
|
| private:
|
| - ~ServiceRegistry() override;
|
| -
|
| - // ApplicationConnection overrides.
|
| - void OnCloseConnection() override;
|
| -
|
| // ServiceProvider method.
|
| void ConnectToService(const mojo::String& service_name,
|
| ScopedMessagePipeHandle client_handle) override;
|
|
|
| - ApplicationImpl* application_impl_;
|
| const std::string connection_url_;
|
| const std::string remote_url_;
|
| Binding<ServiceProvider> local_binding_;
|
| @@ -66,6 +57,7 @@ class ServiceRegistry : public ServiceProvider, public ApplicationConnection {
|
| ServiceConnectorRegistry service_connector_registry_;
|
| const std::set<std::string> allowed_interfaces_;
|
| const bool allow_all_interfaces_;
|
| + base::WeakPtrFactory<ApplicationConnection> weak_factory_;
|
|
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(ServiceRegistry);
|
| };
|
|
|