blob: f0f10149420b43be176c5f782067a825189372b2 [file] [log] [blame]
// Copyright 2022 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: [ "syslog/client.shard.cml" ],
children: [
{
name: "a11y_manager",
url: "fuchsia-pkg://fuchsia.com/a11y-manager#meta/a11y-manager.cm",
startup: "eager",
},
{
name: "scene_manager",
url: "fuchsia-pkg://fuchsia.com/scene_manager#meta/scene_manager.cm",
startup: "eager",
},
{
name: "scenic",
url: "fuchsia-pkg://fuchsia.com/scenic#meta/scenic.cm",
},
{
// Centralized management of keyboard shortcuts.
name: "shortcut_manager",
url: "fuchsia-pkg://fuchsia.com/shortcut#meta/shortcut_manager.cm",
startup: "eager",
},
],
offer: [
{
protocol: [
"fuchsia.logger.LogSink",
"fuchsia.tracing.provider.Registry",
],
from: "parent",
to: [
"#a11y_manager",
"#scene_manager",
"#scenic",
"#shortcut_manager",
],
},
{
directory: "config-data",
from: "parent",
to: "#scenic",
subdir: "scenic",
},
{
directory: "dev-display-controller",
from: "parent",
to: "#scenic",
},
{
directory: "dev-input-report",
from: "parent",
to: [ "#scene_manager" ],
},
{
storage: "tmp",
from: "parent",
to: "#scenic",
},
{
protocol: [
"fuchsia.settings.Keyboard",
"fuchsia.sysmem.Allocator",
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.input3.KeyEventInjector",
// Used by the input pipeline library to distribute focus.
"fuchsia.ui.keyboard.focus.Controller",
"fuchsia.vulkan.loader.Loader",
],
from: "parent",
to: [ "#scene_manager" ],
},
{
protocol: [
// Used by the input pipeline library to distribute focus.
"fuchsia.ui.shortcut.Manager",
],
from: "#shortcut_manager",
to: [ "#scene_manager" ],
},
{
protocol: [
"fuchsia.feedback.LastRebootInfoProvider",
"fuchsia.intl.PropertyProvider",
"fuchsia.settings.Accessibility",
],
from: "parent",
to: [ "#a11y_manager" ],
},
{
protocol: [
"fuchsia.ui.annotation.Registry",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.input.accessibility.PointerEventRegistry",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.scenic.Scenic",
],
from: "#scenic",
to: [ "#a11y_manager" ],
},
{
protocol: [ "fuchsia.ui.accessibility.view.Registry" ],
from: "#scene_manager",
to: [ "#a11y_manager" ],
},
{
protocol: [
// TODO(fxbug.dev/100268) Magnifier is only used by gfx, not
// flatland. Maybe we should split this manifest into
// gfx/flatland versions.
"fuchsia.accessibility.Magnifier",
"fuchsia.accessibility.scene.Provider",
],
from: "#a11y_manager",
to: [ "#scene_manager" ],
dependency: "weak",
},
{
protocol: [
"fuchsia.metrics.MetricEventLoggerFactory",
"fuchsia.scheduler.ProfileProvider",
"fuchsia.stash.Store",
"fuchsia.sysmem.Allocator",
"fuchsia.vulkan.loader.Loader",
],
from: "parent",
to: [ "#scenic" ],
},
{
protocol: [
"fuchsia.ui.composition.Allocator",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.composition.FlatlandDisplay",
// Used by the input pipeline library to distribute focus.
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.views.ViewRefInstalled",
],
from: "#scenic",
to: [ "#scene_manager" ],
},
{
protocol: [
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.scenic.Scenic",
],
from: "#scenic",
to: [ "#shortcut_manager" ],
},
],
expose: [
{
protocol: [
"fuchsia.input.injection.InputDeviceRegistry",
"fuchsia.session.scene.Manager",
],
from: "#scene_manager",
},
{
protocol: [
"fuchsia.accessibility.semantics.SemanticsManager",
"fuchsia.accessibility.tts.EngineRegistry",
"fuchsia.accessibility.tts.TtsManager",
],
from: "#a11y_manager",
},
{
protocol: [
"fuchsia.ui.shortcut.Manager",
"fuchsia.ui.shortcut.Registry",
],
from: "#shortcut_manager",
},
{
protocol: [
"fuchsia.ui.composition.Allocator",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.composition.ScreenCapture",
"fuchsia.ui.display.internal.DisplayPower",
"fuchsia.ui.display.singleton.Info",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.input.PointerCaptureListenerRegistry",
"fuchsia.ui.lifecycle.LifecycleController",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.views.ViewRefInstalled",
],
from: "#scenic",
},
],
}