blob: f73e32beb57ebfc1ec64e2033194b0532d4fa420 [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.
// This shard includes the portion of the scene manager layer that is
// common across all production ui realms that include scene manager, but
// differs from test ui realms.
//
// Production ui realms should include this shard directly.
//
// This shard should include:
//
// (1) Scene manager's child declaration. Note that other shards assume the name
// "scene_manager".
// (2) Capability routes to scene manager that are the same for all production ui
// realms in which scene manager is present, but differ in test realms.
//
// This shard should **NOT** include:
//
// (1) Routes that are common to all production and test ui realms; these
// routes belong in scene_manager_base_routes.shard.cml.
// (2) Routes to scene manager that differ among production ui realms.
// (3) Routes **FROM** scene manager to other components in the ui realm; these
// routes belong in the target components' routing shards.
{
include: [ "//src/ui/meta/scene_manager_base_routes.shard.cml" ],
children: [
{
name: "scene_manager",
url: "fuchsia-pkg://fuchsia.com/scene_manager#meta/scene_manager.cm",
},
{
name: "sensor-config",
url: "fuchsia-pkg://fuchsia.com/sensor-config#meta/sensor-config.cm",
},
],
offer: [
{
directory: "sensor-config",
from: "#sensor-config",
to: [ "#scene_manager" ],
rights: [ "r*" ],
},
{
directory: "config-data",
from: "parent",
to: [ "#scene_manager" ],
subdir: "scene_manager",
},
{
// TODO(https://fxbug.dev/324273348): Remove this capability once the clients have
// been migrated to services. The service capability has been added below.
directory: "dev-input-report",
from: "parent",
to: [ "#scene_manager" ],
},
{
// This service replaces the directory capability above.
service: "fuchsia.input.report.Service",
from: "parent",
to: [ "#scene_manager" ],
},
{
protocol: [
"fuchsia.recovery.FactoryReset",
"fuchsia.settings.Keyboard",
],
from: "parent",
to: [ "#scene_manager" ],
},
{
protocol: [
"fuchsia.accessibility.ColorTransform",
// TODO(https://fxbug.dev/42050963) Magnifier is only used by gfx, not
// flatland. Remove when gfx is gone.
"fuchsia.accessibility.Magnifier",
"fuchsia.accessibility.scene.Provider",
],
from: "#a11y_manager",
to: [ "#scene_manager" ],
dependency: "weak",
},
{
dictionary: "diagnostics",
from: "parent",
to: [
"#scene_manager",
"#sensor-config",
],
},
{
protocol: [
"fuchsia.metrics.MetricEventLoggerFactory",
"fuchsia.scheduler.RoleManager",
],
from: "parent",
to: [ "#scene_manager" ],
},
{
config: [
"fuchsia.power.SuspendEnabled",
"fuchsia.scenic.DisplayRotation",
"fuchsia.ui.AttachA11yView",
"fuchsia.ui.DisplayPixelDensity",
"fuchsia.ui.EnableButtonBatonPassing",
"fuchsia.ui.EnableMouseBatonPassing",
"fuchsia.ui.EnableTouchBatonPassing",
"fuchsia.ui.IdleThresholdMs",
"fuchsia.ui.SupportedInputDevices",
"fuchsia.ui.ViewingDistance",
],
from: "parent",
to: [ "#scene_manager" ],
},
// Routes below may only be present on certain products.
// We communicate this expectation to component framework
// with the `source_availability: "unknown"` attribute.
{
protocol: [ "fuchsia.power.system.ActivityGovernor" ],
from: "parent",
to: "#scene_manager",
source_availability: "unknown",
availability: "optional",
},
],
expose: [
{
protocol: "fuchsia.element.GraphicalPresenter",
from: "#scene_manager",
},
],
}