// 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: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/power_manager",
        main_process_critical: "true",
    },
    capabilities: [
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.power.clientlevel.Connector",
                "fuchsia.power.manager.DriverManagerRegistration",
                "fuchsia.power.profile.Watcher",
                "fuchsia.power.systemmode.ClientConfigurator",
                "fuchsia.power.systemmode.Requester",
                "fuchsia.thermal.ClientStateConnector",
            ],
        },
    ],
    use: [
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.device.manager.Administrator",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.kernel.CpuResource",
                "fuchsia.kernel.Stats",
                "fuchsia.settings.Input",
                "fuchsia.sys2.SystemController",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.activity.Provider",
            ],
        },
    ],
    expose: [
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.power.clientlevel.Connector",
                "fuchsia.power.manager.DriverManagerRegistration",
                "fuchsia.power.profile.Watcher",
                "fuchsia.power.systemmode.ClientConfigurator",
                "fuchsia.power.systemmode.Requester",
                "fuchsia.thermal.ClientStateConnector",
            ],
            from: "self",
        },
    ],
}
