// 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: [ "syslog/client.shard.cml" ],
    program: {
        runner: "elf",
        binary: "bin/sl4f",
    },
    use: [
        // TODO(https://fxbug.dev/98760): Remove once fixed.
        {
            directory: "minfs",
            rights: [ "rw*" ],
            path: "/data",
        },

        // TODO(https://fxbug.dev/98755): Remove once https://fxbug.dev/86575 is fixed.
        {
            directory: "tmp",
            rights: [ "rw*" ],
            path: "/tmp",
        },
        {
            directory: "hub",
            rights: [ "rw*" ],
            path: "/hub-v2",
        },
        {
            directory: "dev-temperature",
            rights: [ "r*" ],
            path: "/dev/class/temperature",
        },
        {
            protocol: [
                "fuchsia.bluetooth.avdtp.PeerManager",
                "fuchsia.bluetooth.avrcp.PeerManager",
                "fuchsia.bluetooth.bredr.Profile",
                "fuchsia.bluetooth.gatt.Server",
                "fuchsia.bluetooth.hfp.Hfp",
                "fuchsia.bluetooth.hfp.test.HfpTest",
                "fuchsia.bluetooth.le.Central",
                "fuchsia.bluetooth.le.Peripheral",
                "fuchsia.bluetooth.rfcomm.test.RfcommTest",
                "fuchsia.bluetooth.sys.Access",
                "fuchsia.bluetooth.sys.Configuration",
                "fuchsia.bluetooth.sys.HostWatcher",
                "fuchsia.buildinfo.Provider",
                "fuchsia.developer.tiles.Controller",
                "fuchsia.device.NameProvider",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.feedback.DataProvider",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hwinfo.Board",
                "fuchsia.hwinfo.Device",
                "fuchsia.hwinfo.Product",
                "fuchsia.input.injection.InputDeviceRegistry",
                "fuchsia.location.namedplace.RegulatoryRegionConfigurator",
                "fuchsia.location.position.EmergencyProvider",
                "fuchsia.lowpan.device.Lookup",
                "fuchsia.media.ProfileProvider",
                "fuchsia.media.sounds.Player",
                "fuchsia.memorypressure.Provider",
                "fuchsia.metricslogger.test.MetricsLogger",
                "fuchsia.net.interfaces.State",
                "fuchsia.net.name.Lookup",
                "fuchsia.paver.Paver",
                "fuchsia.posix.socket.Provider",
                "fuchsia.recovery.FactoryReset",
                "fuchsia.session.Launcher",
                "fuchsia.session.Restarter",
                "fuchsia.settings.Audio",
                "fuchsia.settings.Display",
                "fuchsia.settings.Input",
                "fuchsia.settings.Intl",
                "fuchsia.settings.Setup",
                "fuchsia.sys.Launcher",
                "fuchsia.sysmem.Allocator",
                "fuchsia.systemmetrics.test.SystemMetricsLogger",
                "fuchsia.test.audio.recording.AudioRecordingControl",
                "fuchsia.testing.proxy.TcpProxyControl",
                "fuchsia.testing.sl4f.FacadeProvider",
                "fuchsia.thermal.test.TemperatureLogger",
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.composition.Allocator",
                "fuchsia.ui.composition.ScreenCapture",
                "fuchsia.ui.input.InputDeviceRegistry",
                "fuchsia.ui.scenic.Scenic",
                "fuchsia.weave.FactoryDataManager",
                "fuchsia.weave.Stack",
                "fuchsia.web.ContextProvider",
                "fuchsia.wlan.device.service.DeviceMonitor",
                "fuchsia.wlan.device.service.DeviceService",
                "fuchsia.wlan.policy.AccessPointListener",
                "fuchsia.wlan.policy.AccessPointProvider",
                "fuchsia.wlan.policy.ClientListener",
                "fuchsia.wlan.policy.ClientProvider",
                "fuchsia.wlan.product.deprecatedconfiguration.DeprecatedConfigurator",
            ],
        },
        {
            // fxbug.dev/103037: only available in some product configurations
            protocol: [
                "fuchsia.factory.AlphaFactoryStoreProvider",
                "fuchsia.factory.CastCredentialsFactoryStoreProvider",
                "fuchsia.factory.MiscFactoryStoreProvider",
                "fuchsia.factory.PlayReadyFactoryStoreProvider",
                "fuchsia.factory.WeaveFactoryStoreProvider",
                "fuchsia.factory.WidevineFactoryStoreProvider",
            ],
            availability: "optional",
        },
    ],
    expose: [
        {
            protocol: "fuchsia.component.Binder",
            from: "framework",
            as: "sl4f.Binder",
        },
    ],
}
