blob: c65424e10403cdfe27ff2acfafb1ae2c10ad0202 [file] [log] [blame]
// Copyright 2022 The Chromium OS 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 RGBKBD_RGB_KEYBOARD_H_
#define RGBKBD_RGB_KEYBOARD_H_
#include <dbus/rgbkbd/dbus-constants.h>
namespace rgbkbd {
// Base interface class that exposes the API to interact with the keyboard's RGB
// service.
class RgbKeyboard {
public:
RgbKeyboard() = default;
virtual ~RgbKeyboard() = default;
virtual bool SetKeyColor(uint32_t key, uint8_t r, uint8_t g, uint8_t b) = 0;
virtual bool SetAllKeyColors(uint8_t r, uint8_t g, uint8_t b) = 0;
virtual RgbKeyboardCapabilities GetRgbKeyboardCapabilities() = 0;
};
} // namespace rgbkbd
#endif // RGBKBD_RGB_KEYBOARD_H_