#ifndef CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_MOJO_IMPL_H_
#define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_MOJO_IMPL_H_
#include "base/memory/scoped_ptr.h"
#include "base/process/process_handle.h"
#include "content/common/mojo/render_process.mojom.h"
#include "mojo/public/cpp/bindings/remote_ptr.h"
namespace content {
class MojoChannelInit;
class RenderProcessHost;
class RenderProcessHostMojoImpl : public RenderProcessHostMojo {
public:
explicit RenderProcessHostMojoImpl(RenderProcessHost* host);
virtual ~RenderProcessHostMojoImpl();
void SetWebUIHandle(int32 view_routing_id,
mojo::ScopedMessagePipeHandle handle);
void OnProcessLaunched();
private:
struct PendingHandle;
void CreateMojoChannel(base::ProcessHandle process_handle);
RenderProcessHost* host_;
scoped_ptr<MojoChannelInit> mojo_channel_init_;
mojo::RemotePtr<content::RenderProcessMojo> render_process_mojo_;
scoped_ptr<PendingHandle> pending_handle_;
DISALLOW_COPY_AND_ASSIGN(RenderProcessHostMojoImpl);
};
}
#endif