#ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_VIEW_MANAGER_CLIENT_FACTORY_H_
#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_VIEW_MANAGER_CLIENT_FACTORY_H_
+#include "base/memory/scoped_ptr.h"
#include "mojo/public/cpp/application/interface_factory.h"
#include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
class ViewManagerClientFactory : public InterfaceFactory<ViewManagerClient> {
public:
ViewManagerClientFactory(Shell* shell, ViewManagerDelegate* delegate);
- virtual ~ViewManagerClientFactory();
+ ~ViewManagerClientFactory() override;
+
+ // Creates a ViewManagerClient from the supplied arguments.
+ static scoped_ptr<ViewManagerClient> WeakBindViewManagerToPipe(
+ ScopedMessagePipeHandle handle,
+ Shell* shell,
+ ViewManagerDelegate* delegate);
// InterfaceFactory<ViewManagerClient> implementation.
- virtual void Create(ApplicationConnection* connection,
- InterfaceRequest<ViewManagerClient> request)
- MOJO_OVERRIDE;
+ void Create(ApplicationConnection* connection,
+ InterfaceRequest<ViewManagerClient> request) override;
private:
Shell* shell_;