// 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: [
        "//sdk/lib/inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/scene_manager",
    },
    children: [
        {
            name: "cursor",
            url: "fuchsia-pkg://fuchsia.com/cursor#meta/cursor.cm",
        },
    ],
    capabilities: [
        {
            protocol: [
                "fuchsia.input.injection.InputDeviceRegistry",
                "fuchsia.session.scene.Manager",
                "fuchsia.ui.accessibility.view.Registry",
                "fuchsia.ui.input.config.Features",
            ],
        },
    ],
    use: [
        {
            directory: "dev-input-report",
            from: "parent",
            rights: [ "r*" ],
            path: "/dev/class/input-report",
        },
        {
            protocol: [
                // Used to register with the a11y service as the magnification handler.
                "fuchsia.accessibility.Magnifier",

                // Used by the input pipeline library which is linked into the
                // scene manager.
                "fuchsia.accessibility.scene.Provider",
                "fuchsia.settings.Keyboard",
                "fuchsia.ui.composition.Flatland",
                "fuchsia.ui.composition.FlatlandDisplay",

                // Used by the input pipeline library to distribute focus.
                "fuchsia.ui.focus.FocusChainListenerRegistry",
                "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.ui.pointerinjector.Registry",
                "fuchsia.ui.scenic.Scenic",

                // Used by the input pipeline library to distribute focus.
                "fuchsia.ui.shortcut.Manager",
                "fuchsia.ui.views.ViewRefInstalled",
            ],
        },
        {
            protocol: "fuchsia.ui.app.ViewProvider",
            from: "#cursor",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.logger.LogSink",
                "fuchsia.sysmem.Allocator",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.composition.Allocator",
                "fuchsia.ui.composition.Flatland",
                "fuchsia.ui.scenic.Scenic",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: [ "#cursor" ],
        },
    ],
    expose: [
        {
            protocol: [
                "fuchsia.input.injection.InputDeviceRegistry",
                "fuchsia.session.scene.Manager",
                "fuchsia.ui.accessibility.view.Registry",
                "fuchsia.ui.input.config.Features",
            ],
            from: "self",
        },
    ],
}
