Chromium Code Reviews| Index: services/gfx/compositor/compositor_app.h |
| diff --git a/services/gfx/compositor/compositor_app.h b/services/gfx/compositor/compositor_app.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c80c5d765eb189d8d2dc03587a35b7512056603b |
| --- /dev/null |
| +++ b/services/gfx/compositor/compositor_app.h |
| @@ -0,0 +1,51 @@ |
| +// Copyright 2015 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 SERVICES_GFX_COMPOSITOR_COMPOSITOR_APP_H_ |
| +#define SERVICES_GFX_COMPOSITOR_COMPOSITOR_APP_H_ |
| + |
| +#include <memory> |
| + |
| +#include "base/macros.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "mojo/common/strong_binding_set.h" |
| +#include "mojo/common/tracing_impl.h" |
| +#include "mojo/public/cpp/application/application_delegate.h" |
| +#include "mojo/services/gfx/composition/interfaces/compositor.mojom.h" |
| +#include "services/gfx/compositor/compositor_engine.h" |
| + |
| +namespace compositor { |
| + |
| +// Compositor application entry point. |
| +class CompositorApp |
| + : public mojo::ApplicationDelegate, |
| + public mojo::InterfaceFactory<mojo::gfx::composition::Compositor> { |
| + public: |
| + CompositorApp(); |
| + ~CompositorApp() override; |
| + |
| + private: |
| + // |ApplicationDelegate|: |
| + void Initialize(mojo::ApplicationImpl* app_impl) override; |
| + bool ConfigureIncomingConnection( |
| + mojo::ApplicationConnection* connection) override; |
| + |
| + // |InterfaceFactory<Compositor>|: |
| + void Create(mojo::ApplicationConnection* connection, |
| + mojo::InterfaceRequest<mojo::gfx::composition::Compositor> |
| + request) override; |
| + |
| + mojo::ApplicationImpl* app_impl_; |
|
mesch
2016/01/29 03:01:16
You can initialize this to nullptr inline if we sp
|
| + mojo::TracingImpl tracing_; |
| + |
| + mojo::StrongBindingSet<mojo::gfx::composition::Compositor> |
| + compositor_bindings_; |
| + std::unique_ptr<CompositorEngine> engine_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(CompositorApp); |
| +}; |
| + |
| +} // namespace compositor |
| + |
| +#endif // SERVICES_GFX_COMPOSITOR_COMPOSITOR_APP_H_ |