blob: d852d0c52ba65525e4967cd099dcd701cec74c20 [file] [log] [blame]
// Copyright 2018 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/a11y/a11y_manager/app.h"
namespace a11y_manager {
App::App()
: startup_context_(sys::ComponentContext::Create()),
a11y_manager_(std::make_unique<ManagerImpl>()),
settings_manager_impl_(std::make_unique<SettingsManagerImpl>()),
semantics_manager_impl_(std::make_unique<SemanticsManagerImpl>()) {
startup_context_->outgoing()
->AddPublicService<fuchsia::accessibility::Manager>(
[this](
fidl::InterfaceRequest<fuchsia::accessibility::Manager> request) {
a11y_manager_->AddBinding(std::move(request));
});
startup_context_->outgoing()
->AddPublicService<fuchsia::accessibility::SettingsManager>(
[this](fidl::InterfaceRequest<fuchsia::accessibility::SettingsManager>
request) {
settings_manager_impl_->AddBinding(std::move(request));
});
semantics_manager_impl_->SetDebugDirectory(
startup_context_->outgoing()->debug_dir());
startup_context_->outgoing()
->AddPublicService<fuchsia::accessibility::semantics::SemanticsManager>(
[this](fidl::InterfaceRequest<
fuchsia::accessibility::semantics::SemanticsManager>
request) {
semantics_manager_impl_->AddBinding(std::move(request));
});
}
} // namespace a11y_manager