// 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 file was generated by the `fx create` command. The template
// is located at `//tools/create/templates/component-default/meta/{{snake_case PROJECT_NAME}}.cml.tmpl-rust`.
// If you find something broken, we are eager to review fixes.

// fastboot-usb component manifest.
// For information on manifest format and features,
// see https://fuchsia.dev/fuchsia-src/concepts/components/component_manifests.
{
    include: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],

    // Information about the program to run.
    program: {
        // Use the built-in ELF runner.
        runner: "elf",

        // The binary to run for this component.
        binary: "bin/fastboot-usb",
    },

    // Capabilities used by this component.
    use: [
        {
            protocol: [
                "fuchsia.buildinfo.Provider",
                "fuchsia.fshost.Admin",
                "fuchsia.fshost.BlockWatcher",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.paver.Paver",
            ],
        },
        {
            directory: "dev-class-fastboot",
            rights: [ "r*" ],
            path: "/dev/class/fastboot",
        },
    ],
}
