// 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: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "driver",
        binary: "driver/usb-cdc-function.so",
        bind: "meta/bind/usb-cdc-function.bindbc",
        colocate: "true",
        default_dispatcher_opts: [ "allow_sync_calls" ],
        fallback: "false",
    },
    capabilities: [
        { service: "fuchsia.driver.compat.Service" },
    ],
    use: [
        { service: "fuchsia.hardware.usb.function.UsbFunctionService" },
        { protocol: "fuchsia.hardware.usb.endpoint.Endpoint" },
        { service: "fuchsia.boot.metadata.MacAddressMetadata" },
        { service: "fuchsia.driver.compat.Service" },
    ],
    expose: [
        {
            service: "fuchsia.driver.compat.Service",
            from: "self",
        },
    ],
}
