blob: 56d5551424d535cbaa9ed82d5fda9f72914a8995 [file] [log] [blame]
// 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.
#ifndef FUCHSIA_DRIVERS_MISC_GOOGLE_BACKLIGHT_SRC_BACKLIGHT_MANAGER_H_
#define FUCHSIA_DRIVERS_MISC_GOOGLE_BACKLIGHT_SRC_BACKLIGHT_MANAGER_H_
#include <fidl/fuchsia.hardware.acpi/cpp/wire.h>
#include <lib/driver/logging/cpp/logger.h>
namespace backlight_driver {
constexpr std::string_view kLedRead = "KBQC";
constexpr std::string_view kLedWrite = "KBCM";
class BacklightManager {
public:
BacklightManager(fdf::Logger* logger,
fidl::ClientEnd<fuchsia_hardware_acpi::Device> acpi_client)
: logger_(logger), acpi_device_client_(std::move(acpi_client)) {}
~BacklightManager() = default;
zx::result<> SetBacklight(uint64_t value);
zx::result<uint64_t> GetBacklight();
private:
fdf::Logger* logger_;
fidl::WireSyncClient<fuchsia_hardware_acpi::Device> acpi_device_client_;
};
} // namespace backlight_driver
#endif // FUCHSIA_DRIVERS_MISC_GOOGLE_BACKLIGHT_SRC_BACKLIGHT_MANAGER_H_