// Copyright 2021 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/diagnostics/inspect/client.shard.cml",
        "//sdk/lib/diagnostics/syslog/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/basemgr",
    },
    capabilities: [
        {
            protocol: [
                "fuchsia.modular.Lifecycle",
                "fuchsia.modular.session.Launcher",
                "fuchsia.process.lifecycle.Lifecycle",
            ],
        },
    ],
    use: [
        {
            protocol: "fuchsia.sys2.Realm",
            from: "framework",
        },
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.sys.Launcher",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.policy.Presenter",
            ],
            from: "parent",
        },
        {
            storage: "cache",
            path: "/cache",
        },
        {
            storage: "data",
            path: "/data",
        },
        {
            directory: "config-data",
            from: "parent",
            rights: [ "r*" ],
            path: "/config/data",
        },
    ],
    expose: [
        {
            protocol: [ "fuchsia.modular.session.Launcher" ],
            from: "self",
        },
    ],
}
