// Copyright 2023 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/driver/compat/compat.shard.cml",
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "driver",
        bind: "meta/bind/usb-peripheral.bindbc",
        colocate: "true",
        compat: "driver/usb-peripheral.so",
        default_dispatcher_opts: [ "allow_sync_calls" ],
        fallback: "false",
    },
    capabilities: [
        { service: "fuchsia.hardware.usb.function.UsbFunctionService" },
    ],
    use: [
        { service: "fuchsia.hardware.usb.dci.UsbDciService" },
        {
            availability: "transitional",
            config: "fuchsia.usb.PeripheralConfig.Functions",
            key: "functions",
            type: "vector",
            max_count: 8,
            element: {
                type: "string",
                max_size: 32,
            },
        },
    ],
    expose: [
        {
            service: "fuchsia.hardware.usb.function.UsbFunctionService",
            from: "self",
        },
    ],
    config: {
        functions: {
            type: "vector",
            max_count: 8,
            element: {
                type: "string",
                max_size: 32,
            },
        },
    },
}
