Index: content/browser/mojo/mojo_application_host.h |
diff --git a/content/browser/mojo/mojo_application_host.h b/content/browser/mojo/mojo_application_host.h |
index f5913269d727aad6f945e5a379428e52b944a0ca..ae571045bd68c47f23f9623445683eb1a555f5a7 100644 |
--- a/content/browser/mojo/mojo_application_host.h |
+++ b/content/browser/mojo/mojo_application_host.h |
@@ -6,9 +6,9 @@ |
#define CONTENT_BROWSER_MOJO_MOJO_APPLICATION_HOST_H_ |
#include "base/process/process_handle.h" |
+#include "content/common/mojo/service_registry_impl.h" |
#include "mojo/embedder/channel_init.h" |
#include "mojo/embedder/scoped_platform_handle.h" |
-#include "mojo/public/interfaces/service_provider/service_provider.mojom.h" |
namespace IPC { |
class Sender; |
@@ -19,49 +19,31 @@ namespace content { |
// MojoApplicationHost represents the code needed on the browser side to setup |
// a child process as a Mojo application via Chrome IPC. The child process |
// should use MojoApplication to handle messages generated by an instance of |
-// MojoApplicationHost. MojoApplicationHost makes the mojo::ShellClient |
-// interface available so that child-provided services can be invoked. |
+// MojoApplicationHost. MojoApplicationHost makes the ServiceRegistry interface |
+// available so that child-provided services can be invoked. |
class MojoApplicationHost { |
public: |
MojoApplicationHost(); |
virtual ~MojoApplicationHost(); |
// Two-phase initialization: |
- // 1- Init makes the shell_client() available synchronously. |
+ // 1- Init makes service_registry() available synchronously. |
// 2- Activate establishes the actual connection to the peer process. |
bool Init(); |
bool Activate(IPC::Sender* sender, base::ProcessHandle process_handle); |
bool did_activate() const { return did_activate_; } |
- mojo::ServiceProvider* service_provider() { |
- DCHECK(child_service_provider_.get()); |
- return child_service_provider_->client(); |
- } |
+ ServiceRegistry* service_registry() { return &service_registry_; } |
private: |
- class ServiceProviderImpl |
- : public mojo::InterfaceImpl<mojo::ServiceProvider> { |
- public: |
- virtual void OnConnectionError() OVERRIDE { |
- // TODO(darin): How should we handle this error? |
- } |
- |
- // mojo::ServiceProvider methods: |
- virtual void ConnectToService( |
- const mojo::String& service_url, |
- const mojo::String& service_name, |
- mojo::ScopedMessagePipeHandle handle, |
- const mojo::String& requestor_url) OVERRIDE; |
- }; |
- |
mojo::embedder::ChannelInit channel_init_; |
mojo::embedder::ScopedPlatformHandle client_handle_; |
- scoped_ptr<ServiceProviderImpl> child_service_provider_; |
- |
bool did_activate_; |
+ ServiceRegistryImpl service_registry_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MojoApplicationHost); |
}; |