blob: bd8ff5a7616afae1ff126671c8f0cb5c25587478 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_
#define MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_
#include "base/memory/scoped_ptr.h"
#include "mojo/examples/sample_app/gles2_client_impl.h"
#include "mojo/public/bindings/lib/remote_ptr.h"
#include "mojom/native_viewport.h"
namespace mojo {
namespace examples {
class NativeViewportClientImpl : public NativeViewportClientStub {
public:
explicit NativeViewportClientImpl(ScopedMessagePipeHandle pipe);
virtual ~NativeViewportClientImpl();
void Open();
private:
virtual void OnCreated() MOJO_OVERRIDE;
virtual void OnDestroyed() MOJO_OVERRIDE;
virtual void OnEvent(const Event& event) MOJO_OVERRIDE;
scoped_ptr<GLES2ClientImpl> gles2_client_;
RemotePtr<NativeViewport> service_;
MOJO_DISALLOW_COPY_AND_ASSIGN(NativeViewportClientImpl);
};
} // namespace examples
} // namespace mojo
#endif // MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_