| // 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_ |