| // Copyright 2015 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "garnet/bin/ui/view_manager/view_manager_app.h" |
| |
| #include "garnet/bin/ui/view_manager/view_manager_impl.h" |
| #include "garnet/bin/ui/view_manager/view_snapshot_impl.h" |
| #include "lib/fxl/logging.h" |
| |
| namespace view_manager { |
| |
| ViewManagerApp::ViewManagerApp() |
| : startup_context_(component::StartupContext::CreateFromStartupInfo()) { |
| FXL_DCHECK(startup_context_); |
| |
| registry_.reset(new ViewRegistry(startup_context_.get())); |
| |
| startup_context_->outgoing() |
| .AddPublicService<::fuchsia::ui::viewsv1::ViewManager>( |
| [this](fidl::InterfaceRequest<::fuchsia::ui::viewsv1::ViewManager> |
| request) { |
| view_manager_bindings_.AddBinding( |
| std::make_unique<ViewManagerImpl>(registry_.get()), |
| std::move(request)); |
| }); |
| startup_context_->outgoing() |
| .AddPublicService<::fuchsia::ui::viewsv1::ViewSnapshot>( |
| [this](fidl::InterfaceRequest<::fuchsia::ui::viewsv1::ViewSnapshot> |
| request) { |
| view_snapshot_bindings_.AddBinding( |
| std::make_unique<ViewSnapshotImpl>(registry_.get()), |
| std::move(request)); |
| }); |
| } |
| |
| ViewManagerApp::~ViewManagerApp() {} |
| |
| } // namespace view_manager |