| // 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", |
| }, |
| ], |
| } |